MQL5 programs not only automate routine calculations, but also can create a full-featured graphical environment. The functions for creating truly interactive controls are now virtually the same rich, as those in classical programming languages. If you want to write a full-fledged stand-alone program in MQL5, use resources in them. Programs with resources are easier to maintain and distribute.
В архитектуре MetaTrader 5 организован асинхронный доступ к значениям индикаторов. Иными словами, при получении хэндла индикатора он прикрепляется к графику. Далее этот индикатор производит свои расчеты вне потока советника. Они взаимодействуют лишь на этапе передачи данных, аналогично получению данных тайм-серий. Поэтому и время на выполнение этих операций сопоставимо.
自分用に修正したIndicator.mqhを共有することにした。もしかしたら、誰かがインジケーターをクラスに翻訳する時間を節約できるかもしれない。
Expert Advisorのコードにインジケータの計算を実装する」を公開しました:
著者ドミトリー・ギズリク
過去の記事です。
実に興味深い記事だ!しかし、私は配布されたソフトウェアに間違いがあることを恐れている。
メソッドGetData。分散されたコードは
正しいコードはこうあるべきだ:
配列のインデックスは0から始まり、最後の要素のインデックスはm_data_lenではなく(m_data_len - 1)ですね?
rf、https://www.mql5.com/ja/articles/261 のカスタム・インジケータでの作業 セクション
記事をありがとう!不安定な従来のインジケーターから脱却するために勉強しています。
しかし、チャート上でインジケータを 視覚化できることは私にとって重要です。どなたか導入された方はいらっしゃいますか?
任意のインジケータの計算部分をExpert Advisorのコードに移行する方法を 掲載しました:
著者:Dmitriy Gizlyk
なぜインジケータからExpert Advisorに計算を転送する必要があるのでしょうか?
多くの人はEAを使わずにインディケータを使用しています。
単純に計算を段階に分けることができます。
例えば、このように:
なぜインジケータからExpert Advisorに計算を転送する必要があるのですか?
多くの人は、Expert Advisorを全く使用せずにインジケーターを使用しています。
単純に計算を段階に分けることができます。
例えば、このように:
インジケータの通常のメカニズムが切り株を介して動作するという事実のために、例えば:https://www.mql5.com/ru/forum/372612、これは彼らの実装によるものです。
インジケータの複雑化に伴い、私のExpert Advisorは "泥沼 "に陥った。テスターでは、インジケータの動作で他の多くのバグをキャッチしたが、それは役に立たないので、私はそれらを説明しませんでした。
私はあなたの考えを理解していませんでした。
通常のインジケーター機構が切り株を通して機能するという事実のため , e.g.:https://www.mql5.com/ru/forum/372612 そしてこれは、その実装によるものである。
インジケータの複雑さが増すにつれて、私のExpert Advisorは「泥沼化」しました。テスターでは、インジケータの動作に他にも多くのバグを発見したが、無駄なので記述しなかった。
私はあなたの考えを理解できませんでした。
そもそも、あなたのコードはまったく正しくありません。
私ならこう書く:
さらに、インジケーターの関数は最小限の遅延で実行されるべきなので、複雑な処理(ヒストリーのロード、複雑な計算など)はいくつかの部分に分割される。
複雑な処理(ヒストリーの読み込み、複雑な計算など)はいくつかの部分に分割され
OnCalculateつまり、インジケーターは、各段階で最小限の遅延で必要なアクションをすべて実行するまで、初期段階にあります。
В архитектуре MetaTrader 5 организован асинхронный доступ к значениям индикаторов. Иными словами, при получении хэндла индикатора он прикрепляется к графику. Далее этот индикатор производит свои расчеты вне потока советника. Они взаимодействуют лишь на этапе передачи данных, аналогично получению данных тайм-серий. Поэтому и время на выполнение этих операций сопоставимо.現実にはもっと速くなると?-現実にはそうなる。あるトラックではエキスパート、別のトラックではインジケーター(そしておそらく異なるコアでも)。しかし、これはストラテジーテスターによる 人為的な制限に過ぎません。