Theを使用すると、Metatraderはブローカの時刻ではなくローカル(コンピュータ)時刻を使用しているようです。
誰でもこれを確認できますか?
そのとおりです。あなたの文字列が時間だけを提供するものの、日付がない場合は、コンピュータのシステム時計に設定された日付が入力されます。Originally Posted by ;
私が意味するものではありません。あなたは私のTradingTimeコードのいくつかがその文字列関数を使用していることを知っています。私は、取引時間を分単位で設定するのが最善の方法を理解しようとしています。
漠然としている。あなたがしたいことのいくつかのコードを投稿することができれば最高です。私は数年前にこの文字列を時間変換問題に遭遇しました。Originally Posted by ;
挿入されたコード文字列TradingTimes =取引時間外; if(TimeCurrent()gt; StrToTime(10:00)TimeCurrent()lt; StoToTime(20:00))TradingTimes =トレーディングタイムの内部。 StrToTime関数はブローカー時間とは対照的にローカルコンピューター時間を使用しているようですので、時にはこの取引時間の問題が正しく機能しないことがあります。トレーディングレンジの分をどのようにドリルダウンすることができますか?
ああ..あなたが望むのは、EAが特定の時間枠内でのみ取引する簡単な方法です。しかし、あなたの問題に答える。私はこのような何かをする:int TimeShift = TimeCurrent() - TimeLocal(); (TimeCurrent() - TimeShift gt; StrToTime(10:00)TimeCurrent() - TimeShift lt; StrToTime(20:00))。私のメソッドを提供するために、私は単にTimeCurrent()の代わりにTimeLocal()を使用します。このように、コードはブローカーに依存しません:if(TimeLocal()gt; StrToTime(10:00)TimeLocal()lt; StrToTime(20:00))TradingTimes = Inside Trading Time;
しかし、実際にTimeCurrent()を使用することを強くお勧めする場合、私はこれに適したものをお勧めします:if(TimeCurrent()gt; StrToTime(TimeToStr(TimeCurrent()、TIME_DATE) 10:00)TimeCurrent()lt; StrToTime(TimeToStr ()、TIME_DATE) 20:00))TradingTimes =トレーディングタイムの内部;これにより、StrToTimeに時間を変換する有効な日付が含まれるようになります。
これはどう?挿入されたコード// --------------------------------------------- --------------------- /| test.mq4 |/| Copyright©2009、MetaQuotes Software Corp. |/| http://www.metaquotes.net |/ ----------------------------------------------- ------------------- #property copyright Copyright©2009、MetaQuotes Software Corp. #property link http://www.metaquotes.net/入力の変更に注意してくださいタイプextern int StartHour = 0; extern int StartMinute = 30; extern int EndHour = 3; extern int EndMinute = 30; int init(){start();コードにスニペットを実装するときにこれを削除します。 return(0); }/ ---------------------------------------------- -------------------- /|カスタムインジケータ反復関数|/ ----------------------------------------------- ------------------- int start(){//終了時間シフトの検索int endTimeShift = 0; bool EndTimeFound = false; (Time#91; EndTimeShift#93;)== EndHour TimeMinute(時間#91; EndTimeShift#93;)==あなたは、 EndMinute){EndTimeFound = true; } else {EndTimeShift ; }}/終了時刻の前に最新の開始時刻を見つけるint StartTimeShift = EndTimeShift; bool StartTimeFound = False; startTimeFound = true; StartTimeFound = true; StartTimeFound = true; StartTimeFound = true; StartTimeFound = true; StartTimeFound = true; StartTimeFound = true; } else {StartTimeShift ; }}コメント(StartTimeShift: StartTimeShift nEndTimeShift: EndTimeShift); }これを使用するには、分値は時間枠が提供できるものでなければなりません。つまり、分を30に設定した場合、これを時間別のグラフに添付します。時系列チャートのすべてのキャンドルは分値として0しかないので、無限ループに陥ることになります。おそらく、この制限を回避する方法を考え出すことができます。幸運の最高。禅について