
知っておくべきMQL5ウィザードのテクニック(第63回):DeMarkerとEnvelope Channelsのパターンを活用する
はじめに
本記事では、モメンタムオシレーターとサポート/レジスタンスチャネルを組み合わせて使用します。この組み合わせは一見奇異に思えるかもしれません。というのも、一般的にインジケーターのペアリングはトレンドフォロー型のインジケーター同士でおこなわれることが多いからです。しかし、次の理由からこのアプローチを検討する価値があります。トレンドの判定による遅延を避けたい場合、平均回帰取引に注目したい場合、よりシンプルな取引システムが必要な場合、もしくは乱高下やレンジ相場に適応させたい場合、またはモメンタムのダイバージェンスを活用したい場合などです。
そこで、モメンタムオシレーターであるDeMarkerと、サポート/レジスタンスツールであるEnvelope Channelsを組み合わせます。これにあたり、今回も例によって、この2つのインジケーターのペアリングから得られる上位10パターンを分析します。テスト対象はGBP/USDペアで、期間は2023年、時間足は4時間足です。そしてフォワードウォークは2024年の1年間を対象として実施します。
DeMarkerの極値とEnvelopesでの価格(Pattern_0)
最初のパターン、Pattern_0では、価格が下部エンベロープを下回った後に再び内部に戻り、かつDeMarkerレベルが0.3以下の場合に買いシグナルが出ます。これは強気のフェイクアウトとも呼ばれます。
このパターンは、サポートを下回る偽のブレイクダウンを見つけるのに役立ちます。こうした動きは、売り手の勢いが尽きたサインとなることが多いです。DeMarkerが0.3以下であれば、相場が売られすぎの状態にあることを示し、反転の可能性が高まります。そのため、バンド内への素早い回復は下側バンドの拒否として解釈されます。
Envelope Channelsの下バンドに価格が一時的に触れるとブレイクダウンの兆候になりますが、チャネル内に戻る反転は「フェイクアウト」と見なされます。また、低いDeMarkerの値はモメンタムが売られすぎであることを確認する指標となり、これら2つが組み合わさることで反発の可能性が高まります。このようなセットアップは、価格がEnvelopesの境界を尊重する平均回帰市場をターゲットにする際に有効です。
実際の取引で強気のエントリーをおこなう場合は、価格の回復が強い陽線で確認され、ローソク足がEnvelopes内で終値を迎えていることを確認すると良いでしょう。また、下部エンベロープの下にストップロスを置くことで、本物のブレイクダウンに対する保護にもなります。このセットアップは、レンジ相場や短期の時間足に適しており、強いトレンド市場には向きません。シグナル、強気および弱気パターンの実装は、MQL5では次のようにおこないます。
//| Check for Pattern 0. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_0(ENUM_POSITION_TYPE T) { if(Close(X()) > ENV_LW(X()) && Close(X() + 1) <= ENV_LW(X() + 1) && Close(X() + 2) >= ENV_LW(X() + 2)) { if(T == POSITION_TYPE_BUY && DEM(X()) <= 0.3) { return(true); } } else if(Close(X()) < ENV_UP(X()) && Close(X() + 1) >= ENV_UP(X() + 1) && Close(X() + 2) <= ENV_UP(X() + 2)) { if(T == POSITION_TYPE_SELL && DEM(X()) >= 0.7) { return(true); } } return(false); }
一方、売りシグナルは、価格が上部エンベロープを上抜けた後に再びチャネル内に戻り、かつDeMarkerが0.7以上の場合に発生します。これは弱気フェイクアウトとも呼ばれます。この売りパターンは、本質的にレジスタンスを上抜けた偽のブレイクアウトを検知し、買い手の勢いが尽きたことを示します。DeMarkerが0.7以上であることは、過熱状態(買われすぎ)を示しており、反転の可能性を示唆します。価格が再びEnvelopes内に戻ることで、強気のケースが拒否されたことが確認されます。
上側バンドを上抜ける初動はしばしばブレイクアウトの兆候となりますが、価格がバンド内に戻るとこれをフェイクアウトと呼びます。高いDeMarkerは買われすぎのモメンタムを示し、下落の可能性を支持します。この売りパターンは、強気パターンと同様にレンジ相場に適しており、Envelopes内で価格が振動することで、こうした機会が多く生じます。
実運用での実装においては、強気パターン同様に、エントリー前に陰線がEnvelopes内で終値を迎えるのを待つと良いでしょう。また前述の通り、上部エンベロープの上にストップロスを置くことでブレイクアウトリスクを軽減できます。このパターンは強いトレンド相場では避けるべきであり、バックテスト最適化では適切なEnvelopes設定を目指すべきです。GBP/USDの4時間足で2023年に最適化をおこない、2023.01.01から2025.01.01までのテストを実施したところ、以下の結果が得られました。
DeMarkerの買われすぎ/売られすぎ + 価格がEnvelopesを超えてクローズ(Pattern_1)
このパターンの名称は最初のパターンと非常に似ていますが、実装は異なります。ここでの買いシグナルは、価格が上部エンベロープを2本連続のローソク足で上抜けしてクローズし、かつDeMarkerが0.7以上の場合に発生します。これは「強さの継続」を示します。強い強気モメンタムのシグナルであり、レジスタンスレベルを上抜けした持続的なブレイクアウトを示します。DeMarkerが0.7以上であることは、強い買い圧力を確認し、継続を支持します。また、上部エンベロープでの2本連続のクローズは、買い圧力を確認するとともに継続を支持します。
上部エンベロープを2本連続でクローズすることは、強いブレイクアウトを示すだけでなく、DeMarkerの値が継続の仮説を補強するため、このパターンはトレンド相場に適しています。
実運用においては、ブレイクアウトの検証時に出来高やローソク足の長さの増加で確認することも理想的です。利益確定のために、上部エンベロープの下にトレーリングストップを置くこともできます。また、偏差パラメータで設定されるエンベロープの幅を微調整することで、感度と信頼性のバランスを取ることも可能です。Pattern_1のMQL5での実装は以下の通りです。
//+------------------------------------------------------------------+ //| Check for Pattern 1. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_1(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) >= 0.7 && Close(X()) > ENV_UP(X()) && Close(X() + 1) > ENV_UP(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) <= 0.3 && Close(X()) < ENV_LW(X()) && Close(X() + 1) < ENV_LW(X() + 1)) { return(true); } return(false); }
Pattern_1の売りシグナルは、価格が下部エンベロープを2本連続のローソク足で下回ってクローズし、かつDeMarkerが0.3以下の場合に発生します。これは「下落トレンドの強化」を示します。サポートを下回る持続的なブレイクダウンによる強い弱気モメンタムの指標であり、DeMarkerが低いことで売り圧力が持続していることが確認され、下降継続の仮説を支持します。価格が下部エンベロープを2本連続で下回ってクローズし、かつDeMarkerが弱気モメンタムを確認すると、このシグナルは明確な方向性のある下降トレンドに最も適しています。
強気シグナルの場合と同様に、下抜けを確認するために高出来高や強い陰線を探すことが推奨されます。既に利益が出ているポジションについては、トレーリングストップを上部エンベロープの直上に移動させて利益を確保できます。また、Envelopesの偏差パラメータをバックテストで十分に調整し、レンジや乱高下の相場での鞭打ち(whipsaw)を避けることが重要です。GBP/USDの4時間足で2023年に最適化をおこない、2024年に向けたフォワードウォークを実施したところ、以下の結果が得られました。
DeMarkerのダイバージェンス + Envelopes (Pattern_2)
Pattern_2の買いシグナルは、価格が下部エンベロープに触れて安値を更新する一方で、DeMarkerが高値を更新する場合に発生します。これは「エンベロープサポートを伴う強気のダイバージェンス」と呼ばれます。このパターンは、重要なサポートレベルで弱気モメンタムが弱まっていることを示しています。価格とDeMarkerの間のダイバージェンスは、反転が近いことを示唆します。下部エンベロープは強いサポートゾーンとして作用し、このセットアップを補強します。
考え方としては、価格が下部エンベロープで安値を更新しているときに、DeMarkerの高値が売り圧力の減少を示している場合、ダイバージェンスが発生します。このダイバージェンスが価格のサポートレベルと組み合わさることで、強気な反転が示唆されます。したがって、このセットアップは、レンジ相場での下落トレンドの反転を捉えるのに理想的です。
このパターンを実装する際は、下部エンベロープでハンマーなどの強気のローソク足やパターンで確認することが推奨されます。ストップロスは下部エンベロープの下に設定してポジションリスクを管理します。また、強い下落トレンドでは、追加の確認なしにこのパターンを使うべきではありません。MQL5では、強気と弱気の両方を次のように実装します。
//+------------------------------------------------------------------+ //| Check for Pattern 2. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_2(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > DEM(X() + 1) && Low(X()) <= ENV_LW(X()) && Low(X() + 1) > ENV_LW(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < DEM(X() + 1) && High(X()) >= ENV_UP(X()) && High(X() + 1) < ENV_UP(X() + 1)) { return(true); } return(false); }
売りシグナルでは、価格が上部エンベロープに触れて高値を更新する一方で、DeMarkerが高値を更新しない場合、これは「エンベロープを抵抗とした弱気ダイバージェンス」を示します。この弱気パターンは、重要なレジスタンスレベルで強気モメンタムが衰えていることを示します。価格の高値更新に対してDeMarkerの高値が低いことも、反転のサインとなります。一方で、上部エンベロープはレジスタンスゾーンとして機能し、このセットアップを補強します。
弱気となる理由は、価格が上部エンベロープで高値を更新しても、DeMarkerが低い場合は買い圧力が弱まっていることを示すためです。このダイバージェンスは、潜在的な弱気反転を示唆します。この売りセットアップは、勢いが衰えつつある上昇トレンドやレンジ相場でより効果的です。Pattern_2を使用したテスト結果は以下の通りです。
いくらかの利益は反映されたものの、このパターンは訓練期間外ではフォワードウォークできず、利益を上げることはできませんでした。
実運用においては、ショーティングスターのような陰線で確認してからエントリーすることが常に推奨されます。また、価格がブレイクアウトしてレンジ相場がトレンド相場に変化した場合に損失を抑えるため、上部エンベロープの上にストップロスを置くことも有効です。さらに、このパターンはダイバージェンスであるため、どの時間足で有効かを確認するために複数の時間軸でテストする必要があります。
DeMarkerが0.5をクロス + Envelopesのミッドラインへのプルバック(Pattern_3)
Pattern_3の買いシグナルは、DeMarkerが0.5を上抜けし、価格がEnvelopesのミッドラインまでプルバックした場合に発生します。これは「プルバック買い」と呼ばれます。このパターンは、初期の強気モメンタムが変化した際の平均回帰的なプルバックを捉えるものです。DeMarkerが0.5を上抜けすることは、買い圧力の増加を示します。その後、Envelopesのミッドラインが動的なサポートとして機能し、低リスクのエントリーに適しています。
強気となる理由は、DeMarkerが0.5を上抜けすることで中立から強気へのモメンタムシフトを示すということです。価格がEnvelopesのミッドラインまでプルバックすることで(通常は移動平均に相当)、高確率のエントリーポイントを提供します。このセットアップは、トレンド相場や明確なプルバックパターンを伴う統合相場に適しています。
実運用においては、強気のローソク足や価格がミッドライン上に保持されることで確認することが重要です。ストップロスはミッドラインまたは直近のスイング安値の下に設定するのが適切です。また、DeMarkerの期間は市場のボラティリティに合わせて調整する必要があります。MQL5では、このパターンを強気および弱気の両方のシグナルで次のように実装します。
//+------------------------------------------------------------------+ //| Check for Pattern 3. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_3(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > 0.5 && DEM(X() + 1) < 0.5 && Close(X()) < ENV_MID(X()) && Close(X() + 1) > ENV_MID(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < 0.5 && DEM(X() + 1) > 0.5 && Close(X()) > ENV_MID(X()) && Close(X() + 1) < ENV_MID(X() + 1)) { return(true); } return(false); }
Pattern_3の売りシグナルは、DeMarkerが0.5を下抜けし、価格がEnvelopesのミッドラインまでプルバックした場合に発生します。この平均へのプルバックは、初期の弱気モメンタムシフトを示します。DeMarkerが0.5を下抜けすることは、売り圧力の増加を示し、Envelopesのミッドラインはショートエントリーのための動的レジスタンスとして機能します。
したがって、Envelopesのミッドラインはショート取引の低リスクなエントリーポイントを提供します。このセットアップは、弱気トレンドやプルバックを伴うレンジ相場で効果的です。GBP/USDの4時間足で2023年に最適化をおこない、その後フォワードウォークを実施した結果、以下のレポートが得られました。
いくらかの利益は反映されたものの、このパターンは訓練期間外ではフォワードウォークできず、利益を上げることはできませんでした。
ミッドラインでの反発や陰線での確認も、常に有効な手段です。ストップロスはミッドラインの上、あるいは直近のスイング高値の上に置くのが適切です。バックテストや最適化をおこなう際には、Envelopesインジケーターの期間設定に注意を払い、ミッドラインの精度を最適化することが重要です。
Envelopesのスクイーズ + DeMarkerによる圧力形成(Pattern_4)
Pattern_4の買いシグナルは、Envelopesが狭まりスクイーズを形成し、DeMarkerが0.4〜0.6の範囲で徐々に上昇している場合に発生します。これは、上方向へのブレイクアウトの可能性を示唆します。このパターンは、低ボラティリティ期間の後に迫る強気ブレイクアウトを捉えます。Envelopesの狭まりはスクイーズを示し、潜在的に大きな値動きが続く可能性があります。DeMarkerが中立ゾーン内で上昇することは、強気圧力の蓄積を示します。このセットアップは、強い上方向の動きを見越したブレイクアウト取引に適しています。実運用で使用する場合、価格が上部エンベロープを上抜けてクローズすることで確認すると良いでしょう。ストップロスは下部エンベロープの下、または直近安値の下に置くことが推奨されます。特に流動性の低い市場では、偽のブレイクアウトに注意しながら監視することが重要です。MQL5でPattern_4を次のように実装します。
//+------------------------------------------------------------------+ //| Check for Pattern 4. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_4(ENUM_POSITION_TYPE T) { if(ENV_UP(X() + 1) - ENV_LW(X() + 1) > ENV_UP(X()) - ENV_LW(X())) { if(T == POSITION_TYPE_BUY && DEM(X() + 1) >= 0.4 && DEM(X()) <= 0.6 && DEM(X() + 1) < DEM(X())) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X() + 1) <= 0.6 && DEM(X()) >= 0.4 && DEM(X() + 1) > DEM(X())) { return(true); } } return(false); }
このパターンの売りシグナルは、Envelopesがスクイーズし、DeMarkerが0.6〜0.4の範囲で徐々に下落している場合に発生します。これは下方向へのブレイクアウトの可能性を示します。この弱気パターンは、低ボラティリティ期間の後に発生する弱気ブレイクアウトを捉えます。狭まったEnvelopesはスクイーズを示し、鋭い値動きが起こる可能性を準備します。中立ゾーン内で下落を始めたDeMarkerは、弱気圧力が蓄積されていることを示しています。このセットアップは、下方向の動きを期待したブレイクアウト取引に適しています。2023年に最適化をおこない、その後2023年および2024年に向けたテストを実施した結果、以下のレポートが得られました。GBP/USDの4時間足でテストしています。
いくらかの利益は反映されたものの、このパターンは訓練期間外ではフォワードウォークできず、利益を上げることはできませんでした。
価格が下部エンベロープの下でクローズすることで確認すると、エントリーの精度を高めることができます。ストップロスは上部エンベロープや直近高値の上に設定することでリスクを制限できます。また、バックテストではスクイーズの継続期間に注目し、シグナルのタイミングを最適化することが可能です。
DeMarkerの極値 + Envelopesの拡張(Pattern_5)
Pattern_5の買いシグナルは、DeMarkerが0.7以上を維持し、上部エンベロープが拡張して強い強気ブレイクアウトを形成した場合に発生します。これは「継続的な買い」を示します。このパターンは、持続的なモメンタムを伴う強力な強気ブレイクアウトを捉えます。DeMarkerが0.7以上であることは、極端な買い圧力を確認するものです。拡張する上部エンベロープはボラティリティの増加を示し、トレンドの継続をサポートします。このセットアップはトレンド相場や継続取引向きです。エントリーは、上部エンベロープを上抜けてクローズした強いローソク足でおこない、出来高での確認をおこなうのが理想です。トレーリングストップはミッドラインの下に置くことができます。ただし、DeMarkerが0.7以上の状態が長く続く過度に伸びた相場では、このパターンは避けるべきです。MQL5での実装は次のとおりです。
//+------------------------------------------------------------------+ //| Check for Pattern 5. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_5(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > 0.7 && ENV_UP(X()) > ENV_UP(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < 0.3 && ENV_LW(X()) < ENV_LW(X() + 1)) { return(true); } return(false); }
売りシグナルは、DeMarkerが0.3以下で下部エンベロープが拡張する場合に発生します。これは「強い弱気シグナル」であり、通常は売り圧力の継続を意味します。このパターンは、持続的なモメンタムを伴う強力な弱気ブレイクダウンを捉えます。DeMarkerが低いことは売り圧力が高まっていることを示し、拡張する下部エンベロープがトレンドの継続をサポートします。このパターンは、明確な方向性を持つ弱気相場に適しています。GBP/USDを2023年に最適化した後、2023年1月1日から2025年1月1日までテストした結果、以下のレポートが得られました。
使用する際には、下部エンベロープを下抜けしてクローズする強いローソク足で、かつ出来高でサポートされている場合にエントリーすると、安全性の高いエントリーが可能です。トレーリングストップをミッドラインの上に置き、過度な売られすぎ状態が長引かないよう監視することで、利益確定やエントリー精度の向上に役立ちます。
Envelopesのダブルタッチ + DeMarkerベース形成(Pattern_6)
このパターンの買いシグナルは、価格が下部エンベロープに2回タッチして「W」型の底を形成し、DeMarkerが売られすぎ領域から徐々に上昇する場合に発生します。これは強力な反転買いを示します。このパターンは、重要なサポートレベルでの強い強気な反転を捉えます。下部エンベロープのダブルタッチにより「W」パターンが形成されることで、サポートが保持されていることが示唆されます。DeMarkerが売られすぎ領域から上昇していることは、強気モメンタムを確認するサインとなります。
このパターンは、レンジ相場や明確なサポートゾーンを伴う調整局面で特に有効です。実運用においては、「W」のネックラインを上抜けしてクローズする強気のローソク足で確認すると効果的です。ストップロスは下部エンベロープまたは「W」の底の下に設定するのが適切です。また、DeMarkerが明確に上向きに動いていることを確認することで、偽シグナルを回避することが重要です。MQL5では、強気パターンと弱気パターンを次のように実装します。
//+------------------------------------------------------------------+ //| Check for Pattern 6. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_6(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > DEM(X() + 1) && Low(X()) > ENV_LW(X()) && Low(X() + 1) <= ENV_LW(X() + 1) && Low(X() + 2) >= ENV_LW(X() + 2) && Low(X() + 3) <= ENV_LW(X() + 3) && Low(X() + 4) >= ENV_LW(X() + 4)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < DEM(X() + 1) && High(X()) < ENV_UP(X()) && High(X() + 1) >= ENV_UP(X() + 1) && High(X() + 2) <= ENV_UP(X() + 2) && High(X() + 3) >= ENV_UP(X() + 3) && High(X() + 4) <= ENV_UP(X() + 4)) { return(true); } return(false); }
Pattern_6の売りシグナルは、価格が上部エンベロープに2回タッチして「M」型の天井を形成し、DeMarkerが買われすぎ領域から徐々に下降する場合に発生します。これは「強力な反転売り」を示します。このパターンは、重要なレジスタンスレベルでの強い弱気反転を特定するのに役立ちます。上部エンベロープでの「M」型のダブルタッチは、レジスタンスが保持されていることを示します。下降するDeMarkerは、強気モメンタムの衰えを確認するサインです。このパターンはレンジ相場で特に効果的です。前述の他のパターンと同じ銘柄と期間でテストした結果、以下のレポートが得られました。
実運用においては、「M」のネックラインを下抜けしてクローズする陰線で確認すると、さらに信頼性の高いフィルターとなります。ストップロスは上部エンベロープや「M」の高値の上に置くことができます。また、DeMarkerの下降傾向が確認できることも、偽エントリーを避けるために重要です。
DeMarkerの極値からの急回復 + Envelopesのブレイクアウト(Pattern_7)
Pattern_7の買いシグナルは、DeMarkerが0.3未満の水準から急激に回復して数本のローソク足で0.5を上抜けし、同時に価格が上部エンベロープを上抜けしてクローズした場合に発生します。このパターンは、売られすぎ状態の後に発生する爆発的な強気の動きを捉えます。DeMarkerの急激な回復は、急速なモメンタムシフトを示し、価格が上部エンベロープを突破することでブレイクアウトの強さを確認できます。このセットアップは、ボラティリティの高い相場やニュースによる急騰を狙った取引に適しています。
実運用においては、高出来高や強い陽線での追加確認フィルターを設けるとさらに安全です。ストップロスは下部エンベロープや直近スイング安値の下に設定します。過度に伸びたブレイクアウトでの反転には注意を払い、トレーリングストップを活用することが推奨されます。MQL5でPattern_7を次のように実装します。
//+------------------------------------------------------------------+ //| Check for Pattern 7. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_7(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) >= 0.5 && DEM(X() + 2) <= 0.3 && Close(X()) > ENV_UP(X()) && Close(X() + 1) <= ENV_UP(X() + 1)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) <= 0.5 && DEM(X() + 2) >= 0.8 && Close(X()) < ENV_LW(X()) && Close(X() + 1) >= ENV_LW(X() + 1)) { return(true); } return(false); }
このパターンの売りシグナルは、DeMarkerが0.7以上から急落して0.5未満となり、同時に価格が下部エンベロープを下抜けしてクローズした場合に発生します。このパターンは、買われすぎの局面の後に発生する急激な弱気の動きを捉えます。DeMarkerの急落は、迅速なモメンタム反転を示し、価格が下部エンベロープを下抜けすることでこの弱さの崩れを確認できます。強気版と同様に、このセットアップはボラティリティの高い相場やイベント駆動型の急落に適しています。1年間の最適化後にさらに1年間のフォワードウォークをおこなったテストの結果は、以下の通りです。
実運用においては、高出来高や強い陰線による確認フィルターを適用すると良いでしょう。ストップロスは上部エンベロープや直近のスイング高値の上に置きます。このパターンはボラティリティが高いため、基礎となる価格動向の変化を常に監視することが重要です。
DeMarker極端値 + Envelopeのリテスト(Pattern_8)
Pattern_8(9番目)の買いシグナルは、価格が上部エンベロープを上抜けし、DeMarkerが0.7を上回り、かつ安値が上部エンベロープの上にある場合に発生します。これは、低リスクのプルバックエントリーを狙ったものです。DeMarkerの高水準はブレイクアウト時の強気モメンタムを確認し、価格が上部エンベロープでサポートを再テストすることで、高確率のエントリーを提供します。このパターンは、ブレイクアウトが明確なトレンド相場で有効です。使用する際には、陽線で確認フィルターを設けることができます。価格が上部エンベロープの上で保持されていれば、エントリーのサインとなります。ストップロスは上部エンベロープの下または直近安値の下に設定します。このパターンは、レンジやもみ合い相場では避けるべきです。このパターンは、MQL5では以下のように実装されます。
//+------------------------------------------------------------------+ //| Check for Pattern 8. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_8(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > 0.7 && Low(X()) > ENV_UP(X())) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < 0.3 && High(X()) < ENV_LW(X())) { return(true); } return(false); }
売りシグナルは、価格が下部エンベロープを下抜けし、DeMarkerが0.3未満で、かつ高値が下部エンベロープの下にある場合に発生します。これは「プルバック売り」と呼ばれます。この売りパターンは、ブレイクダウン後のプルバックを捉え、低リスクのショートエントリーを提供します。DeMarkerが0.3未満であることは、強力な弱気モメンタムを確認するサインとなります。価格が下部エンベロープでリテストした際、その想定されるレジスタンスにより高確率のショートエントリーが設定されます。このパターンは、ブレイクダウンが確認された弱気トレンドに適しています。。上記のパターンと同様の条件で実施したフォワードウォークテストの結果は、以下の通りです。
プルバックの確認として、下部エンベロープを拒絶する陰線での確認を追加フィルターとして用いることができます。ストップロスは下側Envelopeの上や直近高値の上に置きます。また、異なる相場環境でのバックテストにより、このパターンの堅牢性を確認することも重要です。
Envelopeの急傾斜 + DeMarkerのモメンタムシフト(Pattern_9)
最後のパターンの買いシグナルは、Envelopeが急激に上向きに傾き(明確に上昇)、DeMarkerが0.5を上回る場合に発生します。これは「強力なトレンド買い」を示します。Pattern_9の強気シグナルは、モメンタムが確認された強い強気トレンドの始まりを捉えます。Envelopeの上向き傾斜は明確な強気トレンドを示し、DeMarkerが0.5以上であることは持続的な買い圧力を示します。このパターンは、方向性の明確な持続的なトレンド相場に適しています。追加のエントリーフィルターとして、価格がEnvelopesのミッドラインや上部エンベロープを上抜けしてクローズするか、DeMarkerで確認する方法があります。トレーリングストップはミッドラインの下に置き、遅いエントリーは避けるべきです。このパターンは過剰に伸びやすい傾向があるためです。このパターンは、MQL5では以下のように実装されます。
//+------------------------------------------------------------------+ //| Check for Pattern 9. | //+------------------------------------------------------------------+ bool CSignalDEM_ENV::IsPattern_9(ENUM_POSITION_TYPE T) { if(T == POSITION_TYPE_BUY && DEM(X()) > 0.5 && DEM(X() + 1) < 0.5 && ENV_UP(X()) > ENV_UP(X() + 1) && ENV_UP(X() + 1) > ENV_UP(X() + 2)) { return(true); } else if(T == POSITION_TYPE_SELL && DEM(X()) < 0.5 && DEM(X() + 1) > 0.5 && ENV_LW(X()) < ENV_LW(X() + 1) && ENV_LW(X() + 1) < ENV_LW(X() + 2)) { return(true); } return(false); }
一方の売りシグナルは、強気パターンの逆であり、Envelopeが急激に下向きに傾き、DeMarkerが0.5を下回るときに発生します。この弱気パターンは、モメンタムでも確認された強い下降トレンドの始まりを捉えます。下向きに傾いたEnvelopeがこのシナリオをさらに裏付け、さらに低いDeMarker値が持続的な売り圧力を確認します。予想どおり、このパターンは明確な方向性を持った弱気市場で効果的です。上記パターンと同じ設定でテストをおこなった結果、以下のレポートが得られました。
いくらかの利益は反映されたものの、このパターンは訓練期間外ではフォワードウォークできず、利益を上げることはできませんでした。
弱気Pattern_9に追加できるフィルターとしては、エントリーをミッドラインまたは下部エンベロープを下抜けてクローズしたときに限定することが挙げられます。トレーリングストップロスはミッドラインまたは下部エンベロープの上に置くことができます。また、DeMarkerが売られすぎを示すシグナルが多発していないかを確認し、遅れてエントリーすることを避けることも重要です。
結論
まとめると、モメンタムとサポート/レジスタンスを組み合わせて取引システムを構築する、もうひとつのインジケーターペアを紹介しました。前年度で最適化をおこない、その後の1年間でフォワードウォークをテストしたところ、GBP/USDの4時間足では10パターン中6パターンのみがフォワードウォークで機能しました。いつもの通り、この結果には多くの要因が影響している可能性があります。したがって、より長い期間でのテストや、実際に使用するブローカーの価格データを用いた検証が常に推奨されます。次に、これらのシンプルなパターンが機械学習によって採用・強化できるかどうかを検討していきます。
名前 | 説明 |
---|---|
wz63.mq5 | インクルードファイルを示す、ウィザードで組み立てられたEA |
SignalWZ_63_.mqh | シグナルクラスファイル |
MetaQuotes Ltdにより英語から翻訳されました。
元の記事: https://www.mql5.com/en/articles/17987
警告: これらの資料についてのすべての権利はMetaQuotes Ltd.が保有しています。これらの資料の全部または一部の複製や再プリントは禁じられています。
この記事はサイトのユーザーによって執筆されたものであり、著者の個人的な見解を反映しています。MetaQuotes Ltdは、提示された情報の正確性や、記載されているソリューション、戦略、または推奨事項の使用によって生じたいかなる結果についても責任を負いません。





- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索