【EA化#07】AllAverages クロスEA — Hull MAとJSmoothの夢の共演¶

この記事の3行まとめ
- 21種類の移動平均線が使えるインジケータ「AllAverages」をフル活用し、「短期線」と「長期線」に全く違う演算ロジックを指定できる変態クロスEAです。
- 「短期線はラグの少ないHull MA」「長期線はダマシを極限まで排除したJSmooth」といった異種格闘技クロスが実現できます。
- 完全な内蔵計算を採用しているため、バックテストの速度も爆速。自分だけの「最強のMACD」を探求したい方に最適です。
"ただのクロスEA"ではありません¶
移動平均線のゴールデンクロス・デッドクロスを狙ったEAは、世の中に星の数ほど存在します。 しかし、そのほとんどが「SMA(単純移動平均)の短期と長期」や「EMA(指数平滑移動平均)の短期と長期」といった、同じアルゴリズムで期間だけを変えたものです。
今回作成した 07_EA_AllAverages_Cross.mq5 は、以前移植した21種の移動平均インジケータ(AllAverages v2.5)の心臓部を丸ごとEAに内蔵しています。
これにより、EAのプロパティ画面から「Fast MA(短期)」と「Slow MA(長期)」に対して、0番〜20番までの21種類のアルゴリズムを自由に、ごちゃまぜに組み合わせて指定することが可能になりました。
ロマン溢れる組み合わせ例¶
-
超絶滑らか&低ラグ型(今回のバックテスト設定)
- Fast MA:
No.8 HMA (Hull Moving Average)--- 価格にピッタリと追従し、ラグがほぼ無い。 - Slow MA:
No.11 T3 (Tillson T3)--- ノイズを極限まで滑らかに平滑化し、ダマシを排除する。 - 結果: 上記のアイキャッチ画像(バックテスト結果)のように、T3が大きなトレンドを捉えている中で、HMAがいち早く押し目・戻り目からの反転クロスを感知して見事なトレンドフォローを実現します。
- Fast MA:
-
鉄壁のトレンドフォロー型
- Fast MA:
No.8 HMA - Slow MA:
No.20 JSmooth (Jurik Smoothing近似) - 狙い: JSmoothはT3以上に相場のノイズ(ヒゲ)を無視するため、長期トレンドの要塞として機能します。
- Fast MA:
-
ダマシ絶対許さないマン
- Fast MA:
No.10 DEMA (Double Exponential Moving Average) - Slow MA:
No.11 T3 - 狙い: どちらも非常に滑らかな曲線を描くため、一度クロスが発生するとトレンドが深く継続しやすい。細かい乱高下を完全に無視。
- Fast MA:
ロジックの全貌¶
本EAは、指定された2つのMAの確定足(1本前と2本前)によるクロスでエントリーします。
- 【買いエントリー】
- Fast MA が Slow MA を下から上にクロス(ゴールデンクロス)
- (オプション)ADXフィルターが指定値以上の場合のみ(トレンド発生中のみ)
- 【売りエントリー】
- Fast MA が Slow MA を上から下にクロス(デッドクロス)
- (オプション)ADXフィルターが指定値以上の場合のみ
決済は、オプションで設定した固定SL/TP、Trailing Stopのほか、「逆方向のクロスが発生した際のドテン決済(Reverse at Cross)」がデフォルトで有効になっています。
レンジ相場の往復ビンタ対策(ADXフィルター)¶
MAクロス手法の唯一にして最大の弱点が、「レンジ相場で価格が横這いになると、短期線と長期線が絡み合って負けトレード(往復ビンタ)を連発する」ことです。
これを防ぐため、本EAには Use ADX Filter(ADXトレンド強度のフィルター)を搭載しています。 これを true にし、Threshold(閾値)を20〜25付近に設定することで、「トレンドが出ていない時のクロスを無視する」ことができ、不要な負けを大幅に減らすことが可能です。
EAのダウンロード¶
以下からEAのソースコード(MQ5)をダウンロードし、MT5の Experts フォルダに配置してコンパイルしてください。
07_EA_AllAverages_Cross.mq5 をダウンロード
[!IMPORTANT] このEAが内部で呼び出すために、元のインジケータである
10_AllAverages_v2_5.ex5または.mq5が、MT5のIndicatorsフォルダに事前にコンパイルされて置かれている必要があります。まだの方はこちらの記事からダウンロードしてください:【移植#10】AllAverages v2.5
パラメータ設定¶
- Trade Settings
Lots: 取引ロット数Stop Loss / Take Profit: ベースの決済ポイント(0で無効化)Trailing Stop: トレール幅(ポイント。0で無効化)Reverse at Cross:trueの場合、反対方向のクロスが発生した瞬間に現在のポジションを決済(ドテン)します。
- Fast MA Settings / Slow MA Settings
Fast Method / Slow Method: 21種類の中から好きなMAアルゴリズムを選択します。Fast Period / Slow Period: 計算期間。
- Universal MA Settings
Applied Price: 適用価格。Volume Factor: T3 MAを選択した時のパラメータ。Lambda: REMAを選択した時のパラメータ。Phase: JSmoothを選択した時のパラメータ(-100〜+100)。
- ADX Trend Filter
Use ADX Filter:trueでADXフィルターを有効化。レンジ相場での往復ビンタを回避します。ADX Period / Threshold: ADXの期間と、トレンド発生とみなす閾値(例: 25.0)。
さいごに¶
「移動平均線のクロス」というFXにおける最も古く、最も愛されている古典的手法。 しかし、その2本の線に「現代の進化した平滑化アルゴリズム」を宿すことで、全く新しい、強力なエッジ(優位性)が見えてくるはずです。
ぜひMT5のストラテジーテスターで、21×21=441通りの中から「聖杯」となる最強の組み合わせを探し出してみてください!