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.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)は取引プラットフォームのナビゲーターウィンドウには表示されません。