Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
いくつかの困難の後、テスターは完全に機能し、記事に記載された結果と一致する結果を出した。
困難について。履歴のダウンロードに非常に時間がかかり(8Mbpsで55分)、何度か中断したため、テスターを2回再起動しなければならなかった。最後にはテスターがフリーズしました。MT 5を閉じたが、再び開くことはできなかった。システムを完全に再起動しなければならなかった。その後、MT5は静かに起動し、驚くべきことに、テスターは完全に動作し(約2分)、記事に記載されているすべての結果が得られました(記事の記載通りにテストパラメータを指定しました)。そして、異なるタイムフレームでのさらなるテストも問題なく続きました。
まとめ。記事はクールだ。エキスパート・アドバイザーは使える。もっと調べてみよう。
テクニカル・インジケータのハンドルネームは 何ですか?
インジケーターの識別子?
テクニカル・インジケータのハンドルネームは 何ですか?
インジケーターの識別子とは何ですか?
インジケーターのハンドルは、インジケーターが計算されるスレッドの識別子であり、ハンドルを呼び出すとデータストリームにアクセスします。
ハンドルを返す関数は、まさにこのスレッドを作成(開始)します。そのため開発者は、作成直後のストリームにアクセスすることを推奨していません。
素晴らしい記事だ!明快な構成で理解しやすい。
OnInit() "の最初の "if "条件におけるreturn式に疑問を感じます。おそらく、パラメータは-1か、0でなく何でも良いのだろう。
https://www.mql5.com/ja/articles/100 の記事のエキスパートを標準ライブラリーのクラスで 実装してみた。
私が得たものを掲載する。
残念ながら、記事のコードにはエラーがあるため、同じトレードはうまくいきませんでした。
ExpertADX-MA.mq5 ファイルは ExpertsAdvisors に置く必要があります。 - これがExpert Advisorです。
SignalADX-MA.mqh ファイルは、IncludeExpertSignalに置くべきである。
TrailingFixedPips.mqhファイルを IncludeExpertTrailing(with replacement)に置く 。
Expert.mqhファイルは、 IncludeExpert (置換あり)に配置する必要があります 。 - このファイルは、標準納品物のファイルです。標準デリバリーのファイルにマイナーな変更を加えたものです。
標準配信の変更は、次のビルドで行われる。
追記: ExpertではTrawlが「ネジ止め」されている(作業員の要望による)。
これを「解除」するには、次の行をコメントする必要があります:
if(!ExtExpert.InitTrailing(new CTrailingFixedPips)) return(-3);
という 行をコメントする 必要があります。
初心者のためのMQL5エキスパートアドバイザーの書き方ステップバイステップガイドの 記事中のEAコードの誤りを修正しました。
エキスパートアドバイザーのコードの更新版をダウンロードしてください。上記のEAコードでは
動的配列 double maVal[] はグローバル・スコープで宣言されています。
で宣言されており、void OnTick() 関数領域では宣言されていません。
エキスパートアドバイザーが24時間稼働しているとします。
質問:動的配列に割り当てられたメモリはどうなるのでしょうか? どれくらいの速さでゴミで詰まってしまうのでしょうか?
言い換えると、「この場合、メモリ・リークはあるのでしょうか?
記事をありがとう!