Strategy Testerでのテストに使用できるMT4のSleep()コードに代わるものはありますか?
MT4のドキュメントによれば、Sleep()関数は、Strategy TesterでExpert Advisorの実行を中断しません。
私は、X時間の間、大きなTPの後に取引を中断すると、EAテスト結果のパフォーマンスがどのように変化するかを見たいと思います。
テストするためにこれを実装する方法に関するアイデア?
Strategy Testerでのテストに使用できるMT4のSleep()コードに代わるものはありますか?
MT4のドキュメントによれば、Sleep()関数は、Strategy TesterでExpert Advisorの実行を中断しません。
私は、X時間の間、大きなTPの後に取引を中断すると、EAテスト結果のパフォーマンスがどのように変化するかを見たいと思います。
テストするためにこれを実装する方法に関するアイデア?
任意の回避策が評価されます。基本的に私はこのようなものを持っていました...テストモードでは何もしないことに気付くまで。私は、睡眠をシミュレートするか、一時停止または機能を一時停止するものが必要であり、テストモードでも動作します。私は、オープンポジションが最大利益レンジを超えた場合、すべてのオープントレードを終了する機能を持っています。私はXの時間のために将来の取引を中断することをテストしたいと思うし、テストモードでもそれを表示する必要がある。挿入されたコードvoid PipMaxCloseOut(){int totalorders = OrdersTotal(); (Printed(TimeToStr(TimeCurrent()、TIME_SECONDS))、CHECK関数gt;、__FUNCTION__、!!(int i = totalorders-1; igt; = 0; i--) !!!、OrderMagicNumber()、エラーコード=、GetLastError()); } else int result; if((OrdersTotal()gt; 0)(OrderMagicNumber()== Trade1L)){RefreshRates();取引(取引、MODE_BID)、取引(取引):、OrdersTotal());注文(注文)結果= OrderClose(OrderTicket()、OrderLots()、MarketInfo(Trade、MODE_BID)、MaxSlippage * 2、CLR_NONE); if(result lt; = -1){Print(PipMax終了時にTrade1Lを終了しようとしている間エラー!エラーコード#、GetLastError()); }} if((OrdersTotal()gt; 0)(OrderMagicNumber()== Trade1S)){RefreshRates();取引(取引、MODE_ASK)、取引のオープン:OrdersTotal());注文(取引、MODE_ASK)、注文:注文、注文PL:、OrderProfit()、注文:TimeInstStr(TimeCurrent()、TIME_SECONDS)結果= OrderClose(OrderTicket()、OrderLots()、MarketInfo(Trade、MODE_ASK)、MaxSlippage * 2、CLR_NONE); if(結果lt; = -1){Print(PipMax終了時に取引を終了しようとしている間にエラーが発生しました!エラーコード#、GetLastError()); }}}スリープ(MilliSecs); }
これはこれまで私がこれまで行ってきたことです。テストしています。残念ながら私が望んでいただけでなく、悪いよりも良い取引をフィルタリングしています...少なくとも今はテスト中です。後でそれを微調整してもよいし、単にそれを除去してもよい。 double TimeMicroSecNowを追加しました。 double TimeMicroSecAfterEQP; extern int MicroSecAfterEQP = 60000000; Sleepを次のように置き換えました。TimeMicroSecAfterEQP = GetMicrosecondCount();新しい取引の前に:TimeMicroSecNow = GetMicrosecondCount(); RefreshRates(); if(TimeMicroSecNow gt; TimeMicroSecAfterEQP MicroSecAfterEQP){TRADE; }