mql5言語の特徴、微妙なニュアンスとテクニック - ページ 28

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

レナート・ファットフーリン さん 2017.03.31 09:10

動的なオブジェクトにはArraySizeを使用 し、静的なオブジェクトにのみsizeofを適用する。Sizeofはコンパイル時にカウントされ、常に定数である。

 

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

SeriesInfoInteger(_Symbol,_Period,SERIES_SYNCHRONIZED)) および SymbolIsSynchronized(_Symbol)

スラワ さん 2017.04.04 08:05

エキスパートやスクリプトでコピー関数を呼び出すと、サーバーの最初の日付をチェックし、クライアント端末の最初の日付をチェックし、要求された日付と比較し、シンボルの同期をチェックし、再開の要求を送り、少し待って同期のチェックとラウンドする、という試みが行われます。それでも同期していない場合は、同期しているもので、要求の条件を満たしているものを与える。要求された時系列は、データのページング時にその場で完了するため、同期のチェックは行われない。

インジケータでは、1つのリクエストしか行われません。そして、なんとか取れたものはすべてすぐに渡す。

 

MT5テスターの「real ticks」モードでは、履歴のベースはreal ticksではなく、M1バーです。つまり、実際のティックがバーに対応していない場合は無視され、代わりにバーと対応していなければならない人工的なティックが生成されるのです。

同時に、もしCopyTicksが128K以上要求された場合、テスターでは、キャッシュ(実ティック+生成)ではなく、データベース(実ティック)から取得されることになります。そして、ティック履歴のテスターとテスターが生成していたもののミスマッチを取得します。

 
fxsaber

MT5テスターの「real ticks」モードでは、履歴のベースはreal ticksではなく、M1バーです。つまり、実際のティックがバーに対応していない場合は無視され、代わりにバーと対応していなければならない人工的なティックが生成されるのです。

同時に、もしCopyTicksが128K以上要求された場合、テスターではキャッシュ(実際のティック+生成されたもの)ではなく、データベース(実際のもの)から取得されます。そして、テスターでダニの履歴とテスターが出していたものとのミスマッチを取る。

本当にそうでしょうか?- SDで書かれたのですか?

今、何を信じ、どう生きるか...。(あいかわらず)

 
アンドレイ・ディク

なんてひどいんだ! 本当にそうなのか?- SDで書かれたのですか?

これは、私のSDへの応募ではなく、開発者の回答の高度に省略された言い換えである。
 
fxsaber

同時に、128K以上のエッジピースに対してCopyTicksが要求された場合。

どの辺り?128Kの最後の1枚 ?

それとも最初の?

 
ジョージ・マーツ

エッジとは?128Kの最後の?

それとも最初の?


一番最近です。
 
アンドレイ・ディク

なんてひどいんだ! 本当にそうなのか?- SDに書き込まれたのでしょうか?

今、何を信じ、どう生きるか...。(あいかわらず)

https://www.mql5.com/ru/docs/runtime/testing#real_ticks
 

テストでは、分単位のデータの方が信頼性が高いとされています。

ミニッツバーは信頼性が高いのでしょうか?ティックデータは最後の手段ではないでしょうか?考慮されていないのに、なぜリアルティックのデータまで必要なのでしょうか?

分単位でテストしていた時は甘く、次にティックでテストし、最終的な精度確認として本物のティックでテストしました。3つ目のチェックにあまり意味がないことが、今になって理解できました。

 
アンドレイ・ディク

テストする場合、微小なデータの方が信頼性が高いとされています。

ミニッツバーは信頼性が高いのでしょうか?ティックデータは最後の手段ではないでしょうか?それが考慮されていないのに、なぜリアルティックのデータまで必要なのでしょうか?

直感的に、分単位でテストして、次にティックでテストして、最終的な精度確認として本物のティックでテストして、ということをやっていました。3つ目のチェックがあまり意味をなさないことが理解できました。


文意を汲み取る必要はない。このフレーズはこんな風に聞こえます。

テストの精度を最大限に高めるため、リアルティクモードでは分足も使用します。ティックデータは彼らによってチェックされ、修正されます。また、Strategy Testerとクライアント端末のチャートが乖離するのを防ぐことができます。

テスターは、ティックデータが分バーのパラメータに準拠しているかどうかをチェックします。ティックは高値/安値を越えてはならず、開閉ティックはバーの開閉価格と一致していなければなりません。ボリュームも比較しています。不一致が検出された場合、その分バーに対応するすべてのティックが破棄されます。生成されたティックが代わりに使用されます("All ticks "モードと同様)。

シンボル履歴に分バーがあっても、その分のティックデータがない場合、テスターは「All ticks」モードでティックを生成します。これにより、ブローカーでのティックデータが不完全な場合、テスターは正しいチャートを構築することができます。

シンボルヒストリーに分バーがなくても、その分のティックデータがあれば、テスターで使用することができます。例えば、銘柄の棒グラフは、直近の価格を用いて形成される。サーバーからBid/Ask価格のティックのみが到着し、Last価格がない場合、バーは形成されません。テスターは、このティックデータが分単位のデータと矛盾しないので、これを使用する。

ティックデータは、様々な理由により分単位のバーと一致しない場合があります。例えば、送信元からクライアント端末へのデータ送信時の接続中断などの不具合による。テスト時には、分単位のデータがより信頼性が高いと判断されます。

このように、操作してみないと、参考文献を誤解していることが判明します。
理由: