記事"MQL5でExpert Advisorを書くための初心者向けステップバイステップガイド"についてのディスカッション - ページ 8

 

この記事をありがとう。

MQL5の例題を見始めたとき、迷子になりそうでした...あなたの記事を見てから、すべてのことが理解しやすくなりました。

 

素晴らしいコメント :-) ありがとう :-)

素晴らしい記事 タンク・ユー :-)

 

素晴らしい記事です、

それは私が3ヶ月以上保存するのに役立ちます、ありがとうございます、私はあなたの次の関連記事(OOP)に行くつもりです。

お金のマーキングの専門家を見て、あなたと共有することを期待して、私はそのような記事を楽しみにしています、

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

 
僕もEAプログラマーに なりたい!
 
ありがとう。とてもいい記事だ。
 

親愛なるサム、

すでにあなたのEA; " my_first_ea "をダウンロードし、試してみました!

このEAのおかげで、自分のロジックでEAを作ってみたくなりました。

参考までに、このEAはコンパイル時にエラーや警告は出ないのですが、取引ができません。

どうか助けていただけないでしょうか?

よろしくお願いします。

ファイル:
 
abolk:

尊敬する経験豊かなプログラマーたちは、5桁の「問題を解く」ために驚くべき「アプローチ」を使っている。そして今、この「アプローチ」は初心者の間でも、教育的な、言ってみれば文学の中で培われている。

著者の言う「アプローチ」は、5桁の利点を完全に無効にしている。初心者に、5桁の相場を導入することで、例えば、利食いを10ピップスではなく、10.5ピップスに設定することが可能になることを説明する代わりに、5桁の相場を導入することで、利食いを10ピップスではなく、10.5ピップスに設定することが可能になることを説明する。また、5桁の気配値でExpert Advisorを使う場合は、利食いを10pipsではなく100pipsに指定する必要があることを説明する。そのような説明の代わりに、プログラムコードに行が導入され、プログラム上、5桁の相場の利点を利用することができません。

「私たちのEAがすべてのブローカーで正しく動作することを確認する必要があります。さて、私たちは確信しています。もしプログラム上、Expert Advisorが「正しく機能することを宣告された」のであれば、どうやって5桁のクォートの利点を使うことができるでしょうか?

そして、もし

_Digits==3

その後何、それはすべて同じ ですか?

STP = STP*10; 

TKP = TKP*10;

そして、我々は何を得るのですか?それは書く方が正しくないのですか?

STP = STP/10; 

TKP = TKP/10;

 

OnTick関数の 中で同じコードが2回繰り返されているのはなぜですか?

//--- バーの数が操作に十分かどうか
   if(Bars(_Symbol,_Period)<60) // チャートのバーの総数は60本以下ですか?
     {
      Alert("60バー以下のチャートでは、EAは動作しません!!!");
      return;

     }

そして、もう少し離れて

//--- チャートの小節数は十分か?
   int Mybars=Bars(_Symbol,_Period);
   if(Mybars<60) // バーの合計数が60未満の場合
     {
      Alert("60バー以下のチャートでは、EAは動作しません!!!");
      return;
     }
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

また、最適化のために、動的配列にArrayResizeを使用するのも良いだろう: https://www.mql5.com/ja/docs/array/arrayresize

そして、ドキュメントでもう一つ興味深いことを読みました:

例えば、Expert AdvisorsのOnTick()の 呼び出しごとや、indicatorsのOnCalculate()の 呼び出しごとなど、時系列やindicatorの値のコピーを頻繁に行う必要がある場合、この場合は静的分散配列を 使用する方が良いでしょう。 動的配列の メモリ割り当て操作には追加の時間が必要で 、Expert Advisorsのテストや最適化に影響します。

https://www.mql5.com/ja/docs/series

Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
mql4では、学習することなく、数日でいくつかのEAをプログラムしました。私は何十種類ものプログラミング言語(java、c、php、その他マイナーな言語や時代遅れの言語)を知っているのですが、mql5の言語はmql4ほど直感的ではありません。 言語間のコンバーターがないのが残念です。深呼吸して勉強を始めなければ...。