記事"6つのステップでトレーディング自動装置を作りましょう!"についてのディスカッション - ページ 6

 

この記事の指示に従い、独自のシグナルとEAを作成しようとしましたが、シグナルが「MQL Wizard」のシグナルリストに表示されません。

Expert Advisorは取引を行わず、テスト中にいくつかのインジケータを描画しません。自分でシグナルとExpert Advisorを作成し、動作中のシグナルとExpert Advisorから作り直そうとしました。

また、サイトからシグナルをダウンロードした場合、Expert Advisorとシグナルは完璧に動作しますが、シグナルを「MQL Wizard」のシグナルリストに挿入することができません。 初心者の質問で申し訳ありません、

しかし、フォーラムでの議論から、同じような問題が発生していることに気づきましたが、対処法がわかりませんでした。これはターミナルかコードの問題です。

VTB24とInstaターミナルでテストしました。コンパイルではエラーは出ません。シグナルを作成する 際、インジケーターの数はいくつまで可能ですか?

ファイル:
HetireEMA.mq5  13 kb
Signal4EMA.mqh  15 kb
 
私はmql5のプログラミングのマスターではありませんが、この記事から、私は2つのMAの交差点上の単純なエキスパートを書くために、mql5では、2つのファイルが必要であり、加えて、いくつかの複雑な書き込みが多いと結論付けた!mql4ではこのようなExpert Advisorを書くのに必要な行数は10行もない!mql4では、例えば1日EAに費やされている場合 - mql5では、同じEAを殺すために同じくらい3、せいぜい2日必要であることが判明した!!!!そして、私はまた、mql5では、美しく、機能的なパネルのすべての種類を作ることができ、それがすべてであり、それがmql5で書かれているという事実から、この専門家は、より良い取引をしないという事実だけで、これらの2つの言語の違いを理解した!批判して私の考えを変えてください。
 
zlodei:
批判して私の考えを変える。
もう一度読んでみてください。
 
zlodei:

私はmql5でのプログラミングの達人ではありませんが、この記事から、2つのMAの交点に関する単純なExpert Advisorを書くには、mql5で2つのファイルが必要で、さらに多くの複雑な記述が必要だと結論づけました!

この結論は間違っています。そして、そのような解決策は2行では存在しません

もし、純粋に2つのMAの交点に関するロボットが必要なら、あなたのタスクのために特別に、MQL5で10行で書くことができます!

 

作成した Expert Advisor (hetireema.mq5)は、InstaTrader5 のターミナル上では奇跡的に動作しましたが (不要な操作なしで成熟)、ウィザード上ではシグナルが表示されません (まだ成熟していません)。7EMAと10EMAの類推によって作成されたより複雑なシグナルは、コンパイラではエラーが表示されず、ターミナルではExpert Advisorとシグナルのファイルが存在し、テスターではExpert Advisorが存在し、入力パラメータが設定されていますが、取引は行われません。つまり、mql5言語が不安定であるか、ターミナルが不具合を起こしているの です。

mql5でコードを作成するのは 本当に難しい。複数のEMAの相互の位置を記述するには、500行、あるいはそれ以上のコードが必要です。コードの大部分は、エラーやコードに負荷をかける条件のチェックです。私はターミナルAstTrader(ActFX(パスカル)言語)でロボットを作成し、そこの取引ロボットは、指標や条件の任意のセットで一日50個を作ることができます。ロボットは不必要なcodobludyなしで2ページかかります。しかし、テストは非常に遅く、ローソク足の履歴は非常に短い。MQL5では、スピードと長いローソク足履歴が大きな利点でした。何週間もロボットを書き続けるか、素早く書いたロボットをテストするか、どちらかを選ばなければならない。もしMQL4がこれらのデメリットをすべて取り除いてくれるなら、私はそちらに行くつもりだ。言語についての議論は、おそらくこのフォーラムの別の枝になるでしょうが。

 
alextxpert99:

私が作成した Expert Advisor (hetireema.mq5) はどうにか InstaTrader5 ターミナルで奇跡的に動作しましたが (不要な操作なしで成熟しました)、シグナルは "Wizard" に表示されません (まだ成熟していません)。

本当にレシピ通りにすべて行いましたか?

  1. MQL5ウィザードを使用して、別のフォルダMQL5/Include/MySignals/に新しいクラスを作成 します。
  2. パラメータ、そのタイプ、デフォルト値を記述したモジュール記述子を 作成します。
  3. クラス自体にモジュール・パラメータを 宣言し、コンストラクタに初期化のためのメソッドを追加します。
  4. 入力パラメータが 正しいかどうかをチェック し、CExpertSignal ベースクラスの ValidationSettings() メソッドを呼び出すことを忘れないでください。
  5. 指標オブジェクトを 作成し、定義済みの InitIndicators() 初期化メソッドを追加します。
  6. LongCondition() と ShortCondition() メソッドで、売買シグナルの発生条件を 定義します。
 
何度も試してみるよ。結果をお知らせします
 
サポートありがとうモジュール記述 子にエラーがありました。SignalAdvanced;)に誤りがありました。これを修正したところ、ウィザードにシグナルが表示されるようになりました。シグナル数が4以上の場合、インジケータは表示されません。Expert Advisorを作成する際、同じタイプのシンプルな売買シグナルを複数作成してみます。
 

非常によくできた記事だが、第1/第2(?)ステップですでに2つのエラーメッセージが表示され、苛立ちが残った:

10行目で、コンパイラーはファイル "ExpertSignal.mqh "を見つけることはできたが、開くことはできなかった。添付ファイル "MA_... "をダウンロードしてクロスチェックしたが、コンパイラーは同じエラー・メッセージを出した。そしてもちろん、33行目("MA_...")の"CExpertSignal"の構造を識別することもできなかった。

何がいけなかったのでしょうか?

ありがとうございました!

Locan.BBS

 
locan.BBS:

非常によくできた記事だが、第1/第2(?)ステップですでに2つのエラーメッセージが表示され、苛立ちが残った:

10行目で、コンパイラーはファイル "ExpertSignal.mqh "を見つけることはできたが、開くことはできなかった。添付ファイル "MA_... "をダウンロードしてクロスチェックしたが、コンパイラーは同じエラー・メッセージを出した。そしてもちろん、33行目("MA_...")の "CExpertSignal "の構造を識別することもできなかった。

何が問題だったのか?

ExpertSignal.mqhはterminal_data_folderMQL5内にある。

MA_Cross.mqhの場所が間違っているのが問題なのかもしれない(terminal_data_folderに作成する必要がある):