В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
ありがとうございます、その通りです。iTime経由で更新されていないタイムシリーズにアクセスすると、ターミナルは本当に4066エラーになるのでしょうか?iCloseがゼロではなく、未更新の情報を与えることに遭遇したことがあります。
そこが、あなたのヒッチの原因になっている重要なポイントなんです。
4066エラー - このTFの履歴がない場合、準備ができていませんので、サーバーに連絡する必要があります。
また、すでに持っている場合でも、アクセスしたときだけ更新され、つまり、エラーを出さず、今あるものだけを与え、同時にリクエストで時系列を更新し始めます。
アクセス頻度が少なく、不定期に アクセスすると、たまにジャンクが発生する。必要なTFを定期的に、1回1回のティックまで要求すれば、すべてOKです。
このTFのチャートが開いている 場合、チャート上で定期的に更新されます。ちなみに、EAから必要なTFのチャートを開くことは、アクセスが不定期であれば可能でしょうが、手動でTFを閉じたり変更したりするので、信頼性に欠けます。
なぜ[i + 0]に0を足すのか?
ゼロの代わりに1と2、1か2を代用しました。0、つまり1気圧を残しました。コードのクリーンアップはしていない、ロジックとしては重要でない。
そこがポイントです、引っかかる原因になっているのは。
4066エラーは、このTFの履歴がない場合、準備ができていないため、サーバーに問い合わせる必要があります。
また、すでに持っている場合でも、アクセスしたときだけ更新され、つまり、エラーを出さず、今あるものだけを与え、同時にリクエストで時系列を更新し始めます。
アクセス頻度が少なく、不定期に アクセスすると、たまにジャンクが発生する。必要なTFを定期的に、1回1回のティックまで要求すれば、すべてOKです。
このTFのチャートが開いている 場合、チャート上で定期的に更新されます。ちなみに、アクセスが不定期であれば、EAから必要なTFのチャートを開くことは可能でしょうが、手動でTFを閉じたり変更したりできるので、信頼性が低いです。
エラーが出るはずなのに、古いデータを返してくれる、素晴らしい。これは、ブローカーがMT4を愛し、MT5に乗り換えない理由の1つです))。
つまり、4066のエラーが出るまで、tickまたはsleepごとに正しい時間枠を要求する。うまくいったかな?
エラーが出るはずなのに、古いデータを返してくれる、素晴らしい。これは、ブローカーがMT4を好み、MT5への切り替えを行わない理由の一つです))。
つまり、4066のエラーが出るまで、tickまたはsleepごとに正しい時間枠を要求する。うまくいったかな?
ほとんど。ここでは、レディファンクションを紹介します。
OnTick()に挿入し、trueを返せば、eTFのタイムフレームにアクセスできる、有効なデータである。エラーが出るはずなのに、古いデータを返してくれる、素晴らしい。これは、ブローカーがMT4を好み、MT5への切り替えを行わない理由の一つです))。
つまり、4066のエラーが出るまで、tickまたはsleep ごとに正しい時間枠を要求する。うまくいったかな?
もちろん、OnInitの中でだけsleepを使う方が良いし、インジケータの中でだけ必要なものです。それ以外の場合は、上記のIgorさんがおっしゃるようにOnTickで十分です。
タスクに応じて、最適な選択肢を操ることができるのです。通常、新しいバーがあるかどうかを確認する場合、iTimeはすでに使用するすべての時間枠のティック ごとにアクセスされており、それだけで最新の状態に保つことができます。
s.w. また、イゴールの関数をすべてのティックではなく、一部のレアな条件で使用すると、ラグも発生します。sleepはもちろんOnInitの中でだけ使うのがベターで、インジケーターの中でだけ必要です。そ れ以外の場合は、上記のIgorさんのようにOnTickを使用すれば十分です。
タスクに応じて、最適な選択肢を操ることができるのです。通常、新しいバーがあるかどうかを確認する場合、iTimeは使用するすべての時間枠のために毎ティックで 呼び出されます、それはそれらを最新に保つのに十分です。
s.e. また、Igorの関数がすべてのtickで使用されるのではなく、いくつかの稀な条件で使用される場合、これも同期がとれなくなります。スリープはインジケータでは機能しない
ほとんど。ここでは、既成の関数を紹介します。
OnTick()に挿入し、trueを返せば、eTFのタイムフレームにアクセスでき、データは有効である。見事にシンプルです。ありがとうございます。iClose機能などの マニュアルに記載すればいいのに。あるいは、陰謀論が生まれないように、MT4の気配値更新のロジックを 修正すればいいのに。
エラーが出るはずなのに、古いデータを返してくれる、素晴らしい。これは、ブローカーがMT4を好み、MT5への切り替えを行わない理由の一つです))。
つまり、4066のエラーが出るまで、tickまたはsleepごとに正しい時間枠を要求する。うまくいったかな?
MT5ではもっと難しいです。
F4では、2分ごとに使用するすべてのTFにiTimeを 要求すれば、すべてのデータが実測されます。
すべてが見事にシンプルです。ありがとうございます。開発者はなぜiClose機能などの マニュアルに記載しないのでしょうか。あるいは 陰謀論を生まないようにMT4の気配値更新のロジックを修正 する。
なぜなら、ほとんどすべてのEAは、ティックごとに正しい条件のチェックを行い、すべてが勝手に更新されるからです。
スリープはインジケータでは機能しない
本当に必要なら効きますよ :)
MT5ではもっと複雑です。
4では、2分ごとに使用するすべてのTFにiTimeを 要求すればよく、すべてのデータが実測されることになる。
その通り