【仮想通貨】ビットコインの自動売買をMT4でする方法【BITPoint】

BITPoint
1ビットコインが100万円を超えて(2017年11月末時点)、ますます盛り上がっている仮想通貨売買ですが、この売買操作を自動でできたらいいなと思ったことはないでしょうか?

仮想通貨取引所のBITPoint(ビットポイント)では、高機能トレードシステム「MetaTrader4(MT4)」を使って、ビットコインの自動売買を行うことができます。

今回は、MT4で自動売買を行うためのプログラム「EA(Expert Advisor)」の設定方法を記事にまとめてみました。

※BITPointではデモ口座を作ってMT4で使うことができるので、ここではこのデモ口座を使った設定方法を解説します。
※当記事では、Windows10パソコンでMT4を使って作業を行います。

スポンサーリンク

BItPoint FX MT4をインストールしてデモ口座を申請する

まず、BitPoint用のMT4をダウンロードしてインストールします。

1.下記のサイトから、ここでは「デモ版ダウンロードはこちら」バナーの方をクリックします。

ビットコインやイーサリアムを始めとする仮想通貨の口座開設ならビットポイント/BITPointへ。仮想通貨の販売所兼取引所の運営によって「新しいお金のあり方」を提案・創造していきます。

2.プログラムファイルをダウンロードしたら、バナーの下にある「MT4Demo版インストール方法はこちら」を参考にして、インストールとデモ口座の申請を行ってください。
※デモ口座は、MT4上から、すぐに開設することができます。

ストラテジーテスター画面を開く

次に、MT4のEAを設定するために、ストラテジーテスター画面を開きます。

1.MT4の上部メニューから[表示(V)]-[ストラジーテスター(R)]をクリックします。
BITPoint-FX-MT4-デモ版-ストラテジーテスター

2.MT4の画面下方に、ストラテジーテスター画面が開きます。
BITPoint-FX-MT4-デモ版-ストラテジーテスター2

バックテストを行う

バックテストとは、設定した売買ルールを過去の市場データ上で動かしてみて、どのような動きをするのかをシミュレーションすることです。

ここでは、MT4にデフォルトで載っているEA「MACD Sample」を使って、バックテストを行います。

各項目を設定する

1.下記画像のように、ストラテジーテスター画面の各項目を設定します。

エキスパートアドバイザ枠の右枠内:MACD Sample ex4
通貨ペア:BTCJPY.BitCoin vs Japanese Yen
モデル:始値のみ(最も早い方法。バーの始めにしか動かないEA向け)
期間:M15
期間を設定:チェックを入れる
開始日:2017.01.01
終了日:2017.11.30

※[モデル]を「全ティック(利用可能な最小時間枠を使いすべてのティックを生成する、最も正確な方法)」にすると、処理時間はかかりますが、より正確な値が出ます。
※[期間]の「M15」とは、EAを動かすチャートの時間足の値で、15分足のことです。
※ビットコインは、2017年1月ごろには12万円前後だったものが、2017年12月頭には120万円前後と約10倍に値上がりしました。1桁動いた過去データをバックテストに使うのが適切なのかどうかわかりませんが、とりあえず、ここでは過去11ヶ月分のデータを設定します。
BITPoint-FX-MT4-デモ版-ストラテジーテスター_MACD_Sample5_赤枠1

2.ストラテジーテスター画面の右上にある[エキスパート設定]をクリックします。
[MACD Sample]画面が開くので、[テスト設定][パラメーターの入力][最適化]の各タブの設定値を確認します。
確認をしたら[OK]または[キャンセル]をクリックして、画面を閉じます。
※各設定値はデフォルト値のまま、ここでは変更しません。
[テスト設定]
MACD_Sample_テスト設定
[パラメーターの入力]
MACD_Sample_パラーメーターの入力
[最適化]
MACD_Sample_最適化

バックテストを実行する

1.ストラテジーテスター画面の右下にある[スタート]をクリックします。
BITPoint-FX-MT4-デモ版-ストラテジーテスター_MACD_Sample6_赤枠1

バックテストの結果を見る

1.バックテストを実行すると、ストラテジーテスター画面の下に[結果][グラフ][レポート]タブが増えています。
ストラテジーテスター_MACD_Sample5_タブ_赤枠1

2.[グラフ]タブを開きます。
グラフの縦軸が資産で、横軸が取引回数です。
133回取引をして、資産が約950(ドル)減りました。
ストラテジーテスター_MACD_Sample5_グラフタブ

3.[レポート]タブを開きます。
[グラフ]よりも詳細なバックテストの結果データを見ることができます。
純益は-950.12、純利益は0.00、勝率0と一度も勝っていません。

ここで見るべきなのは[プロフィットファクタ]と[最大ドローダウン]の値です。

[プロフィットファクタ]とは、「利益/損失」の値で、1.0以上ならば儲かります。1.5~2.0ぐらいが妥当な値と言われています。

[最大ドローダウン]とは、資産の減り具合を見る値で、小さい方がよく、30%以下だと優れているようです。
ストラテジーテスター_MACD_Sample5_レポートタグ_赤枠2

最適化を行う

バックテストの結果に出たように、EA「MACD Sample」をデフォルト設定値のまま使うと勝てないので、「最適化」を行い、利益が出る設定値を探します。

パラメーターを調整する

1.ストラテジーテスター画面の右上にある[エキスパート設定]をクリックします。
ストラテジーテスター_MACD_Sample5_エキスパート設定_赤枠1

2.[MACD Sample]画面が開くので、[パラメーターの入力]タブを開きます。
下記画像のように、[lots]以外の変数にチェックを入れます。
チェックを入れた変数の[スタート][ステップ][ストップ]項目の値を、下記画像のように変更します。
※[ストップ]項目がそれぞれ「1000」と値が大きくなっているのは、「BTCJPY」の場合、小さい値だと、最適化を実行したときに、利益が出る組み合わせが一つもなかったためです。
MACD_Sample_パラーメーターの入力

MACD_Sample_パラーメーターの入力_値変更-赤枠2

各変数の意味は、下記の通りです。

TakeProfit:利益確定をする値。単位はpoint(1point=0.1pips)。たとえば、「1000」に設定すると、1ビットコインの価格(レート)が上下して「1000円」の利益が出ると利確する(取引ロット数は影響せず、1ビットコインのレート上の価格差を見て利確)。
Lots:取引ロット。MT4では1Lots=10万通貨。BTCJPYでは1Lots=1ビットコイン。
TrailingStop:トレイリングストップ(逆指値注文をリアルタイムで自動修正する)の値。単位はpoint。
MACDOpenLevel:MACDの絶対値がこの数値以上でエントリーする。単位はpoint。
MACDCloseLevel:MACDの絶対値がこの数値以上で決済する。単位はpoint。
MATrendPeriod:移動平均(EMA)の期間。

この設定で[最適化]を実行すると、たとえば[TakeProfit]は、[スタート]に設定した1.0から[ステップ]に設定した1.0刻みで[ストップ]に設定した1000.0までの1000通りのバックテストを実行します。
ここでは5つの変数をそれぞれ1000通りずつ設定しているので、1000×1000×1000×1000×1000通りのバックテストを行います。

3.設定を終えたら[保存(S)]をクリックし、適当な名前を付けて、設定ファイル(「.set」拡張子)を保存しておきます。
[OK]をクリックします。
MACD_Sample_パラーメーターの入力_保存_OK_赤枠2

最適化を実行する

1.下記画像のように、ストラテジーテスター画面の各項目を設定します。

期間:H1
最適化:チェックを入れる

※[期間]を「M15」から「H1」に変えたのは、「M15」で最適化を実行すると、利益が出る組み合わせが一つもなかったためです。
※[MACD Sample]画面の[パラメーターの入力]タブでチェックを入れた[変数]のみ、設定した値の回数分バックテストを実行します。チェックを入れていない[変数]は、[値]項目に設定した値でバックテストを実行します。
※設定した項目の数や値、期間の長さ等によって処理回数が増えると、バックテストにかかる時間が長くなります。
※ここでは[モデル]を「始値のみ~」にしていますが、より正確な値を出すためには「全ティック(利用可能な最小時間枠を使いすべてのティックを生成する、最も正確な方法)」に変えてください。
ストラテジーテスター_MACD_Sample5_最適化3_赤枠3

2.設定をしたら、[スタート]をクリックします。

最適化の結果を見る

1.最適化を実行すると、ストラテジーテスター画面の下に[最適化結果][最適化グラフ]タブが増えています。
ストラテジーテスター_タブ_最適化結果_赤枠1

2.[最適化結果]タブを開きます。
利益が出た組み合わせが表示されています。
「バックテストの結果を見る」見出しで見たように、[プロフィットファクタ](利益/損失)が1.0以上(1.5~2.0が妥当)で、[ドローダウン](資産の減り具合)が小さいもの(30%以下)が優れた組み合わせです。
各項目をクリックすると、昇順降順で並び替えることができます。
ストラテジーテスター_タブ_最適化結果

3.[最適化グラフ]タブを開きます。
グラフの縦軸が資産で、横軸が利益が出た組み合わせの数です。
約2800通りの利益が出る組み合わせがあるものの、一番利益が出ても資産が約2(ドル)増えただけのようです。
ストラテジーテスター_タブ_最適化グラフ

利益が出たパラメーターの組み合わせでバックテストを行う

最適化で利益が出たパラメーターの組み合わせ値で本当に利益が出るのかどうか、バックテストを行います。

※過去データを使ったバックテストなので、バックテストで利益が出ても、実際の取引でも利益が出るかどうかはわかりません。

パラメーター値を設定する

[最適化結果]タブの組み合わせ一覧の中から行を選択してダブルクリックすると、バックテスト用の入力値として、そのパラメーター値が自動で入力されます。

1.[最適化結果]タブを開きます。
[プロフィットファクタ]項目をクリックして並び替えます。
1行目をマウスでダブルクリックします。
※ここでは[プロフィットファクタ]項目を昇順で並び替えて「2.55」という値の行が表示されたので、この行を使います。
ストラテジーテスター_タブ_最適化結果3

2.自動的に[セッティング]タブに切り替わるので、[エキスパート設定]をクリックします。
[MACD Sample]画面のパラメーターの入力タブが開きます。
[値]項目に「1.」で選択した組み合わせのパラメーター値が入力されていることを確認します。
確認をしたら[OK]または[キャンセル]をクリックして、画面を閉じます。
MACD_Sample_パラメーターの入力6_赤枠1

バックテストを実行する

1.[セッティング]タブの画面で、[スタート]をクリックします。
※ここではバックテストを実行するので、[最適化]にはチェックを入れません。
※「最適化を行う」見出しで、[モデル]を「全ティック(利用可能な最小時間枠を使いすべてのティックを生成する、最も正確な方法)」に変えて最適化を実行した場合は、このバックテストも同様に「全ティック~」に変えて実行してください
ストラテジーテスター_タブ_セッティング1

バックテストの結果を見る

1.[グラフ]タブを開きます。
グラフの縦軸が資産で、横軸が取引回数です。
4回の取引をして、資産が約0.8(ドル)増えました。
(グラフが初期証拠金10000(ドル)よりややマイナスからスタートしている理由は、よくわかりません)
※青色の折れ線は「残高」で、緑色の折れ線は「有効証拠金」です。
「残高」とは、含み益、含み損を含まない現金の資産です。
「有効証拠金」とは、「残高」に含み益、含み損を加えた資産です。

この組み合わせ値は、含み益、含み損を加味すると、損をしてしまうようです。
ストラテジーテスター_グラフ2

2.[レポート]タブを開きます。
[プロフィットファクタ](利益/損失)には、損失が0のためなのか、値が入っていません。
[最大ドローダウン](資産の減り具合)は0.12%と小さい値になっています(損失は0なのに資産が減っているのは、グラフがややマイナスからスタートしているのと同じ理由でしょうか?)。
ストラテジーテスター_レポート2_赤枠2

3.ついでに[結果]タブを開ききます。
4回の取引内容が個別に記載されています。
各項目の内容・単位は、下記の通りです。

時間:取引日時
取引種別:buy 買いエントリー、sell 売りエントリー、modify 指値・逆指値変更、close 成行注文による決済、t/p 指値到達による決済(利確)、s/l 逆指値到達による決済(損切)
数量:Lots(1Lots=1ビットコイン)
価格:円(1Lots=1ビットコインの価格(取引日時時点の価格))
損益:ドル
残高:ドル

今回の取引内容にはありませんが、[取引種別]がclose(成行注文)で決済されたものは、[価格]の差額(円)を[時間](取引日時)時点のドル/円レートで割ると、[損益](ドル)になりました([数量]が0.10なので、1/10の[価格]で計算)。
※しかし、[取引種別]がt/p(指値到達による決済)やs/l(逆指値到達による決済)で決済されたものは、[価格]の差額(円)をドル/円レートで割っても[損益](ドル)の値にならず、どういう計算がされているのか不明です。
ストラテジーテスター_結果1

自動売買の設定を行う

ここまでの作業で、自動売買を行うプログラムEA「MACD Sample」の設定値を決めることができたので、いよいよEAをチャートに適用します。

EAの設定をする

1.MT4の上部メニューから[ツール(T)]-[オプション(O)]をクリックします。
MT4_ツール_オプション

2.[オプション]画面が開くので、[エキスパートアドバイザ]タブを開きます。
[自動売買を許可する]と[DLLの使用を許可する](信頼できるアプリケーションのみで有効)にチェックを入れます。
[OK]をクリックします。
※ここでは、この2つにチェックを入れますが、別途購入したEAを使用する場合等、該当EAの取扱説明書等の指示に従って設定を行ってください。
MT4_オプション_エキスパートアドバイザ_赤枠3

ナビゲーターウィンドウにEAを表示する

1.MT4の画面左側に表示されている[ナビゲーター]ウィンドウ内に、使用するEA(エキスパートアドバイザ)を表示させます。
※[ナビゲーター]ウィンドウが表示されていない場合は、MT4の上部メニューから[表示(V)]-[ナビゲーター(N)]をクリックして表示させます。
MT4_ナビゲーター_赤枠2

EAをチャートに適用する

1.[ナビゲーター]ウィンドウにあるEAを、適用する[チャート]ウィンドウ上に、ドラッグ&ドロップします。
※チャートが表示されていない場合は、MT4の上部メニューから[ファイル(F)]-[新規チャート(N)]-[BTCJPY]をクリックして表示させます。
MT4_ナビゲーター_チャート_EA_ドラッグ_ドロップ_矢印1

2.[Expert – MACD Sample]画面が開くので、[全般]タブを開きます。
下記画像のように、各項目にチェックが入っていることを確認します。
Expert-MACD_Sample_全般

3.[パラメーターの入力]タブを開きます。
下記画像のように、各変数の[値]項目の数値を変更します。
ここで、EAの最適化で探し出した「利益が出る値」を入力します。
[OK]をクリックします。
※ここでは、「利益が出たパラメーターの組み合わせでバックテストを行う」見出しで入力した値を設定します。
Expert-MACD_Sample_パラーメーターの入力

Expert-MACD_Sample_パラーメーターの入力2_赤枠2

4.EAが適用されたチャートには、[チャート]ウィンドウの右上に、適用したEAの名称と顔アイコンが表示されます。
MT4_チャート_EA適用アイコン_赤枠1

5.MT4の上部ツールバーの[自動売買]が、下記画像のように「オン」になっていることを確認します。
※「オン」になっていないと、自動売買は動作しません。

売買結果を自動でメール通知する設定を行う

最後に、自動売買の結果を自動でメール通知する設定を行います。

設定方法は、下記の記事を参照ください。

この記事では、MetaTrader4(MT4)でトレード(売買)を行ったときに、トレード結果を自動でメール通知してくれるようにする方法を紹介します。 「ordermail_to_me140」...

まとめ

以上の設定で、MT4でEA「MACD Sample」を使ったビットコインの自動売買を行うことができます。

まずは、BITPointのデモ口座で試してみて、利益が出たら、実際の口座で実践してみてはいかがでしょうか?

※すべての取引・作業は、自己責任でお願いします。

スポンサーリンク

 
この記事が気に入っていただけたら シェアしてくださるとうれしいです!