多くの人にとって興味深いトピック:MetaTrader 4とMQL4の新機能 - 大きな変更が控えています。 - ページ 56

 
MetaDriver:
隙間あり なるほど、でもテスターで滑りを確認するのはどうなんでしょう?
それぞれのTSには、それぞれのカスタムストーリーがあります。
 
Avals:
ティックデータテスターでスリッページを捕捉するには、ブローカーとクライアント間のデータ送信におおよその時間的な遅れ(ラグ)を設定する必要があります。各ティックには、それが発生した時刻がミリ秒単位で表示されるなど。テスターでは、成行注文を出した時間+ラグ>次のティックの時間であれば、新しいティックの価格で約定します。この方法では部分実行のシミュレーションができないことは明らかで、そこには流動性データが必要である。

はい、その通りです。

+ ニュースリリース 時のラグを大きくする(リアルで事前監視する)、といった時間的な指定も可能です。

 
Avals:

テスターでティックデータのスリッページを捕捉するためには、ブローカーとクライアントの間におおよそのタイムラグ(遅れ)を設定する必要があります。

MetaTrader 5Strategy TesterにRandom Delayモードがあることは誰でも知っています。MetaTrader 5Strategy TesterSettingsで ヘルプ

任意遅延

Arbitrary Delayモードは、Expert Advisorをほぼ現実的な環境でテストするためのものです。注文が送られてから実行されるまでの間、価格は変動する可能性があります。注文に設定された乖離幅に応じて、(乖離幅の範囲内であれば)現在値で約定するか、再注文することができます。このモードでのテストにより、エキスパートアドバイザーがそのような状況に対応できるように正しくプログラムすることができます。

ターミナルから送信されるすべての取引要求(注文の 発注、ストップレベルの 変更など)に対して、遅延が模倣されます。実行の遅延は、0から9までの乱数を選択し、同じ秒数だけ遅延を実施し、選択した数値が9の場合は、同じ範囲から別の数値をランダムに選択し、最初の数値に追加する、という原理で実施される。したがって、0~8秒の遅延の確率は90%、9~18秒の遅延の確率は10%である。

 
Rosh:

MetaTrader5のテスターにランダムディレイモードがあることは誰でも知っているMetaTrader5Strategy TesterSettingsで Help

これは、実際のティックで、しかもニュアンス(ラグが時間とともに変化することがあるため)を伴ってテストできる場合にのみ関係することです。

 
Rosh:

MetaTrader5のテスターに任意の遅延モードがあることは、ほとんどの人が知っていると思います。MetaTrader5Strategy TesterSettingsの Helpを 参照してください。

そう、「EA作成者がそのような事態の処理を適切にプログラムできるようにする」ための便利な機能です。しかし、スリッページによる損益への影響は、ティックがなければ機能しません。(ほとんどの人は必要ないのですが))))
 

ランダムディレイは粗悪なツールです。本気でテストするには、これしかない。

指標となる履歴(テスター内のロボットはそれだけを見る-実生活と同じ)+特定のTSのために作成された独自のカスタム履歴(テスターはそれに基づいて実行する)。

カスタム履歴を作成する際には、LiveTime-price(+ping)、流動性(Level2、TSで運用するボリューム)などが考慮されます。そして、それでも理想的なマッチングを実現することはできませんが、かなり近づけることは可能です。ただ、微妙に感じる必要があるのです。

追伸:このようなカスタムビルドを作成した後でも、フィルターを 適用する必要があることに注意してください。したがって、このようなカスタムビルドヒストリーは、M1 HighBid+LowAskのような形にすることができます。つまり、ティックヒストリーや Level2ヒストリーによるテストは(ほとんど)必要ない。その膨大な歴史の中から、予備的な実行履歴を作るに過ぎない。そして、そのパターンが続くのです。

 
hrenfx:

ランダムディレイは粗悪なツールです。本気でテストするには、これしかない。

指標となる履歴(テスター内のロボットはそれだけを見る-実生活と同じ)+特定のTSのために作成された独自のカスタム履歴(テスターはその上で実行される)。

カスタム履歴を作成する際には、LiveTime-price(+ping)、流動性(Level2、TSで運用するボリューム)などが考慮されます。そして、それでも理想的なマッチングを実現することはできませんが、かなり近づけることは可能です。ただ、微妙に感じる必要があるのです。

追伸:このようなカスタムビルドを作成した後でも、フィルターを 適用する必要があることに注意してください。したがって、このようなカスタム履歴は、M1 HighBid+LowAskという形式にすることができます。つまり、 ティックヒストリーや Level2ヒストリーによるテストは(ほとんど)必要ない。その膨大な歴史の中から、予備的な実行履歴を作るに過ぎない。そして、そのパターンが実行されるのです。

FOREXのみということでしょうか?

なぜなら、先物では1ティック(4桁)=FOREXでは10ティック(5桁がほとんど)だからです。

 
FOREXだけを意味するのであれば、明言します。
 
hrenfx:

ランダムディレイは粗悪なツールです。本気でテストするには、これしかない。

指標となる履歴(テスター内のロボットはそれだけを見る-実生活と同じ)+特定のTSのために作成された独自のカスタム履歴(テスターはそれに基づいて実行する)。

カスタム履歴を作成する際には、LiveTime-price(+ping)、流動性(Level2、TSで運用するボリューム)などが考慮されます。そして、それでも理想的なマッチングを実現することはできませんが、かなり近づけることは可能です。ただ、微妙に感じる必要があるのです。

追伸:このようなカスタムビルドを作成した後でも、フィルターを 適用する必要があることに注意してください。したがって、このようなカスタム履歴は、M1 HighBid+LowAskという形式にすることができます。つまり、ティックヒストリーや Level2ヒストリーによるテストは(ほとんど)必要ない。その膨大な歴史の中から、予備的な実行履歴を作るに過ぎない。そして、そのパターンが続くのです。

これがテスターの仕事です。テスト/最適化の前に、最適化する内容や注文の種類などに応じて、必要なカスタム履歴を作成する必要があります。これは純粋に技術的な側面であり、自動化されたシステムによって最適に処理することができます。MTでは、テスターの能力の範囲内で、このようなこと(履歴データの作成)も行っていると思います
 

これは、テスターではなく、適切なアルゴトレーダーの仕事です。MT5-testerでは、テストしたTSの特殊性に関するデータはなく、同じLevel2-historyでTSの実行履歴を作成することができます。

テスターを書くときに真っ先に思いつくのがランダムディレイ です。荒削りだが、センスがある。リミッターにもこのような荒業が行われることがあります。それがRandom Rejectです。

超高精度ではなく、常に精度とスピードの黄金比を追求しているのです。フィネスが意味を持つのは、非常に特殊な状況においてのみです。

ですから、MT5では、任意の遅延モード(実装は見ていませんが)という考え方は、かなり適切だと思います。