1. 経済指標と金融政策で勝つFX攻略サイト
  2. FXコラム
  3. ≫MT4の自動売買機能を活用しよう!

MT4の自動売買機能を活用しよう!

LINEで送る
Pocket

ここではMT4の自動売買機能について解説していきます。

この記事の目次
自動売買機能ってどんな機能?
 ○自動売買のメリット
 ○自動売買のデメリット
EA(Expert Advisors)とは?
 ○EAの入手方法
 ○EAのインストール方法
 ○EAの起動・停止・削除方法
超便利な「バックテスト機能」を活用しよう
 ○バックテストとは?
 ○ヒストリカルデータを活用しよう
  ・ヒストリカルデータとは?
  ・ヒストリカルデータのダウンロード方法
 ○バックテストを行う方法
 ○検証後の各画面の見方について
  ・結果画面
  ・グラフ画面
  ・レポート画面
  ・操作履歴画面
 ○バックテスト中の値動きを確認する方法
 ○恐ろしく便利な「最適化機能」を活用しよう
  ・最適化内容の設定方法
  ・最適化の結果画面の見方

自動売買機能ってどんな機能?

自動売買機能とはシステムトレードとも呼ばれ、その名の通り自動でトレードしてくれる機能です。
エントリールールを組み込んだプログラムをMT4に導入することで、後は勝手にそのエントリー基準が満たされたときにエントリー&決済までしてくれるようになります。

この自動売買機能が具体的にどんな点で優れていてどんな点で不利なのか、以下でそれぞれ見ていくことでどんなものなのかが詳しくわかるはずです。

自動売買機能のメリット

感情的なトレードを犯して大損害を被ることがなくなる
…FXで失敗する大きな原因の一つに感情的なトレードがあります。
いかに素晴らしいエントリールールや技術を持っていても、一度でも感情的になってしまうと資金を飛ばしかねないこの世界ですから、感情的なトレードをしてしまうというトレーダーにはもってこいの機能と言えます。

PCやスマホに張り付いてチャートを見る時間を減らせる
…自動売買機能を利用すればMT4がプログラムに従って全部自動でトレードを行ってくれるので後は任せておくだけで良くなります。

全ての通貨ペアを24時間監視できるので機会損失をほぼ無くせる
…普段目視でチャートを見ていると、絶好のエントリーポイントを見逃してしまい後で「ここで入っておけば…」と後悔することも少なくありません。
しかし自動売買機能を使えば指定した全ての通貨ペアを24時間監視してくれるので、エントリーポイントを見逃して悔しい思いをすることがめっきり減る事間違いなしです。

プロのトレーダーのエントリールールを完璧に真似できる
…後述のEAというプログラムを活用すれば、プロが作成したエントリールールをそっくりそのまま真似できるので、物によっては大きな利益を得ることが期待できます。

過去チャートの検証を行うことで最適なプログラムに自動修正することもできる
…後述のバックテストを活用すれば事前に有効なプログラムかどうかを確認できますし、さらには自動で最適なエントリールールに修正させることもできます。

自動売買機能のデメリット

突発的なイレギュラーな値動きに対応しにくい
…いくら優秀なプログラムだとしてもやはりプログラムに過ぎず、人による判断のような臨機応変な対応はできません。

定期的な動作確認は必要
…いくら自動でやってくれるとはいえ、上記のイレギュラーな値動きがないかの確認や機械が正常に動いているかなどの確認は定期的にしておく必要があります。
とはいえそれ以外はほったらかしにできるのでやはり大きな時間短縮になることは間違いないです。

MT4を起動したままにしておくために常にPCを開いておく必要がある
…自動売買機能はバックグラウンドで行われるものではないため、MT4を起動したままにしておくためにPCもずっと開いたままにしておく必要があります。

もちろん完璧なツールなど存在しないので自動売買機能にもデメリットはありますが、使い方によっては大きな味方になってくれるのは間違いありません。
実際にプロのトレーダーの中にもこの自動売買機能で大きな利益を上げている方が多くいます。
この機能を上手く活用して時間もお金も自由になればもう言うことありませんね。

EA(Expert Advisors)とは?

MT4の自動売買機能というのはゲーム機に例えるとゲームボーイやPSPなどハードに過ぎず、それを使ってトレードするには別途ゲームソフトが必要というわけです。
このゲームソフトに当たるのが、EA(エキスパート・アドバイザー)と呼ばれるプログラムです。
このEAにはチャートがどういった状況になったらエントリーするのか、どういった状況になったら決済するのかといったトレードルールが組み込まれており、そのルールが無数にあるようにEAも無数にあります。

EAの入手方法

EAの入手方法として大きく分けて「ネット上で手に入れる」のと、「自分で作成する」の2通りがあります。
EAを自作するにはMQL4と呼ばれるプログラミング言語を扱える必要がありますが、ネットで配布しているものも無数にあるので非常にありがたいことです。

ネット上でダウンロードできるEAには無料のものと有料のものがあり当然後者の方が良いものが多いですが、有料のEAの中には全く役立たないただの販売の売り上げ目的の悪質な物もありますので、バックテストを参考に慎重な見極めが必要となります。

EAのインストール方法

では実際にEAをMT4の中にインストールする方法を解説していきます。

ea

まずMT4画面左上部の「ファイル」→「データフォルダを開く」をクリックします。

ea2

するとMT4の内部のファイルを入れるフォルダが開きますので、「MQL4」→「Experts」と順にフォルダを開いていってください。
その後Expertsフォルダ内にインストールしたいEAを入れ、データを反映させるためにMT4を一度再起動します。

ea3

するとチャート左側のナビゲーターウィンドウ内の「エキスパートアドバイザ」の中に先ほどExpertsフォルダ内に入れた新しいEAがインストールされているのが確認できます。

以上がEAのインストール方法となります。

EAの起動・停止・削除方法

では実際にEAを起動してみましょう。

ea4

チャート左側のナビゲーターウィンドウ内「エキスパートアドバイザ」の中から起動したいEAをクリックすると上の画像の表示が出てきますので、お好みの設定を済ましたら「OK」をクリックします。

ea5

その後上の画像上部の赤枠内の「自動売買」をクリックするか、「Ctrl+E」キーの同時押しで自動売買機能のオン/オフが切り替えられるので、オンにした後チャート右上のEA名(上の画像黄枠内)の右側の顔マークが笑顔になっていれば起動成功です。

反対にチャート右上の顔マークが困り顔になっているときは自動売買機能が停止している証拠ですので、機能を停止したい場合もこの顔マークをご参照ください。

ea6

チャート右上からEAの表示を削除したい場合は、EAの表示があるチャートの上で右クリック→「エキスパートアドバイザ」→「削除」の順でクリックしていくとEAを削除できます。

超便利な「バックテスト機能」を活用しよう

バックテストとは?

MT4の自動売買機能が優れている理由として、このバックテスト機能が大きな要因の一つとなっています。
これは過去チャートのデータを用いて、EAに組み込まれたトレードルールに基づいて疑似的に取引を行い、その取引成績を即座に算出してくれるといったものです。

これを使えばそのEAがどのくらい有用なのかといったことも大体は把握できますし、何より後述の「最適化機能」を用いればさらなるトレードルールの向上を図ることもできますので、自動売買を使うなら絶対に欠かせない機能といえます。

ヒストリカルデータを活用しよう

ヒストリカルデータとは?

バックテストを行う際には「ヒストリカルデータ」をダウンロードする必要があります。
これは過去チャートのデータで、膨大な量のデータをオフラインで検証することができるので非常に便利です。

ヒストリカルデータのダウンロード方法

では実際にヒストリカルデータをダウンロードしてみましょう。

historical

まず「Ctrl+O」キーの同時押しで「オプションウィンドウ」を開きます。
その後「チャート」タブをクリックし、「ヒストリー内の最大バー数」と「チャートの最大バー数」を増やします。
これはヒストリカルデータのデータ量を増やすための操作で、より長い期間・より短い時間軸で検証すればするほど多くのチャートデータが必要となります。

数ヶ月~1年程度の検証期間なら、5分足で検証するにしてもプルダウン内で最大の「250000」で十分事足ります。
更に長い期間で検証したい場合は自分で数値を書き込めばさらに多くのチャートデータをダウンロードすることもできます。

historical2

データ量を増やす操作が終わったら、次はいよいよヒストリカルデータをダウンロードします。
「F2」キーを押して「ヒストリーセンター」を表示させ、ダウンロードしたい通貨ペアを選び、適当な時間軸を選択して「ダウンロード」をクリックします。
ここでどの時間軸を選択しても、全ての時間軸でヒストリカルデータがダウンロードされるので問題ありません。

historical4

historical3

最後にMT4画面左上部の「ファイル」→「オフラインチャート」をクリックし、出てきた通貨ペアの一覧から先ほどダウンロードした通貨ペアを見つけ出し、バー数が膨大になっていればヒストリカルデータのダウンロードは無事完了です。

バックテストを行う方法

では今度は先ほどダウンロードしたヒストリカルデータを用いて実際にバックテストを行う方法を解説していきます。

backtest

まずMT4画面左上部の「表示」→「ストラテジーテスター」をクリックするか、もしくは「Ctrl+R」キー同時押しで「テスターウィンドウ」を開いてください。

backtest2

その後出てきたウィンドウ内の「セッティング」タブをクリックしテストの各設定を行っていきます。
各設定の説明は以下の通りです。

エキスパートアドバイザ:「エキスパートアドバイザ」と「インジケータ」を選択する欄が一番左上にありますが、今回はEAのテストを行うのでエキスパートアドバイザを選択します。
その右でテストするEAを選択します。

通貨ペア:検証したい通貨ペアを選択します。
先ほどヒストリカルデータをダウンロードしたペアを選択しましょう。

期間:通貨ペア選択欄の右の「期間」では、検証したい時間軸を選択します。

モデル:検証の手法を選択します。
検証時間はかかっても詳細なデータが欲しい時は「全ティック」、
短時間で大まかな検証結果が欲しい場合は「コントロールポイント」がおすすめです。
「始値のみ」はローソク足を使う多くのトレーダーやEAにはおすすめできません。

スプレッド:スプレッドを設定します。
特にこだわりがなければ「現在値」のままで大丈夫です。

期間を指定:チャート検証を適用する期間を設定します。

最適化:空欄のままで大丈夫です。
詳しくは後述します。

ビジュアルモード:期間中の値動きを可視化するモードです。
詳しくは後述します。
初期設定の幅だと下に隠れてしまっているので、この欄が表示されていない場合はテスターウィンドウの上下幅を広げてみてください。

以上の設定を終えたら、「スタート」をクリックしてバックテストを開始しましょう。

検証後の各画面の見方について

backtest3

バックテストが終わると「結果」「グラフ」「レポート」「操作履歴」の4つタブが現れ、それぞれで検証結果が確認できます。
以下でそれぞれの画面の見方を解説していきます。

結果画面

backtest4

結果画面では、期間内で行われた全ての取引・操作が一覧できます。
上の画像赤枠内の意味を解説をしていきます。

時間:その取引操作が行われた時間です。

取引種別:その取引操作の種類です。
それぞれの意味は以下の通りです。
buy…買い注文
sell…売り注文
modify…注文内容(指値・逆指値の値など)の修正
s/l…「stop loss(損切り)」の略 損切りの逆指値注文が発動すると表示されます。
t/p…「take profit(利益確定)」の略 利益確定の指値注文が発動すると表示されます。
close…成り行き注文での決済

注文番号:その取引の番号で、期間中に行われた取引に1から順に付けられていきます。
注文発動から決済までで1セットと考えます。

数量:取引が行われた枚数です。

価格:取引が行われた時点での価格です。

決済逆指値(S/L):損切りの逆指値注文が発動する価格です。

決済指値(T/P):利益確定の指値注文が発動する価格です。

グラフ画面

backtest5

グラフ画面では、期間内の証拠金額をグラフで一目で確認できます。
縦軸が証拠金残額、横軸が取引回数をそれぞれ表していて、グラフが右肩下がりなら取引が重なるにつれ証拠金が減っていて、逆に右肩上がりなら取引が重なるにつれ証拠金が増えていることを示します。

レポート画面

backtest6

レポート画面では、取引の様々な詳細な結果を数値で確認することができます。
それぞれの欄の意味は以下の通りです。

テストバー数:期間内に参照したローソク足の本数

モデルティック数:期間内に参照したティック数

モデリング品質:参照元のオフラインチャートの精度を算出した結果

不整合チャートエラー:エラーのあったローソク足の本数

初期証拠金:最初にあった証拠金額

スプレッド:参照にしたスプレッド

純益:損益の総額

総利益:利益の総額

総損失:損失の総額

プロフィットファクタ:「(総利益)÷(総損失)」算出される総利益と総損失の比率

期待利得:「(純益)÷(取引回数)」で算出される取引1回あたりの平均損益額

絶対ドローダウン:「(初期証拠金額)-(期間中の最低証拠金額)」 一時的な物も含め、期間内で最大どのくらい証拠金が減ったかを示す

最大ドローダウン:1トレードでの最大損失額 証拠金額を最も減らした取引時の損失額

相対ドローダウン:1トレードでの最大損失率 証拠金減少率が最も大きかった取引時の証拠金減少率

総取引数:期間内の取引回数の合計
売りポジションと買いポジションそれぞれの回数と割合

勝率(%):損益が+で終わった取引の回数とその割合

負率(%):損益が-で終わった取引の回数とその割合

最大勝トレード・負トレード:一度の取引での最大利益額と損失額

平均勝トレード・負トレード:勝ちトレード時と負けトレード時の平均損益額

最大連勝・連敗(金額):期間内での最大連勝数と連敗数 ()内はその時のトレードでの合計損益額

最大連勝・連敗(トレード数):ほとんど上記の最大連勝・連敗(金額)と()の外と中が入れ替わっただけ

平均連勝・連敗:勝ちトレードと負けトレードのそれぞれの連続回数の平均

操作履歴画面

backtest7

操作履歴画面では、期間内取引時のEAの反応が詳細に記録されています。
EAを作成したり修正したりしない方は使うことはないです。

左側赤枠内の黄色い三角形が赤い三角形や赤い丸などになっていた場合、エラーを表しているためその部分を修正する必要があります。

バックテスト中の値動きを確認する方法

backtest8

先ほど解説したバックテストの設定時、「ビジュアルモード」の欄にチェックマークを入れると検証終了後に期間内の値動きと取引タイミングを可視化してくれるチャートが現れます。
ローソク足での表示は有りませんが、大まかにどのタイミングで、どんなチャート型でエントリーしたのかが手を取るようにわかるのでおすすめです。

恐ろしく便利な「最適化機能」を活用しよう

MT4の自動売買機能には、検証結果から自動で取引結果を最適化するようにEAのパラメータ(トレード手法)を変更する「最適化」といった非常に便利な機能があります。
もちろんある期間と同じ相場は二度と出てこないので最適化をしたからと言って今後もずっと勝ち続けられるとは限りませんが、少なくともトレードルールの欠点見つけ出したり今後の修正の手助けになってくれることは間違いないでしょう。

最適化内容の設定方法

backtest9

実際に最適化を始める前に、最適化の内容を予め設定しておく必要がありますので以下で事前準備の方法を解説していきます。

まずテスターウィンドウ内のセッティングタブ画面の右上にある「エキスパート設定」をクリックし、その後出てきた表示内の「テスト設定」タブをクリックし、この表示内で最適化時の設定をしておく必要があります。
それぞれの設定欄の意味は以下の通りです。

最適化パラメータ:どの要素を重点に最適化するかを設定します。
それぞれの意味は以下の通りです。
Balance…以下全ての要素をバランス良く高める調整を行います。通常はこの設定で大丈夫です。
Profit Factor…利益額を重点的に高める調整を行います。
Expected Payoff…平均損益額を重点的に高める調整を行います。
Maximal Drowdown…最大損失額を抑えることを重点的に考えた調整を行います。
Drowdown Percent…証拠金の減少率を抑えることを重点的に考えた調整を行います。
Custom…手動でEAのパラメータを設定する方法です。

遺伝的アルゴリズム:最適化方法の一つです。
チェックは入ったままにしておくことをおすすめします。

takeprofit10

その後同表示内の「パラメーターの入力」タブをクリックし、最適化したいパラメーターの左側にチェックマークを入れ、右側の数値をダブルクリックして検証内容を設定します。
各用語の解説は以下の通りです。

:現在EAで設定されている値

スタート:検証する値の最小値

ストップ:検証する値の最大値

ステップ:スタートからストップまで検証する際の間隔

これだけだと伝わりにくいと思いますので具体例を挙げて説明します。
例えば「Take Profit(利確)」の最適な幅を検証するとします。
現在50pipsの利確幅を50~100pipsまで検証したい場合、「値」は50.0、「スタート」は50.0、「ストップ」は100.0になります。
また、51,52,53,…,100と1pips間隔で検証したい場合は「ステップ」を1.0、
50.1,50.2,50.3,…,100.0と0.1pips間隔で検証したい場合は「ステップ」を0.1とすれば大丈夫です。

また、設定次第では普通のバックテストの何倍もの検証時間がかかってしまうので注意が必要です。
例えば2つに項目にチェックを入れ、それぞれスタートに「50」、ストップに「100」、ステップに「10」入れたとすると、各項目6通りの検証が必要なので、その組み合わせで6×6=36回の検証が必要になります。
場合によっては数時間、下手したら10時間以上かかってしまう場合もあるので、なるべく検証する項目は最低限に抑えましょう。

backtest11

最後に「最適化」タブをクリックし、検証結果に制限を加えたい項目があれば左側にチェックマークを入れます。
各項目の意味は以下の通りです。

最小口座残高:口座残高の下限を設定し、指定した残高以下になったパラメーターを検証結果から除外します。

最大利益:利益の最大値を設定し、指定した利益以上を出したパラメーターを検証結果から除外します。

最小証拠金レベル%:証拠金維持率の下限を設定し、指定した利益以下の割合になったパラメーターを検証結果から除外します。

最大ドローダウン:1回の取引当たりの最大許容損失額を設定し、指定した金額以上の損失を出したパラメーターを検証結果から除外します。

連敗:連敗した際の最大許容損失額を設定し、指定した金額以上の損失を連敗の際に出したパラメーターを検証結果から除外します。

連敗トレード:最大許容連敗数を設定し、指定した回数以上に連敗したパラメーターを検証結果から除外します。

連勝:連勝した際の最大利益許容額を設定し、指定した金額以上の利益を連勝の際に出したパラメーターを検証結果から除外します。

連勝トレード:最大許容連勝数を設定し、指定した回数以上に連勝したパラメーターを検証結果から除外します。

以上で最適化する前の下準備は終わりになります。

backtest12

以上の準備を終え、テスターウィンドウのセッティングタブの「最適化」の欄にチェックマークを入れた上で「スタート」をクリックすれば最適化テストが開始されます。

最適化の結果画面の見方

backtest13

最適化テストが完了すると、下のタブに新たに「最適化結果」と「最適化グラフ」が追加されます。
まずは「最適化結果」の方を開いてください。

ここには各組合せパターンの成績がランキング形式で表示されます。
今回は「TakeProfit(50~100)」と「TrailingStop(50~60)」を最適化項目に含めたので、上の画像右の赤枠内でどの項目がどのパラメーターの組み合わせなのかも確認できます。

backtest14

因みに初期の設定では最適化結果からマイナスの成績だったものが自動的に除外されてしまっています。
なのでもしマイナスの結果を含めて表示させたい場合、テスターウィンドウ上のどこかで右クリック→「マイナスの結果を表示しない」をクリックしチェックマークを外す必要があります。

backtest15

最後にもう一方の「最適化グラフ」タブの見方を解説します。
このグラフは先ほどの「最適化結果」の一番左の項目である「パス」が横軸、資産変動が縦軸で表示されています。
4番のパスが一番高いことが視覚的にわかりますが、これは先ほどの結果と一致しています。

backtest16

さらに「最適化グラフ」画面でスペースキーを押すと、上の画像のような図が表示されます。
これは横軸と縦軸にそれぞれのパラメーターのパターンが割り当てられていて、緑色の濃い領域ほど結果が良かったことを表します。

今回の検証では横軸が「TakeProfit」、縦軸が「TrailingStop」ですので、TakeProfitが80且つTrailingStopが50の時に最高のパフォーマンスだったと視覚的にわかりますが、これも先ほどの「最適化結果」タブの表示と一致しています。


最初にも述べたように、自動売買は自分の目から離れてトレードを行う以上リスクはあります。
ただここで解説した通り非常に機能性に優れていますし、上手く使えば大きな味方になってくれることは間違いありません。
なのでここでの解説を大いに役立てて、是非自動売買を使いこなせるようになってくださいね。

LINEで送る
Pocket

コメント

この記事へのコメントはありません。

コメントする


※メールアドレスは公開されません。