【無料EAあり】MT5で外国為替(FX)の自動売買を始めるやり方を徹底解説

・全くの初心者からFXで自動売買を試してみたい

・EAやMT5という言葉はなんとなく聞いたことがある(でも良くわからない)

・他人が作った自動売買システムを無料で貰って動かす方法が知りたい
こういった状況の方に向けて書いていきます。
この記事を読んで手順を真似することで、完全な初心者でも為替の自動売買を行うことができます。

また記事の最後では、僕が作成した簡単なサンプルEAコード(自動売買ソフト)を無料で公開しています。
これをカスタマイズして自分なりのEAを作成することも可能です。
(なお、最後の部分以外はプログラミング経験が無くてもOKです。)

FXの自動売買の仕組み〜MT5を使う場合〜

まず、FXの自動売買の概要を説明します。
外国為替の自動売買は、基本的にMT5(もしくはMT4)というシステム上で行います。
図にすると、以下の感じですね。
この図からも分かる通り、イチからFX自動売買を始める場合に必要なものは3つあります。
外国為替の自動取引に必要なもの
①MT5と連携可能なFX口座
②MT5本体
③自動売買プログラム(EA)
この記事では、①②③のどれも持っていない状態から、実際にEAを動かして自動売買するまでを順番に解説していきます。

MT5を使うメリット・デメリット

実際の準備に入る前に、MT5というシステムを何故導入するのか?について少し触れておきます。
(興味ない方は飛ばしてもらってもOKです)

MT5を使う理由はそもそも日本の投資家にはMT以外に自動売買の選択肢がほぼないからです。
技術的な話になりますが、FX業者が自社システムのAPIを一般の投資家にも公開していれば、わざわざMT5を経由しなくてもプログラムを自由に自分のPCで走らせて直接売買することができます。

しかし現状、日本の投資家にとってそれが現実的に可能なのはOANDA Japanのみです。
そのOANDAも「口座にお金がXX万円以上ないとAPIが使えない」といった制限があります。
この事情により、多くのFXトレーダーにとってはMT5が最有力選択肢になります。

MT5の長所と短所は以下の通りです。
MT5のメリット
・有料、無料の自動売買プログラム(EA)がたくさん公開されている

・プログラミングが出来なくても他人が作ったEAで自動売買できる

・「口座に残高が○○円以上必要」などの縛りがない
MT5のデメリット
・MT5の操作画面は結構複雑で、慣れるまで戸惑いがち

・EA作成専用プログラミング言語(MQL5)は、自動売買以外の用途に使えない

・MQL5で使えるライブラリはPythonなどに比べて貧弱
⇒実はPythonをMT5上で動かして自動売買することができる(後述)ので、Pythonユーザーはその方法がオススメ

・正規サポートはWindowsのみ(XMならMacでも対応可)
ちなみに、MT5の前のバージョンであるMT4も依然良く使われています。
しかし、徐々に主流がMT5に移りつつあることから今回の記事ではMT5のやり方を説明します。
なお、MT4とMT5は併用出来るので安心してください。
後でMT4を使いたくなった場合は、追加でインストールすればOKです。

外国為替自動売買を始める手順

さて、ここからいよいよFX自動売買の準備に入っていきます。

【準備その1】FX口座開設

まずは、FX口座の開設です。
今回はXMという業者で開設します。
(XM口座を既に持っている方はここは飛ばして OK です)
XMを使うメリット
・世界最大手の安心感
・ボーナス(キャッシュバック)をたくさんくれる
・約定力が高い
・ゼロカットシステム(追証なし)
・日本語対応
・スキャルピング(超高頻度取引)OK
・MACDの自動売買システムなどが無料で手に入る
(追記:MACDのEAはMT5の標準装備でした)
XMのデメリット
・ボーナスだけの出金は不可
・出金方法がややこしい
・スプレッドが少し大きめ
・放置すると休眠口座になる
XM は世界的にみても大手の FX 業者で、海外業者を使う日本人トレーダーにはお馴染みの存在です。
システムトレードにとって重要な約定力が高い(=注文した価格で素早く約定する確率が高い)のが特徴です。
また日本の業者と違って追証が存在しません。
つまり、仮にレバレッジをかけまくって本来なら借金をしてしまうほどの損失を出したとしても、口座にある分以上の損は負わなくてもいいということです。
(そもそもリスク許容度以上のレバレッジをかけない方がいいですが……笑)

これらは日本の業者にはないメリットです。
(ちなみに海外業者とは言っても、開設手続きから実際の運用まで全て日本語でOKです。)

その一方でデメリットもあります。
日本の業者に比べるとスプレッド(買値と売値の差)が少し大きかったり、放置すると休眠口座になってしまうといった点ですね。
90日間操作がない口座は休眠口座として扱われ、毎月残高から500円程度のお金が手数料として引かれます。
取引をする予定がなくなったら、口座からお金を出金しておきましょう。
なお、トレードや入出金をすると、休眠口座から復活します。

以上のメリットとデメリットを考慮した上で、XMは自動売買用の口座に適していると判断しました。

為替自動売買を始める為に、まずはXMの口座を準備してください。
下のリンクからであれば、簡単に口座開設できます(2021年現在、開設すると3000円のボーナスが貰えます)。

無料でXM口座を開設する(3000円ボーナス)

まずリンク先で「口座を開設する」ボタンを押してください。
デモ口座開設ボタンもありますが、この記事では本番口座の開設を解説していきます。
後からデモ口座を追加で開設することも出来るので安心してください。
すると以下のようなフォームのページに飛ぶと思います。
前半部分では、名前やメールアドレスなどの情報を入力します。
後半の取引口座詳細のところでは MT5(FX 並びに株価指数金属エネルギーの CFD 商品) を選択してください(文言は多少変更されている可能性があります)。
さらに、口座タイプはスタンダードを選ぶのがオススメです。
その他の口座タイプには
マイクロ口座……1ロットの大きさが小さい
ゼロ口座……スプレッドが狭い代わりにボーナスがほとんどない
という特徴があります。

こだわりがある場合はこれらは選択しても構いませんが、最もクセが無く多くの人が使っている口座タイプがスタンダード口座です。

上の画像は次のステップの「取引口座詳細」の部分です。
口座の基本通貨はJPYにして、口座ボーナスは当然のことながら「受け取り希望」にします。
見本ではレバレッジは25倍にしています。
XMは海外業者なのでレバレッジの上限が888倍まで可能です。
しかし、レバが大きくなるとリスクも上がるので、初心者のうちは日本国内の基準でもある25倍程度を上限に取引することをオススメします。
(後でレバレッジは自由に変更出来ます)
その他の事項も入力後、一番下の「リアル口座開設」を押すと認証メールが届きます。

メール内のリンクをクリックするとメール認証が完了し、MT5のIDが記載されたメールが届きます。
この ID はこれからも使うので、メモっておいてください(まあこのメールを見返せば書いてありますが一応笑)。

証明書類アップロード

先ほどのIDと設定したパスワードを使えば、この段階で既にXMのマイページにログインできます。
ログイン後、証明書類をアップロードすれば口座が有効になります。
マイページに下のような表示があると思います。
図の赤枠で囲んだ部分のリンクなどから、書類アップロード画面に進んでください。
必要な物は
・マイナンバー
・運転免許証などの身分証明書
・公共料金の領収書(住所確認のため)
などです。
必要な書類の組み合わせなどは結構ややこしいです。
ちなみに僕は開設時、手元に公共料金の領収書がありませんでした。
なので、パスポートをメインの証明書類、運転免許証をサブの証明書類として口座を有効化しました。
さてこれで、書類の審査が無事に終わればXMでFX取引を始めることができます。
次は自動売買に必要なシステムであるMT5の導入方法を解説していきます。

【準備その2】MT5のインストール

早速MT5をインストールしていきましょう。
MT5は
・Windows PC
・Mac PC
・ウェブブラウザ
・iPhone
・iPad
・Android
・Android タブレット
にインストールして使用することができます。
要するにLinux PC以外は基本的にインストール可能だということですね。
(Linux PC の人でもブラウザから使用することができます。)

インストールは下のリンク先から行えます。

無料でMT5をインストールする

ここでは Windows PC 向けの手順を解説しますが、その他の環境の方も上のリンクからインストールすることができます。
Windows PC 対応 MT5のところをクリックして、遷移先で「ダウンロード」を選択してください。
(旧バージョンのMT4が使いたいよ!という方はここでMT4を選択することも可能です。)
インストーラーファイルがダウンロードされるので、これを実行すればインストールは完了です。
他の Windows ソフトのインストールと変わりませんね。
インストール画面に出てくる謎の人物イラストたち
(画像中のMeta Trader 5というのはMT5の正式名称です。)
インストールが完了するとデスクトップにショートカットが作成されます。
次回以降はここをクリックすることで MT 5が起動します。
XMとMetaEditorのショートカット

MT5とXM口座を連結させる

インストール完了時に、下のようなポップアップが出ると思います。
(出なかったor見逃した場合は、デスクトップのショートカットからMT5を起動すればOKです。)
インストール完了時のポップアップ
XM Tradingが出ているのを確認し、「次へ」をクリック。
「既存の取引口座と接続する」でXMの口座開設時に送られてきたIDと自分で設定したパスワードを入力します。

これで、MT5とXM口座の紐づけは完了です。
お疲れ様でした。

なお、インストール完了時にブラウザが立ち上がり「すべてのMeta Trader 4およびMeta Trader 5のサービスにアクセスする」みたいな画面が出るかもしれませんが、一旦無視してOKです。

MT5の画面の見方

インストールが完了すると、MT5が自動で立ち上がるかと思います。
(立ち上がらない場合は、デスクトップのショートカットをクリックすればOKです。)
MT5の画面を簡単に説明しておきますね。
MT5の画面の説明
①為替データとチャート(チャートの表示のされ方は各人の状況によって変わります)

②保存されているEAなどの情報(記事内では左メニューと呼んでます)

③動いているEAの情報(この画像はEAを作動させている状態で撮りました)
MT5の画面は、ゴチャゴチャして分かりにくく感じるかもしれません。
正直僕も使い安いUIだとは思いませんが、まあ慣れるしかありませんね笑

MT5がEAを認識するフォルダ

さて、MT5の立ち上げに成功したところで、EAに話を移しましょう。
僕の環境の場合、MT5はコンピューター内の以下フォルダ内にあるEAファイルを読みこんでいるようです。
C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\長い英数字の列\MQL5\Experts\
MT5の画面の
ナビゲータ>エキスパートアドバイザ>
と進んだところに表示されるEAのファイルは、上記フォルダ内にあるものです。
今後MetaEditor5などを使ってEAを自作すると、デフォルトで上記フォルダ内にEAファイルが保存されます。

【準備その3】EAを用意する

最後の準備として EA(FXの自動売買プログラム) を入手しましょう。
EAの入手方法は大きく分けて3パターンあります。
FXのEA入手法
①公式マーケットで入手する
②ネット上の他人から入手する
③自作する
ここではそれぞれの入手方法と、手に入れたEAを実際に動かす方法を解説します。

MT5の公式マーケットから購入する

まず最初にMT5の公式マーケット(下記リンク)経由でEAを手に入れる方法を紹介します。

https://www.mql5.com/ja/market/mt5/expert/free
公式EAマーケットのメリット
・無料有料含め沢山のEAがある
・使った人のレビューが読める
・説明動画まで用意されている親切なEAも多数
公式EAマーケットのデメリット
・説明が英語の物が多い
・ダウンロードに会員登録が必要(無料)
公式マーケットからEAをインストールする場合、やり方は簡単です。

①欲しいEAのページに行き「ダウンロード」ボタンを押すと「MT5を既にインストールしていますか?」と聞かれます。
先述した手順でインストール済みの方は「はい」と答えます。

②MT5が立ち上がります。

③MT5の真ん中の部分(下記画像参照)を見るとEAのダウンロードが進んでいることがわかります。
(ここでは例として無料のHyper TraderというEAをインストールしています)
④インストール完了後、MT5の左メニューの
エキスパートアドバイザ>Market
にインストールしたEAが反映されています。
⑤チャートにEAをドラッグ&ドロップし上メニューの「アルゴリズム取引」をonにします。
するとアイコンの一部が赤から緑に変わります。

※EAのパラメータを調整したい時は、左メニューのEAをダブルクリックし、「インプット」タブの「値」を変更します。

※EAを停止したい時は、再度「アルゴリズム取引」ボタンをクリックして、緑から赤に変えればOKです。

EAをネット上の他人から貰う

EAは、ネット上の開発者から貰うことも出来ます。
例えば、noteで「EA 無料」などで検索すれば、簡単にEAを配布している人を見つけられると思います。
レビューなどが見られない分、非公式ルートでEAを貰うのはリスクもあります。
特に「絶対儲かる」「必勝AI」などと謳っているものは詐欺の可能性もあるので注意してください。
過剰に利益をアピールしているものも気をつけたほうが良いです。

拡張子.ex5のファイルの扱い方

さて公式マーケット以外からEAを入手する場合は.ex5という拡張子のファイル(もしくはそれを圧縮した ZIP ファイルなど)がダウンロードされていることと思います。
(ちなみに拡張子が.ex4のものはMT4用のEAです。これは別途MT 4をインストールしないと使用できません。)
この状態からEAを使用するには以下の手順を取ります。
①MT5を起動する

ctrl + shift + Dを押し、MT5で使うフォルダを立ち上げる

MQL5 > Expertsの順にフォルダを進み、Expertsフォルダ内に先程の.ex5ファイルをコピーする

④MT5を一旦閉じ、再度起動させる
すると公式インストールの時と同じように、左側メニューに EA が反映されます。
ここからは公式ルートのインストールと同じように、これをドラッグ&ドロップして有効化させるだけです。

EA(Expert Advisor)はサーバー上で動かすことも可能

実はEAの動かし方は大きく二通りあります。
EAの動かし方
・自分のPCから動かす

・VPSから動かす(業者のコンピューターに自分専用領域を借りてEAを動作させる)
ここまで説明した方法は、自分のPCからEAを動かす方法になります。
自分のPCから動かせば、
・手軽に無料でEAを動かせる
というメリットがある反面、
・PCの電源を落とすとEAが作動しない
というデメリットがあります。
なので、ずっとEAを作動させて為替取引を行いたい場合は、VPSを選択するのがオススメです。

MT5の左メニューから口座の所で右クリックし、「バーチャルサーバーを登録」からVPS使用の申請に進むことができます(下画像参照)。
2021年現在、VPSを使用した場合の費用は月1500円くらいです。

EAをMQL5で自作する

最後のEA入手法はズバリ、自作です。
MT5用のEAは専用のMQL5という言語を使って作成することができます(MT4用のEAはMQL4という言語で作ります)。

これから、MQL5を使ってEAを自作する手順を説明しますね。
なお、このやり方はプログラミング知識が要求されます。

MT5インストール時にデスクトップにMetaEditor 5というショートカットが出来ていると思います。
MT5の為替用自動取引プログラムは、このエディターを利用して作ることが出来ます。

実はPythonでもMT5用の自動売買コードを作成できる

MQL5での自作方法の解説に入る前に、少し脇道にそれます。
Pythonというプログラミング言語に慣れ親しんだ人に向けての解説を少し挟むこととしましょう。
(Pythonを知らなければスルーでOKです)

FXのEAは依然としてMQ4 or MQ5で作成するのが一般的です。
が、ここまでの手順でMT5をインストールしていた場合、一応PythonでもEAを作成できることを確認しました。
PythonでFXのEAを作成する手順
①MetaEditor5を開き、上のメニューの「新規作成」を選択
②Pythonスクリプトを選択して「次へ」
③ファイル名などを自由に設定
④コード中で使用するライブラリを選択
⑤コードを作成
作成したコードは僕のwindows環境の場合、
C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\長い英数字の列\MQL5\Scripts\
に保存されるようになっていました。

なので、Meta Editor5ではなくatomやVScodeなどの便利なエディタで作業したい人は各自作成したコードをこのディレクトリに放り込んでおけば動かせそうですね。

MT5の左メニューのフォルダに作成したコード(画像の例ではPythonEA.pyというファイルを作成しました)が存在しているのを確認してください。
これをMT5上でダブルクリックすると、プログラムが起動しました。

PythonであろうがMT5上で動かすことには変わりないので、専用ライブラリをインストールしておくのをお忘れなく!
pip3 install MetaTrader5
公式のドキュメントを読む限り、order_send関数などそれっぽい名前の関数が存在しているので、自動売買自体も問題なく行えるはずです(未検証)。
なお、スクリプト言語なので当然ですが、Pythonを使う場合はMeta editorからコンパイルする必要はありません。

ちなみにMTでなく直接FX業者のAPIを使ってPythonコードを動かす方法は、以下記事をご参照ください。

【2時間で完成】為替(FX)を予想する深層学習AIをPythonで無料作成

MT5用のEAのサンプルを無料公開(MQL5)

さて、話を戻してMQL5で簡単なEAを自作してみましょう。
今回例として作るのは「移動平均のゴールデンクロス(=例えばドル円チャートが移動平均を下から上に突き抜ける)で買う」EAです。
自動でポジションを閉じることもなく、淡々とゴールデンクロスで買っていくだけの簡単なEAですね。

まずは、デスクトップのショートカットなどから、Meta Editor5を立ち上げて上メニューの「新規作成」をクリックします。
「エキスパートアドバイザ(テンプレート)」を選択して「次へ」をクリックしEAの名前などを好きに決めます。
今回はパラメータの部分はいじらずに「次へ」でOKです。
「エキスパートアドバイザのイベントハンドラ」も何も選択せずまた「次へ」 でOKです。
さて、そうこうしている内にエディタにコードを書ける状態になったと思います。

この状態からEAのコードを書き込む訳ですが、今回の記事では結論としてコードの完成形を見せてしまいます。
今回のゴールデンクロスEAのコードは以下のようになりました。
//サンプルEA
#property copyright "kimukou"
#property link      "https://in-base.com"
#property version   "1.00"


#include <Trade\Trade.mqh> //必要ライブラリ
#include <Trade\PositionInfo.mqh>

int               iMA_handle;                              //移動平均のインジケーターハンドルの値を格納する変数
double            iMA_buf[];                               //移動平均のデータを格納する配列
double            Close_buf[];                             //終値データを格納

string            my_symbol;                               //どの通貨ペアを対象にするか
ENUM_TIMEFRAMES   my_timeframe;                            //時間情報

CTrade            m_Trade;                                 //取引の実行に使う
//+------------------------------------------------------------------+
//OnInit()関数は最初に実行される関数です
//+------------------------------------------------------------------+
int OnInit()
  {
   my_symbol=Symbol();                                      //チャートのシンボルをそのまま使用
   my_timeframe=PERIOD_CURRENT;                              //チャートのタイムフレームを使用
   iMA_handle=iMA(my_symbol,my_timeframe,40,0,MODE_SMA,PRICE_CLOSE);  //移動平均のハンドラ
   if(iMA_handle==INVALID_HANDLE)
   {
      Print("移動平均ハンドラ周りに問題があります。EAを終了します。");
      return(-1);
   }
   ChartIndicatorAdd(ChartID(),0,iMA_handle);                  //チャートに移動平均を追加
   ArraySetAsSeries(iMA_buf,true);
   ArraySetAsSeries(Close_buf,true);
   return(0);
  }
//+------------------------------------------------------------------+
//| EA終了時に実行される処理がonDeinitです。   
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   IndicatorRelease(iMA_handle);                             //メモリ解放
   ArrayFree(iMA_buf);
   ArrayFree(Close_buf);
  }
//+------------------------------------------------------------------+
//| EAのメイン部分がOnTickです。
//+------------------------------------------------------------------+
void OnTick()
  {
   int err1=0;                                             //エラー判定用変数たち
   int err2=0;
   
   err1=CopyBuffer(iMA_handle,0,1,2,iMA_buf);
   err2=CopyClose(my_symbol,my_timeframe,1,2,Close_buf);
   if(err1<0 || err2<0)
   {
      Print("インジケーターバッファーまたは、価格チャートバッファーのコピーに失敗しました。");
      return;
   }

   if(iMA_buf[1]>Close_buf[1] && iMA_buf[0]<Close_buf[0])   //ゴールデンクロス判定
     {
      m_Trade.Buy(0.1,my_symbol);                          //買い注文を出す
     }
  }
コードコードコード MQL5の書き方については、公式の記事を初めから読んでいって勉強するのが無料の方法では最良だと思います。
(現状、MQLに関する良質な情報ってネット上にそんなに無いんですよね)

アマゾンでMQLの書籍も探しましたが、評判が良いのは英語の書籍(下記)だけだったりで辛いです。 一応、プログラミング関連書籍は英語でもそこまで読みにくくないのが常です。
なので、英語が極端に苦手でなければ、日本語の中途半端な本よりも上記本をオススメします(日本人のレビューもあります)。
オリジナルEAを使用する
先述のようなEAのコードをMQL5で作成したら、動かすのは簡単です。
まずは、Meta Editorの上のメニューにある「コンパイル」をクリックしてコンパイルします。
エラーがなければ、.ex5の拡張子を持つEAのファイルが生成され、
C:\Users\ユーザー名\AppData\Roaming\MetaQuotes\Terminal\長い英数字の列\MQL5\Experts\
内に吐き出されます(ディレクトリは僕の環境のものです)。
無事に.ex5ファイルが生成されれば、あとはMT5の左メニューから選択できるようになっているので、実際に動かすことができます。
(動かし方は「EAをネット上の他人から貰う」で説明した動かし方と同じです)

まとめ

最後にまとめです。
今回は、為替の自動売買を行う方法を解説してきました。
FXの自動売買に必要なものは、大きく分けて以下の三つです。
FXの自動売買に必要なもの
①FX業者の口座(入出金に使う)
②MT5(FX口座と連携させる・EAを動かす)
③EA(自動売買プログラムそのもの)
今全く何の知識もない状況でも、①②③を順番にクリアしていけば FX 自動売買ば誰でも可能です。
今回の記事は少し長くなりましたが、分かりにくいところは何回も読んでみてください。

なお、仮想通貨でも自動売買をやってみたいという方は以下の記事もぜひ参考にしてみてください。

【コピペOK】仮想通貨をPythonで自動売買する方法を初心者向けに解説

2020年12月7日
スポンサーリンク

SNSシェアお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA