記事「MQL5入門(第7回):MQL5でEAを構築し、AI生成コードを活用するための初心者ガイド」についてのディスカッション

 

新しい記事「MQL5入門(第7回):MQL5でEAを構築し、AI生成コードを活用するための初心者ガイド」はパブリッシュされました:

この記事は、MQL5でエキスパートアドバイザー(EA)を構築するための包括的な、究極の初心者ガイドです。擬似コードを使用してEAを構築し、AIが生成したコードのパワーを活用する方法をステップごとに学びましょう。アルゴリズム取引が初めての方にも、スキルアップを目指す方にも、このガイドは効果的なEAを作成するための明確な道筋を提供します。

MQL5のすべてを一度に学ぶことは大変かもしれません。その代わり、プロジェクトに集中することで、学習プロセスをより管理しやすく、楽しいものにすることができます。変数、ループ、条件、関数など、以前の記事で説明した基本的な概念をマスターすることから始めましょう。これらの基本をしっかり理解したら、EA(エキスパートアドバイザー)やカスタム指標の構築など、興味のあるプロジェクトに着手しましょう。 プロジェクトに取り組むたびに、新たな困難が立ちはだかり、かけがえのない教訓を得ることになります。プロジェクトベースの学習を通じて、理論的な知識を実際のシナリオで活用することができ、MQL5の複雑さをより深く理解することができます。様々なプロジェクトに取り組みながら、MQL5プログラミングの複雑さに対応するために必要な知識と能力を徐々に習得していきます。

この学習方法を受け入れることで、プログラマーとして着実に、そして自信を持って前進していくことができます。MQL5の広大さに臆することなく、プロジェクトごとに取り組み、徐々に習熟度を高めていきましょう。したがって、プロジェクトベースの学習の旅を受け入れてください。これは、MQL5をマスターする最も確実な方法なのです。 私はこの連載を通して、プロジェクトベースの学習を使用することにしました。効果的だからです。MQL5の複雑さに真っ向から取り組むのではなく、実践的なプロジェクトに焦点を当て、経験を通じて学んでいきます。実際のプロジェクトに取り組むことで、トピックをより深く理解し、取引戦略を向上させる有用なスキルを身につけることができます。

初心者に優しい基本的なプロジェクトから始め、より複雑なプロジェクトへとステップアップしていきます。この方法論に従うことで、より複雑なトピックに進む前に、MQL5プログラミングを確実に理解することができます。プロジェクトごとに新しいスキルやアイデアを得て、徐々に上達していきます。この記事で取り上げるプロジェクトは、MQL5でEAを生成するシーケンシャルな手順の実践的な例となります。また、AIが生成したコードの利点をMQL5の文脈で最適化することも検討します。

作者: Israel Pelumi Abioye

 
 
Clemence Benjamin #:

有益な情報をありがとうございました。

どういたしまして。
 

とても有益なレッスンだった。MQLプログラミングをさらに学ぶための追加プロジェクトや、より深い進展のあるシリーズの継続を楽しみにしています。この言語とそれを効果的に適用する方法について、段階を追って紹介するものを見つけるのは難しいです。

お疲れ様でした。

 
Oscar Hayman プロジェクトや、より深い進展のあるシリーズの継続を楽しみにしています。この言語とその効果的な適用方法について、段階を追って紹介しているものを見つけるのは難しい。

お疲れ様でした。

こんにちは、オスカー。ありがたいお言葉をありがとう。
 
こんにちは!まずはこのガイドに感謝します。今週始めにこのガイドを見て、MQL5を知るための手っ取り早く簡単な方法を探していました。私は今、非常に具体的なタスクがあり、それを完了する方法を探しています。私は自分の取引戦略を知って おり、自動化によって取引をどのように効率化したいかも知っています。私のアルゴリズム/ロボット/EAが何をしなければならないかも知っています。誰かにお金を払ってやってもらったり、GPTに書いてもらったりするのではなく)自分でプログラミングしたいのです。そのことを書き留めておこうと思いますが、何度も具体的な質問をすることになりそうです。MQL5のフォーラムはありますか?あるいは、ユーザーが意見を交換する他のプラットフォームはありますか?ありがとうございました。
 
Rece_w_kieszeniach 取引戦略を知って おり、自動化によって取引をどのように効率化したいかも知っています。私のアルゴリズム/ロボット/EAが何をしなければならないかも知っています。誰かにお金を払ってやってもらったり、GPTに書いてもらったりするのではなく)自分でプログラミングしたいのです。そのことを書き留めておこうと思いますが、何度も具体的な質問をすることになりそうです。MQL5のフォーラムはありますか?あるいは、ユーザーが意見を交換する他のプラットフォームはありますか?よろしくお願いします。
MQL5フォーラムがあるようですが、他に注目すべきものはありますか?ありがとうございます!
 
Rece_w_kieszeniach #:
MQL5フォーラムを見ましたが、他に何か注目すべきものはありますか?ありがとう!
レシーさん、こんにちは。自分でプログラムを書きたいのであれば、やはりMQL5フォーラムが一番です。EAで何か問題があれば、お気軽にご連絡ください。
 
このようなプロジェクト ベースの記事からさらに学ぶことを楽しみにしている。
 
Oluwatosin Mary Babalola プロジェクト ベースの記事からさらに学ぶことを楽しみにしています。

オルワトシンさん、こんにちは。この記事についてご質問があれば、お気軽にご連絡ください。

 

また、なぜ初心者向けのガイドがすぐに間違ったコードを教えるのだろうか?

まず、もう少し複雑で現実的なものを書き始めると(しかし同じテクニックを使い続ける)すぐに目につく効率の問題がある。ティックごとに、同じ文字列のStringToTime 変換が3回呼び出される。AIのためにクリーンアップすることは可能だろう - 変換をグローバル変数で 1回にする:

input string Alarm1 = "00:00:00"; // 最初のアラームのデフォルト値
input string Alarm2 = "00:00:00"; // 第2アラームのデフォルト値
input string Alarm3 = "00:00:00"; // 第3アラームのデフォルト値
input string Sound = "alert.wav"; // デフォルトのサウンドファイル

// 永続的な値のためのグローバルの定義
datetime first_Alarm, second_Alarm, third_Alarm;

int OnInit()
{
   // EA起動時に一度だけ実行される初期化関数。
   // 変換は入力ごとに一度だけ行う
   first_Alarm = StringToTime(Alarm1);
   second_Alarm = StringToTime(Alarm2);
   third_Alarm = StringToTime(Alarm3);
   return 0; // 初期化に成功した場合は0を返す
}

void OnTick()
{
   // 現在の現地時刻を取得する
   datetime Time = TimeLocal();

   // 現在時刻がアラーム時刻のいずれかと一致するかチェックする。
   if(first_Alarm == Time || second_Alarm == Time || third_Alarm == Time) // ここにも論理エラーがある(下記参照)
   {
      // アラーム時刻になったら音を鳴らす
      PlaySound(Sound);
   }
}

第二に、ティックタイムが与えられたアラートタイムと一致する保証はない。というのも、すべてのイベント(OnTick、OnTimerなど)はキューから発生し、キューはできるだけ速く空になるが、他のプログラムが重い計算をしている場合は遅くなる可能性があるからだ。したがって、アラートの発生をチェックする条件は徹底的に書き直さなければならず、少なくとも変数を追加しなければ不可能である(将来的には、クラス配下のアラートを作り直すことが提案されるが、もちろんこの記事では取り上げない)。