自動取引言語のドキュメンテーション

MQL5 リファレンス

MetaQuotes Language 5 (MQL5) は、金融取引を自動化するテクニカル指標、売買ロボットやユーティリティアプリケーションを開発するために設計された高レベル言語です。MQL5 は MetaQuotes によって独自の取引プラットフォームのために開発されました。その言語構文は、オブジェクト指向プログラミング(OOP)スタイルでアプリケーションを開発するプログラマを可能にし、C ++ に非常に近いものです。

MQL5 言語に加えて、取引プラットフォームパッケージには、テンプレート、スニペット、デバッグ、プロファイリングや自動補完ツールといった高度なコード作成ツールを持つ MetaEditor IDE や、ファイルのバージョン管理を可能にする内蔵された MQL5 Storage を含みます。

言語サポートは、大規模な無償のコードベースと大量の記事を持つMQL5 Algotrading community ウェブサイトで提供されます。これらの記事は、ニューラルネットワーク、統計や分析、高頻度取引、裁定、テスト、及び取引ストラテジーの最適化、取引の自動化ロボットの使用、などの現代的な取引の全ての側面をカバーしています。

トレーダーとMQL5 プログラム開発者は、フォーラム上で通信し、フリーランスサービスを使用してアプリケーションを注文及び開発し、自動取引アプリケーションの市場で保護されたプログラムを売買出来ます。

MQL5 言語は専門的な取引関数と事前定義されたイベントハンドラを提供し、プログラマが、特定の取引ルールに従って取引プロセスを制御するエキスパートアドバイザー(EAs)を開発するのを支援します。EAs に加えて、MQL5 は、カスタムテクニカル指標、スクリプト及びライブラリの開発を可能にします。

この MQL5 言語リファレンスは、関数、演算、予約語及び他の言語の構造のカテゴリに分かれています。このリファレンスには、取引ストラテジー、制御パネル、カスタムグラフィックスを展開し、ファイルアクセスを可能にするために使用される標準ライブラリクラスの記述も含まれます。

更に、コードベースには様々な数学的な問題を解決するために使用出来るALGLIB数値解析ライブラリを含まれます。
 

アルゴリズム取引の本

新しいことを学び始めるのは常に挑戦です。初心者をサポートするために、アルゴリズム取引のロボットやアプリケーションの作成を学びたい人向けに設計された、MQL5プログラミングに関する2冊の包括的な書籍をリリースしました。

学習プロセスをよりスムーズに進められるよう、これらの書籍は資料を体系的かつ構造的にまとめています。自動売買ロボットやアプリケーションの段階的な作成が詳細なコード例で解説されており、アルゴリズム取引のポイントを深く理解できます。また、実践的な演習が多数含まれており、習得した知識を強化し、実際の取引環境でプログラミングスキルを向上させることができます。

「トレーダー向けMQL5プログラミング」は、MQL5に関する最も完全で詳細なチュートリアルであり、あらゆるレベルのプログラマーに対応しています。初心者はこの本を通じて基礎を学び、開発ツールや基本的なプログラミングの概念を学びます。MetaTrader 5取引プラットフォーム上で、最初のアプリケーションを作成、コンパイル、実行する方法も紹介されています。他のプログラミング言語の経験がある方は、すぐに自動売買ロボットや分析アプリケーションの作成に進むことができます。

「MQL5を使用したアルゴリズム取引のためのニューラルネットワーク」は、MetaTrader 5プラットフォームで自動売買ロボットに機械学習を応用するためのガイドです。ニューラルネットワークの基礎からアルゴリズム取引での応用までがステップごとに解説されています。学習を進めながら、独自のAIソリューションを構築・訓練し、新しい機能を追加していくことができます。また、MQL5に加えて、PythonやOpenCLのプログラミングスキルを習得し、行列やベクトルの手法を使用して、複雑な数学的問題を効率的に解決する方法を学びます。

 

取引アプリケーションの開発に関する記事

MQL5記事は、この言語の可能性を最大限に引き出すための素晴らしいリソースで、幅広いアルゴリズム取引の実践的なタスクがカバーされています。記事はエキスパートアドバイザー機械学習などのセクションに整理されているため、簡単に目的の記事を見つけることができます。毎月、MQL5アルゴ取引コミュニティのWebサイトには、トレーダーが他のトレーダー向けに書いた数十の記事が公開されます。これらの記事を通じて、最新のアルゴリズム取引を学び、議論に参加してください。初心者向けに、MQL5をすぐに理解するための推奨記事16選 も用意しています。

 

MQL5 アプリケーションの種類

MQL5 プログラムは、実装する取引オートメーションタスクに基づいて、4つの専門的な種類に分類されます。

  • エキスパートアドバイザー は、特定のチャートにリンクされる自動取引システム( MTS )です。 エキスパートアドバイザーは、適切な取引ストラテジー要素の実行を有効にする事前定義されたイベントを処理するたのイベントハンドラを持っています。プログラム初期化と初期化解除イベント、新規ティックイベント、タイマーイベント、板情報の変更イベント、チャートとカスタムイベントがその例です。
    実装ルールに基づいた売買シグナルの計算に加えて、エキスパートアドバイザーは自動売買を実行して、取引サーバに直接送信することが出来ます。エキスパートアドバイザーは、<Terminal_Directory>\MQL5\Experts に格納されています。
  • カスタム指標は、標準的な指標に加えてユーザが開発した技術的な指標で、取引プラットフォームに統合されています。カスタム指標も標準的な指標も、自動売買は出来ず、出来るのは分析関数を実装することだけです。カスタム指標は計算のために他の指標の値を利用することができ、エキスパートアドバイザーから呼び出すことが出来ます。
    カスタム指標は<Terminal_Directory>\MQL5\Indicators に格納されます。
  • スクリプトは、アクションを1回実行するためのプログラムです。エキスパートアドバイザーとは異なり、スクリプトはトリガ、初期化と初期化解除以外のイベントを処理しません。スクリプトコードには OnStart 処理関数が必要です。
    スクリプトは<Terminal_DIrectory>\MQL5\Scripts に格納されています。
  • サービスは、指標、エキスパートアドバイザー、スクリプトと違って、チャートから独立して動作できます。スクリプトと同様に、サービスはトリガー以外のイベントを処理しません。サービスを起動するには、そのコードにOnStartハンドラ関数を含める必要があります。サービスはStart以外のイベントを受け付けませんが、EventChartCustomを使用してチャートにカスタムイベントを送信できます。サービスは<Terminal_Directory>\MQL5\Servicesに格納されます。
  • ライブラリはカスタム関数のセットです。ライブラリは、一般的に使用されるカスタムプログラムアルゴリズムの保存及び配布を意図しています。
    ライブラリは <Terminal_Directory>\MQL5\Librariesに格納されています。
  • インクルードファイルはカスタムプログラムの最も頻繁に使用されるブロックのソーステキストです。このようなファイルは、コンパイル段階で、エキスパートアドバイザー、スクリプト、カスタム指標及びライブラリのソーステキストに含むことが出来ます。インクルードファイルの使用は、負担を発生するライブラリ関数の呼び出しより好ましいです。
    インクルードファイルは、元のファイルと同じディレクトリに格納することが出来ます。この場合 #include ディレクティブが二重引用符と使用されます。別のオプションは、インクルードファイルを <Terminal_Directory>\MQL5\Include に格納することです。この場合 #include は角括弧と使用されるべきです。

 

© 2000-2024、MetaQuotes Ltd