このページでは、以下の記事にて配布している「HMC-EA(ハイブリッド・モンテカルロEA)」の利用方法について詳細に説明しています。
HMC-EA(Hybrid Monte Carlo EA)
マーチンゲール法よりもロット数の増大が緩やかで、損失は時間をかけて緩やかに回収するモンテカルロ法を採用しています。さらには、勝敗によってロット数を増減させる方法を通常と逆にしたアンチ・モンテカルロ法も取り入れて、2つのロジックを組み合わせたハイブリッド型EAです。
また、ヒストリカル・ボラティリティを利用して、勝敗判断に用いる基準幅を動的に変化させるDynamicモードも用意しています。
バックテスト結果
MT5またはMT4のインストール
今回のHMC-EAは、MT5用とMT4用の二つを用意しています。どちらか都合の良い方をご準備ください。どちらか判断つかない場合は、MT5の方をオススメします。
また、今回のHMC-EAはXMのKIWAMI極口座を前提に開発を行っています。バックテスト結果を掲載しているものにできるだけ合わせる場合は、MT5用のKIWAMI極口座のリアル口座を開設し、XM用のMT5をインストールするようにしてください。
詳しいインストール方法は、以下の記事で解説しています。
MT5のインストール
MT4のインストール
バックテスト方法
ここからは、note記事に掲載している以下のバックテスト結果と同じ設定をご紹介します。
インプット設定
インプット一覧は以下の通りです。それぞれ概要を説明します。
認証コード
デモ口座で使用する場合には不要ですが、リアル口座で実際に取引する場合には認証コードが必要です。ただし、バックテストを行うだけであればリアル口座でも認証コードは不要です。
認証コードの取得方法についての詳細は後述します。
EAタイプ
以下の5つから選択します。それぞれの詳細はnote記事の方で解説しています。
- NM(ナンピン・マーチンゲール)
- NMC(ナンピン・モンテカルロ)
- AM(アンチ・マーチンゲール)
- AMC(アンチ・モンテカルロ)
- HMC(ハイブリッド・モンテカルロ)
基本的にはHMCの使用を推奨しますが、使い方次第では、他のタイプも効果的に利益を積み重ねることが可能です。バックテストで様々なパターンを検証してみることをオススメします。
モード選択
以下の2つから選択します。Staticは常に基準幅が固定値で設定されます。Dyanamicはインプットで設定した基準幅をベースとしつつ、ヒストリカル・ボラティリティを考慮して動的に基準幅を変動させます。
- Static(静的モード)
- Dynamic(動的モード)
詳細は以下のnote記事で解説しています。
基準幅
勝敗判定に用いる基準幅を設定します。XMのGOLD#において、2023年1月〜2024年3月までのバックテストを行なった結果では、Staticモードで基準幅 5.0と設定するとパフォーマンスが優れていました。ご自身でもバックテストで異なる基準幅を試してみることをオススメします。
また、Dyanamicモードにおいても、基準幅 5.0と設定すると良好なパフォーマンスとなることを確認しています。
ロット数
HMC-EAにおいては、1つのポジションあたりのロット数は固定です。そのロット数を設定します。1ポジションあたりのロット数は変えずに、ポジション数を増減させることによってボリュームを調整します。
マーチン倍率
マーチンゲール法における倍率を設定します。EAタイプがNMまたはAMの時にのみ有効です。
最大ポジション数
最大ポジション数を設定します。ロット数を0.01、最大ポジション数を80と設定した場合は、最大でも0.80しかポジションを持たないということです。ポジション数が最大ポジションを上回るようなターゲット数になった場合は、リセットされる仕様です。効果としては、ロスカット基準を設定することに近いです。
許容スプレッド
スプレッドが指定した値を下回っている場合は、勝敗の判定も取引も行いません。デフォルトは20pointに設定してあります。XMのKIWAMI極口座のGOLD#において、平常時は20pointを下回るため、これを想定した設定です。スプレッドが拡大しているような状況では、勝敗判定や売買注文を行わず様子を見る仕様になっています。
マジックナンバー
マジックナンバーの設定です。これは一般的なEAと同様で、任意の値で問題ありません。
バックテスト設定
MT5の上の方のタブの「表示」→「ストラテジーテスター」と進み、「設定」タブについては以下のように設定します。
以下のようなバックテスト結果が出れば問題なく実施が完了しています。
EAの設定手順
次に、実際に取引を行うためにEAをセットする手順をご紹介します。
GOLD#の表示
銘柄によってはデフォルトの表示リストに出てこないことも多いので、GOLD#(KIWAMI極口座ですと、取引対象の名称の後に「#」が付きます)を表示させる方法から説明します。
MT5の上の方のタブの「表示」→「銘柄」から、以下の通り、GOLD#を「非表示」から「表示」に変更します。
これで、GOLD#が表示可能になりました。
GOLD#のチャートを表示
続いて、MT5の上の方のタブの「ファイル」→「新規チャート」から、先ほど表示させた「GOLD#」を選択します。
すると、GOLD#のチャートが表示されたと思います。デフォルトだと時間足はH1かもしれませんが、そのままでも構いませんし、お好きな時間足に変えても結構です。
今回導入するEAは、どの時間足にセットしてもロジックは変わらないからです。導入するEAによっては、セットする時間足を指定している場合もあるのでご注意ください。
HMC-EAをダウンロード
MT5にEAをセッティング
以下の手順で、MT5にEAをセッティングします。
- MT5の「ファイル」タブの「データフォルダを開く」をクリック
- 「MQL5」フォルダ→「Experts」フォルダを開く
- 「Experts」フォルダ内に、ダウンロードした「HMC-EA.ex5」を保存
- MT5の「ナビゲータ」ウィンドウ内のエキスパートアドバイザを右クリックして、更新をクリック
- エキスパートアドバイザ内に「HMC-EA.ex5」が表示される
以上で、EAの準備が完了です。
EAのパラメータ設定から起動まで
エキスパートアドバイザ内の「HMC-EA.ex5」を、GOLD#のチャートにドラッグ&ドロップします。
すると、以下のような画面が立ち上がりますので、「アルゴリズム取引を許可」にチェックを入れます。
あとはインプットの設定ですが、バックテストの方で解説している通りです。バックテストで確認した最適なパラメータを設定しましょう。
EAを稼働(自動売買を開始)
MT5のチャートの上の方にある「アルゴリズム取引」というボタンをクリックすると、稼働開始します。
以下のように、「アルゴリズム取引」のボタンのところが緑色の▷になっていることを確認してください。
稼働停止中(自動売買オフ)
稼働中(自動売買オン)
コメント表示
このHMC-EAでは、以下のようなコメントを表示するようにしています。
上から順番に、以下の情報が表示されます。
- EAタイプとモード(例:HMC-EA Dynamic)
- 現在のスプレッド(Spread)
- 現在の価格(Current Price)
- 基準価格(Base Price)
- Buy側の数列 → 左端の数値と右端の数値の合計
- Sell側の数列 → 左端の数値と右端の数値の合計
- ターゲット数(プラスであればbuyターゲット、マイナスであればsellターゲット)
基本的に、表示されているターゲット数だけポジションを保有する仕組みです。(プラスであればbuyポジション、マイナスであればsellポジション)
テキストファイルの生成と読み込み
EAを稼働すると、「MQL5 > Files」フォルダに以下の3つのファイルが生成されます。
- base_price.txt
- current_range.txt
- buy_lot_array.txt
- sell_lot_array.txt
base_price.txt
基準価格を記録しておくためのファイルです。MT5を一度閉じて再起動したりしても、前回までの基準価格を継続するために必要なファイルです。継続せずに稼働時の基準価格から始めたい場合は、このファイルを削除してから起動すればOKです。
current_range.txt
こちらも同様に、基準幅を記録しておくためのファイルです。 Dyamicモードにおいて、前回までの基準幅を継続するために必要なファイルです。継続せずに稼働時の基準幅から始めたい場合は、このファイルを削除してから起動すればOKです。
buy_lot_array.txt
Buy側の数列を記録していくためのテキストファイルです。モンテカルロタイプの場合は、分解モンテカルロ法に従った数列が記録されます。マーチンゲールタイプの場合は、[0, 1]から始まり、[0, 2]、[0, 4]、[0, 8]、という形で2つ目の数値がマーチンゲール法に従ったターゲット数になります。
sell_lot_array.txt
Sell側の数列を記録していくためのテキストファイルです。内容はBuy側と同様です。こちらも、MT5を一度閉じて再起動したりしても、前回までの数列を継続するために必要なファイルです。継続せずに最初の数列から始めたい場合は、このファイルを削除してから起動すればOKです。
認証コードについて
このページで紹介しているHMC-EAはデモ口座では自由にお使いいただけますが、リアル口座で使用するには認証コードが必要です。以下から認証コードを取得してご利用ください。