【EA開発ガイド】Part 3 MQL4開発基本 – Chapter 6 時間足を変更する

いづれは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分析(マルチタイムフレーム分析)を取り入れたいと思う。

コメントを残す

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