MetaTrader 5のヘルプアルゴリズム取引、自動売買ロボットエキスパートアドバイザーや指標の作成の方法

エキスパートアドバイザーや指標の作成の方法

取引プラットフォームには、内蔵言語 MetaQuotes Language5(MQL5)、MetaEditor 開発環境とストラテジーテスターが含まれます。

MQL5で取引戦略の開発に関するすべての情報は MQL5.communityの公式サイトで見つけることができます。ウェブサイトセクションコードベースにはそのまま使えるアプリケーションが含まれます。

取引ストラテジーのMQL5プログラミング言語 #

取引プラットフォームには MetaQuotes Language 5内蔵言語があります。これは5世代目の MQL 言語です。これによって自動売買をするエキスパートアドバイザーの開発や、独自の取引ストラテジーの実装が可能です。MQL5を使用してのカスタム指標スクリプトとファンクションライブラリーの作成も可能です。

MQL5の特徴:

  • オブジェクト指向
  • C++ に似た構文
  • 相場分析、ポジション管理、テクニカル指標の呼び出しなどに必要な多数の機能
  • 高性能言語
  • 新しい複雑な暗号化アルゴリズム、ファイルの整合性チェック、及び言語の複雑さによる逆コンパイルに対する強力な保護
  • OpenCLはMQL5アプリケーションでの計算のためのビデオカードの使用をサポート
  • デバッガを内蔵したMetaEditor統合ソフトウェア開発環境

すべての言語構造と機能の詳細な説明はMQL5リファレンスに記載されています。MQL5に関するすべての必要な情報はhttps://www.mql5.comでの開発者コミュニティのウェブサイトでも見つけることができます。

MetaEditor #

MetaEditorMQL5総合開発環境です。それは取引プラットフォームのコンポーネントです。MetaEditorはMQL5で作成されたソースコードの、編集、コンパイルとデバッグを可能にします。

  • 定形チャートや自動売買ロボットを作成するためのMQL5Wizard
    MetaEditorは手早く MQL5プログラムを作成するのに役立つMQL5Wizardを含みます。MQL5Wizardを使用すればトレーダはプログラミングなしでエキスパートアドバイザーを簡単に作成できます。エキスパートアドバイザーの使用する売買シグナル、資金管理及びトレールストップアルゴリズムを選ぶだけです。エキスパートアドバイザーコ—ドは選択されたパラメータに基づいて自動的に作成されます。
    加えて、MQL5Wizardはプログラマーの作業を簡易化するMQL5プログラムテンプレートの作成を可能にします。
  • ソースコードヘルプ
    MetaEditorは言語構造を認識することができるので、関数を使用する方法のヒントを示唆し、プログラムのソースコードの様々な要素を強調します。これは、取引プログラムのソースコード内のナビゲーションを強化し、開発プロセスをスピードアップします。
  • デバッグ
    MetaEditorはトラブルシューティングを大幅に簡易化するために、プログラムのデバッグを可能にします。ソースコードのステップバイステップの実行は、変数値の監視を可能にします。
  • コードの最適化のためのプロファイリング
    エディターはソフトウェアプロファイリングツールも提供します。ソースコード内の最も遅い機能を識別して、プログラムを最適化することができます。
  • プログラムとソースコードライブラリーに関する記事
    エディターからは直接MQL5プログラミングチュートリアルの茄多を見つけることができます。さらに無料の自動売買プログラムの巨大なコードベースにアクセスすることができます。
  • オンラインMQL5ストレージとバージョン管理サポート
    ストレージは、安全なファイルの保存に加えて、失われたファイルの復元や、MQL5.communityアカウントを使用してのどのコンピュータからでものコードへのアクセスを提供します。

MetaEditorの詳細は内蔵されたヘルプファイルで見られます。MQL5の説明は内蔵されたレフェレンス及び MQL5.community公式サイトで見られます。

 

アルゴリズム取引の本 #

初心者をサポートするために、アルゴリズム取引のロボットやアプリケーションの作成を学びたい人向けに設計された、MQL5プログラミングに関する2冊の包括的な書籍をリリースしました。学習プロセスをよりスムーズに進められるよう、これらの書籍は資料を体系的かつ構造的にまとめています。自動売買ロボットやアプリケーションの段階的な作成が詳細なコード例で解説されており、アルゴリズム取引のポイントを深く理解できます。

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

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

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

MQL5.communityウェブサイトにはMQL4/MQL5プログラミングに関する記事の大規模なライブラリがあります。記事は、アルゴリズム取引を含む多くの実用的なタスクを網羅しているので、アプリケーションを作成するための優れたガイドとなります。新しい記事は毎週公開されます。

利用可能なすべての記事のリストは、MetaEditorに直接表示されます。必要な資料を見つけるにはオンライン検索を使用します。

MQL4/MQL5プログラミングに関する記事

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

取引アプリケーションには主に3種類があります。

エキスパートアドバイザー

エキスパートアドバイザーは金融市場の効率的な運用のための分析及び取引活動の完全な自動化を可能にする機械的な取引システムです。これらは、受信されたシグナルに基づいて価格データ及び制御取引活動の迅速な技術的解析を実行することを可能にします。それらはまた、感情を排除して売買ストラテジーに厳密に従うことができます。

エキスパートアドバイザーはすべて取引プラットフォームの/MQL5/Expertsに保存されます。

カスタム指標

カスタム指標とは、価格のダイナミクスを分析するために意図してカスタム開発されたテクニカル指標です。取引ストラテジーとエキスパートアドバイザーは、指標のアルゴリズムに基づいて開発されています。カスタム指標は、シンボル価格動態の分析に使用されます。指標はトレードできず、チャートにアクセスすることはできません。

指標はすべて取引プラットフォームの/MQL5/Indicators フォルダーに保存されます。

スクリプト

スクリプトは、 MQL5で書かれたアクションを1 回実行するためのアプリケーションです。スクリプトは分析及び取引機能を果たせます。アドバイザーと異なり、スクリプトはリクエストによって実行されます。言葉を変えると、エキスパートアドバイザーの継続的な動作に比べて、スクリプトは機能を実行して停止します。

スクリプトはすべて取引プラットフォームの/MQL5/Scripts フォルダーに保存されます。

サービス

サービスによって、証券会社の取引サーバに実装されているのと同じような、プラットフォーム用のカスタム価格フィードの作成と外部システムからの価格のリアルタイム配信の実装が可能になります。サービスは、バックグラウンドで他のサービスタスクを実行するためにも使用できます。

エキスパートアドバイザー、指標、スクリプトとは異なり、サービスは特定のチャートにリンクされていません。このようなアプリケーションはバックグラウンドで実行され、ターミナルの起動時に自動的に起動されます(アプリケーションが強制的に停止された場合を除く)。

すべてのサービスは取引プラットフォームの/MQL5/Servicesフォルダに格納されています。

フォルダ—内で、エキスパート、指標及びスクリプト、アプリケーションはサブフォルダに分類されています。ロケーションのストラクチャーはナビゲーターウィンドウに表示されます。

取引アプリケーションの作成と実行の方法 #

MetaEditorで作成MetaEditorで作成」をナビゲーターウィンドウのエキスパートアドバイザー、指標またはスクリプトセクションのコンテクストメニューをクリックします。MetaEditorは F4を押しても起動できます。

取引アプリケーション作成の開始

これは MetaEditorを起動し自動的にMQL5Wizardを開きます。ソフトウェア開発を開始するために必要なプログラムテンプレートを生成するために使用されます。「Hello world」メッセージをジャーナルに書く簡単なにスクリプトを作成しましょう。

MQL5Wizardはアプリケーションテンプレートを作成します。

作成されたテンプレートにPrint("Hello World");のコードを追加してF7を押してコンパイルし実行ファイルを生成します。実行ファイルはEX5拡張子を持ち、取引プラットフォームで実行できます。

コンパイルとその結果

コンパイルの結果はエディターログに追加されます。

ソースコードはアプリケーションの種類に応じて、MQL5\Scripts\フォルダーに保存されます。実行ファイルは同じフォルダーに作成されます。ここで取引プラットフォームに戻って作成されたスクリプトを実行できます。

取引プラットフォームでのスクリプトの実行

自動売買プログラムの使用の詳細は「エキスパートアドバイザーとカスタム指標」セクションで説明されています。

取引アプリケーションの編集の方法 #

売買ロボットやカスタム指標の編集には「変更 変更」をナビゲーターウィンドウのコンテクストメニューでクリックするか選択してEnterを押します。これは MetaEditorで選択された指標のソースコードを開きます。指標の変更後、再度コンパイルします(F7)。さもないと以前のバージョンがプラットフォームで使用されます。

取引アプリケーションのシャットダウンの方法 #

プラットフォームでの取引アプリケーションのシャットダウンの方法はいろいろあります。

自動売買ロボット

カスタムテクニカル指標

スクリプト

  • 指標の削除削除」または指標のコンテクストメニューで「指標ウィンドウの削除指標ウィンドウの削除」をクリックします。
  • 「削除」をインディケータリストウィンドウでクリックします。
  • 定形チャートを変更します。
  • チャートを再び開きます。
  • チャートで取引アプリケーションが実行中の場合、対応する実行ファイルがナビゲーターウィンドウから削除されても実行は停止しません。
  • エキスパートアドバイザーは取引プラットフォーム設定で無効にされても完全には無効になりません。エキスパートアドバイザーの取引機能が無効になるだけです。

ダウンロードされたMQ5ソースコードの実行の方法 #

ソースコードのみがある場合 (*.MQ5)、それを対応したアプリケーションタイプのフォルダーに保存します。

  • エキスパートアドバイザーは /MQL5/Experts
  • 指標は /MQL5/Indicators
  • スクリプトは /MQL5/Scripts

取引プラットフォームデータフォルダーに迅速に移動するにはデータフォルダーを開くファイルメニューの「データフォルダーを開く」を使用します。

取引プラットフォームでファイルを実行するには、MetaEditorでコンパイルします。

  • MetaEditorは F4を押して開きます。
  • MetaEditorではナビゲーターウィンドウのファイル名をダブルクリックしてソースコードを開きます。
  • F7を押してコンパイルします。

これで取引プラットフォームで実行可能な *.EX5ファイルが作成されます。

ソースファイル(*.MQ5)は取引プラットフォームのナビゲーターウィンドウには表示されません。