いづれはMTF分析(マルチタイムフレーム分析)のロジックをEAに入れたいと思っていたが中々手が付けられていない。前哨戦として時間足を変えていくつかEAを動かしてみた。結果としてパラメーター変更より効果がありそうだった。ただし時間足を長くすると取引数が減るデメリットはある。時間足を変えるだけだと限界がありそうなので可能であればやはり複数足を組み合わせたMTF分析ロジックを取り入れた方がよさそう。
本記事はFXの自動売買に使用されるプログラムについて解説していますが内容を保証するものではありません。金銭にかかわる内容であるためご注意ください。参考にする場合は自己責任でお願いします。
本記事ではMT4を使用する。
FXDD – MetaTrader
・Version: 4.00 build 1322
・8Feb 2021
MetaEditor
・Version 5.00 build 2375
・7 Jan 2021
時間軸の変更
同じEAであっても時間軸を変更することで結果が大きくかわることがある。
時間軸を変えるサンプルコード
以下は移動平均線を取得するサンプルコード。timeFrameに取得したい時間軸を設定することができる。時間軸は定数で定義されておりPERIOD_M1、PERIOD_M5、etc…といった感じ。値は分で定義されており4時間足であれば60分×4で240となる。
// 移動平均線の値を取得 // // shift 何分前の足か // period MAの平均期間 // timeFrame 時間軸 // // return 移動平均線の値 // double getEMA(int shift, int period, int timeFrame) { return iMA( NULL, // 通貨ペア(現在の通過ペア) timeFrame, // 時間軸(現在の時間軸) period, // MAの平均期間 0, // MAシフト MODE_EMA, // MAの平均化メソッド PRICE_CLOSE, // 適用価格 shift // シフト ); }
時間足ごとのデータインポート
時間足を変えてEAを動作させる場合は時間足ごとのデータをインポートする必要がある。筆者ははじめ1分足のデータがあれば包括して使えるかと思っていたがそうではないようだった。
データのインポート手順についてはこちら。
【EA開発ガイド】Part 5 バックテスト基礎 – Chapter 3 MT5のチャートをMT4にインポートする
時間軸変更による結果
移動平均線を使った簡単な順張りロジックを使って検証した。ロットは10万通貨。時間軸を長くすると取引数が減るため純益は減る。時間足H1はPF(プロフィットファクター)が高くなっている。EAによっては時間軸を変えることでPFが上がる場合がある。時間軸を変えるだけで高いPFのEAを見つけることができるためロジックを組み替えるより手間が少ない。
時間足 | M5 | M15 | M30 | H1 | H4 | D1 |
---|---|---|---|---|---|---|
勝率 | 47.32% | 45.82% | 43.96% | 44.97% | 47.41% | 44.44% |
取引数 | 1065 | 705 | 439 | 298 | 135 | 144 |
PF | 1.44 | 1.23 | 1.29 | 1.58 | 1.16 | 0.86 |
純益 | 1,411,400 | 529,900 | 428,900 | 617,000 | 77,800 | -79,300 |
これで高いPFの時間足を見つけられればロットを上げて運用できるかもしれない。ただし取引数が少なくなることで確率の偏りがでて年単位マイナスになる可能性もあるので注意。
プロフィットファクター (ぷろふぃっとふぁくたー)
英語表記「profit factor」の日本語読みで、総利益と総損失の比率のこと。「profit factor」の略で「PF」と呼ばれることもあります。計算式は「プロフィットファクター=総利益÷総損失」となります。総利益が総損失を上回っていれば、プロフィットファクターは1以上となります。投資戦略やシステムトレードなどを評価する際に用いられます。
まとめ
時間足を変えるだけで結果がかなり異なる。長い時間足にすると取引数が少なくなるが高いPFが出れば運用できる可能性が高い。ロジック組み直すより手間がかからないしパラメーター変更よりも結果が変わりやすい傾向があるので使わない手はないだろう。ただし長い足だと偏りによりマイナス期間が長くなる傾向があるので注意したい。
- 同じロジックでも時間軸を変えることで結果が変わる
- 高いPFの時間足が見つかればロットを上げて収益を上げられる
- ロジックによって相性のいい時間足がありそう
時間足変更だけでは限界がありそうなのでMTF分析(マルチタイムフレーム分析)を取り入れたいと思う。