【記事要約】
MT4で自動売買するために必要はEA(エキスパートアドバイザー)。販売されているEAもあるが、実績も定評もあるEAはソコソコのお値段。コストをかけずに自分でEAを追求してみたい!という場合は自分でも作ることができる。ただし、プログラミングの知識はもちろん必要。
1. EAの開発環境を準備する
前回はMT4をインストールする話しをした。
次はEAの開発環境だが、これは簡単。
MT4のインストールと同時にEAを開発するための『MetaEditor』がインストールされるので、
Windowsのスタートボタン>OANDA MetaTrader>MetaEditor
で立ち上げるか、MT4のメニューの表示>ストラテジーテスターを選択し、開いた画面の[エキスパート編集]ボタンからもMetaEditorを立ち上げることができる。
こちらがMetaEditorの画面
Navigatorの中にある「Experts」フォルダをクリックすると、EAの元ファイルが格納されている。
(表示されていない場合は、メニューのView>Navigatorを選択して表示させましょう)
2. EAをコーディングする
EAを作る大まかな流れは3つ。
①プログラムをコーディングする
②ファイルを保存する(拡張子mq4)
③プログラムをコンパイルする
まず①のプログラムコーディングについてだが、当然プログラミングの知識が必要。
プログラムを書くにあたって、僕が参考にさせてもらったサイトは2つ。
この2つさえ知っていれば、自分が実装したいロジックをコーディングできることができるはずだ。
MACD Sample.mq4やMoving Average.mp4というサンプルファイルが用意されているので、その内容を見て、分からない関数などは、紹介した上記のサイトで調べるという手順を取れば、EAコーディングの勝手が分かることと思う。
僕はEAを読み込んだ時、1度だけ実行する処理を実行させる「int OnInit」とティックが動く度(値動きする度)に処理を実行させる「void OnTick」の中にロジックを書き込んでEAを作った。
1 2 3 |
int OnInit(){ //EAを読み込んだ時、1度だけ実行する処理をコーディング } |
1 2 3 |
void OnTick(){ //Tickが動く度(値動きする度)に実行する処理をコーディング } |
いろいろなサイトを読んで、このタイミングで売買したいと考えたロジックを先程紹介した2つのサイトから関数をチョイスして、オリジナルで作り込むという流れだ。
3. EAをコンパイルする
EAをコーディングしたら、MT4で稼働させるために「コンパイル」をする必要がある。
コンパイルはボタンひとつで出来るのでとても簡単。
MetaEditor上部の[Compile]ボタンを押すだけでOK。
コンパイルボタンを押すと、エラーがでる場合に、ToolboxのErrosタブにエラー内容が表示される。
このエラーを修正してサイドコンパイルすればOK。
4. EAのテストをする
次に作ったEAがどのように稼働するかテストをする。
まず、テストをするために過去のチャートデータを取り込む。
MT4の画面でメニューからツール>ヒストリーセンターを選択。
通貨ペアの中からデータを取得したい通貨の組み合わせと分足を選択する。
その状態で[ダウンロード]ボタンを押すと、データがダウンロードされる。
次にMT4の画面でメニューから表示>ストラテジーテスターを選択。
するとテスターウィンドウが表示される。
テストしたいエキスパートアドバイザー、通貨ペア、期間を設定する。
[エキスパート設定]ボタンを押し、テストしたいロットの選択もできる。
[スタート]ボタンを押せばテストがスタートする。
テスト結果は、取引が実行された時間と価格など詳細を確認することができ、また口座の変化をグラフで見ることもできる。
レポートタブでは、勝ち率、負け率などの詳細な分析情報もみることができる。
5. EAをMT4で稼働させる
できたEAを実際にMT4で稼働させる手順は以下の通り。
①MT4上部にある自動売買ボタンを押す。
②稼働させたい通貨ペアと分速のチャートを表示させる
③「ナビゲーター」からEAを選択し、②で表示させたチャートにドラッグ・アンド・ドロップする。
チャートの右上にEAの名前とニコニコマークが表示されればOK。
マークの顔が笑っていないと、稼働していないので、自動売買ボタンを押し忘れていないか等確認。
EAは、ストラテジーテスタで95%以上の勝率で利益を上げていても、実際に稼働させると全然利益が取れないということが多々ある。
そのため、ストラテジーテスタと実際の動きは全く異なることが多いので、まずはデモアカウントでテストするのがよい。
これで晴れてEAを使ってMT4でFXの自動売買ができるようになった。
しかし、なかなか自作EAを24時間稼働させて利益を得るということは難しい。
作って、テストしてみると分かるのだが、あっちを叩けばこっちが…、の状態で確実に利益を上げるEAを作るのは現在の僕の力量では無理と判断。
コツコツ少量のpipsを稼いでいてもあるタイミングでドカンとマイナスになったりすることがあるからだ。
EAを作るまではさほど難しくないけれども、利益を上げることは難しいというのはこのことだ。
そのため僕は自作したEAと裁量トレードのハイブリットで現在は取引をしている。
まずはリスクを少なく、テストを重ねて慎重にトライしていただけたらと思う。