MT5という取引プラットフォームには、取引戦略を作成するための独自のプログラミング言語が組み込まれています。
これはMQL言語の第5世代であるMetaQuotes Language 5(MQL5)です。
MQL5では、取引プロセスを自動化するExpert Adviser(EA)の作成や、独自の取引戦略の実装が可能です。
また、MQL5では、カスタムインジケーター、スクリプトを作成することもできます。
この記事では、MT5という取引プラットフォームで使われている独自のプログラミング言語「MQL5」で自分のトレーディング戦略の取引プロセスを自動化するExpert Adviser(EA)を作成方法を紹介します。
MQL5 の将来性は非常に高く、以下のような特徴があります。
・言語はオブジェクトを使用する。
・高性能なプログラミング言語である。
・逆コンパイルに対する高い防御力がある。新しい複雑な暗号化アルゴリズム、ファイルの整合性チェック、および言語の複雑さにより、プログラムを逆コンパイルすることはほとんど不可能です。
・デバッガを含む統合ソフトウェア開発環境「MetaEditor」が存在する。
すべての言語構文と関数の説明は、MQL5リファレンスに記載されています。
【もうか~るFXのLINE公式アカウントに登録して有益情報をGet!】
もうか~るFXでは、LINE公式アカウントでプロによる日々の相場分析を無料で配信しています。
さらに、もうか~るFXが実際に利用している限定のインジケーターも無料プレゼント中です。
これらをうまく使えば、FXでさらなる利益を残せるようになること間違いありません。
プロによる有益情報の配信は随時おこなっているので、ぜひ友達登録してみてくださいね。
1.MetaEditorについて
MetaEditorは、MQL5の統合開発環境であり、トレーディングプラットフォームの一部となっています。
MetaEditorでは、MQL5で書かれたソースコードを作成、編集、コンパイル、デバッグすることができます。
ここではMetaEditorで使える便利な機能について紹介させて頂きます。
(a)MQL5ウィザード
MetaEditorには、MQL5プログラムを素早く作成するためのMQL5ウィザードが含まれています。
MQL5ウィザードを使えば、プログラミングのスキルを持たないトレーダーでも簡単にExpert Advisorを作成することができます。
必要なのは、Expert Advisorの取引シグナル、資金管理やトレーリングストップのアルゴリズムを選択することだけです。
コードは、選択されたパラメータに基づいて自動的に生成されます。
(b)ソースコードの編集サポート
MetaEditorは言語構造を認識します。MetaEditorは、言語構造を認識し、関数の使い方のヒントを提示したり、プログラムのソースコードの様々な要素をハイライトしたりします。
これにより、プログラマーは取引プログラムのソースコードをより簡単に操作できるようになり、開発のスピードアップにつながります。
(c)デバッグ
MetaEditorは、プログラムのデバッグを可能にし、トラブルシューティングを容易にします。
また、ソースコードを段階的に実行することで、変数の値を監視することができます。
(d)プロファイリングによるコードの最適化
このMetaEditorには、ソフトウェアのプロファイリングのためのツールも用意されています。
ソースコードの中で最も遅い関数を特定し、プログラムを最適化することができます。
(e)ソースコードのライブラリ
MQL5プログラミングのチュートリアルがエディタからたくさん見られますし、無料の自動売買プログラムの膨大なコードベースにアクセスすることができます。
(f)プレミアム版
このストレージは、ファイルを安全に保管するだけでなく、紛失したファイルを復元したり、MQL5.comのアカウントを使ってどのコンピューターからでも自分のコードにアクセスすることができます。
2.MQL5のアプリケーションの種類
トレーディングアプリケーションには、大きく分けて3つの種類があります。
(a)エキスパートアドバイザー(EA)
エキスパート・アドバイザー(EA)は、金融市場での効率的な運用のために、分析と取引活動の完全な自動化を可能にする自動取引システムです。
エキスパーxト・アドバイザーは、価格データのテクニカル分析を迅速に行い、そのシグナルに基づいて取引活動をコントロールします。また、感情を排除して取引戦略に従うことができます。
すべてのアドバイザーは、トレーディングプラットフォームの「/MQL5/Expert Advisors」フォルダに保存されます。
(b)カスタムインジケーターの作成
カスタムインジケーターは、価格変動を分析するためのテクニカルインジケーターです。
トレーディング戦術とExpert Advisorはカスタムインジケーターのアルゴリズムに基づいて開発されています。
カスタムインジケーターはシンボルの価格変動を分析するためにのみ使用することができます。
すべての指標は、取引プラットフォームの「/MOL5/Indicators」に格納されています。
(c)スクリプト
スクリプトとは、MQL5プログラミング言語で書かれたアプリケーションで、あるアクションを1回だけ実行するように設計されています。
スクリプトは、分析機能と取引機能の両方を実行できます。エキスパートアドバイザー(EA)とは異なり、スクリプトは要求に応じて実行されます。
つまり、アドバイザーがほぼ連続して動作するのに対して、スクリプトはその機能を1回実行して終了します。
(d)サービス
サービスを利用することで、プラットフォーム用のカスタムプライスフィードの利用が可能となり、ブローカーのトレードサーバーに実装されているのと同様に、外部システムからのプライス配信をリアルタイムに実装することができます。
サービスは、エキスパートアドバイザー、カスタムインジケーター、スクリプトとは異なり、特定のチャートにリンクしていません。
このようなアプリケーションは、バックグラウンドで実行され、ターミナルが起動すると(停止していない限り)自動的に起動します。
3.トレーディングアプリケーションの作成・実行・修正
ナビゲーターウィンドウのエキスパートアドバイザー、カスタムインジケーター、スクリプトのセクションのコンテキストメニューにある「Create in MetaEditor」をクリックします。MetaEditorはF4を押しても起動できます。
Meta Editorを開くと、自動的にMQL5ウィザードが表示されます。これを使ってプログラムのテンプレートを生成し、素早く開発を始めましょう。
ジャーナルに “Hello world “というメッセージを書き込むスクリプトを作ってみましょう。
出来上がったテンプレートに、Print(“Hello World”);というコードを追加し、F7を押してコンパイルすると、実行ファイルが出来上がります。
このファイルの拡張子はEX5で、トレーディング・プラットフォームで実行することができます。
コンパイルの結果はエディターログに追加されます。
アプリケーションの種類に応じて、コードは「MQL5\Scripts\」というフォルダーに保存されます。実行ファイルは同じフォルダに作成されます。これで、取引画面に戻って実行することができます。
トレーディングロボットやカスタムインジケータを修正するには、ナビゲーターウィンドウのコンテキストメニューから「修正」をクリックするか、選択してEnterを押します。
これにより、選択したインジケータのソースコードでMetaEditorが開きます。
修正した後、再コンパイル(F7)してください。そうしないと、以前の変更されていないバージョンがプラットフォームで使用されます。
まとめ
この記事では、MT5という取引プラットフォームで使われている独自のプログラミング言語「MQL5」で自分のトレーディング戦略の取引プロセスを自動化するExpert Adviser(EA)を作成方法を紹介させて頂きました。
EA作成にはMetaEditorというツールが便利ですので使いこなしてください。
EAは使いこなせれば自分のトレードに費やす時間を節約しながら資金を増やすことができます。
しかし世の中には広告通りの性能を発揮しない可能性のあるEAプログラムを提供している人がたくさんいることにはくれぐれも注意してください。
自分で使用する前にはデモ口座などでしっかりとテストを行ってから実際の資金を入れることを強くお勧めします。
あなたが苦労して稼いだお金を、ここでコンピュータプログラムに託すことを忘れないでください。