アダプティブ・モメンタム・クラウド・ブレイクアウト・クオンツ戦略

KAMA MACD ATR TP SL EMA
作成日: 2025-06-18 13:40:36 最終変更日: 2025-06-18 13:40:36
コピー: 2 クリック数: 280
2
フォロー
319
フォロワー

アダプティブ・モメンタム・クラウド・ブレイクアウト・クオンツ戦略 アダプティブ・モメンタム・クラウド・ブレイクアウト・クオンツ戦略

戦略概要

自動自律的な変動量雲の突破量策略は,カフマン自律的な移動平均 ((KAMA),MACD直角図の変動量フィルターとATRベースの雲状包帯のネットワークラインを組み合わせた動的突破システムである.この策略は,価格突破率の波動率で定義された”雲区間”を識別し,動量でサポートされる方向的な動きを目的としている.この策略は,特に日中の時間枠 ((15分,1時間),そしてトレンドの可能性のある株式と暗号資産に適用される.

戦略の核心的な論理は,自主的な移動平均によってトレンド基盤を確立し,MACD直線図を使用して動量の方向を確認し,ATRベースの動的な波動帯を設定して突破区域を決定することです.価格がこれらの波動帯を突破するのに十分な動量を持ち合わせている場合にのみ,有効な取引シグナルを触発します.

戦略原則

この戦略の核心は,以下の3つの重要な技術要素の協同作用に基づいています.

  1. トレンドベース - KAMA (カフマン自律移動平均):コードでカマ指数を実装し,効率率を計算して平滑系数を動的に調整する.市場が明らかな傾向にあるとき,カマは迅速に反応することができる.横盤整理市場では,より平滑で効率的なノイズフィルタリングを行う.計算過程には,

    • 価格変化:現在の価格とNサイクル前の価格の絶対差
    • 波動性:N周期間の毎日の価格変化の絶対値の合計
    • 効率性比:価格の変化と変動の比
    • 滑らかな係数:効率比に基づく二次方程式
  2. 動力の確認 - MACD直角図策略は,MACD直線図が正値である場合にのみ多量化することを許し,負値である場合に空白化し,真の動量サポートのない偽の突破に入ることを避ける.MACD指標は,高速と遅い指数移動平均の間の関係を比較することによって動量変化を識別する.

  3. 雲状包帯線 - ATRベースの波動帯KAMAの戦略は2つの波動帯を描画することです.

    • 上帯 = KAMA + (ATR × 乗数)
    • 下帯 = KAMA - (ATR × 乗数)

これらの波動帯は,市場の波動性に応じて自動的に幅を調整するので,波動性が増加すると,より大きな突破幅が信号を誘発するために必要となる.

入学条件は,以下の条件を同時に満たすよう厳格に要求されています.

  • 値上がり: 価格が雲帯に覆われ + MACD直線図が正 + 閉盤価格がKAMAより高い
  • 空白:価格の下は雲帯を横切る + MACD直線図は負 + 閉盘価格はKAMAより低い

出場ロジックはATRベースの自律波動目標を採用している.

  • ストップ = 入場価格 ± (ATR × ストップの倍数)
  • ストップ = 入場価格 (ATR × ストップの倍数)

この設計は,ストップ・ストラストレベルが市場の実際の変動状況に合わせて動的に調整され,市場特性に適したものであることを保証します.

戦略的優位性

この戦略は,コードを深く分析した結果,以下の明らかな利点を示しています.

  1. 適応力がある: 核心で使用されるKAMA指標は,市場の効率性に応じて,自動的に感性を調整し,トレンド市場において迅速に反応し,振動市場において平穏に保持し,異なる市場環境に効果的に適応することができる.コードでは,効率比率と滑り係数の精密な計算によってこの特性が実現されている.

  2. 多層フィルタリング機構戦略は,価格の突破,トレンドの方向と動力の確認の三重検証メカニズムを組み合わせて,偽の突破のリスクを大幅に軽減します. 価格が雲帯を突破すると,MACD直角図が適切な動力を表示し,価格がKAMAの正しい側に位置すると,信号が発動されます.

  3. リスクマネジメントのダイナミック化:ATRベースの自律的なストップ・ローズメカニズムを採用し,リスク管理を市場の変動的動態に合わせます.これは低波動環境で過度に反応したり,高波動環境で過度に反応しなかったりする問題を回避します.

  4. 視界の明晰度が高く策略は,色のKAMA線,緑色と赤色の波動帯,青い雲の填充,MACD直角図に基づく背景の色変化を含む直感的な視覚要素を提供します.これらの視覚要素は,トレーダーが市場状況を迅速に評価するのに役立ちます.

  5. 資金管理統合戦略: 口座の純資産の1%のリスク管理設定をデフォルトで採用し,各取引のリスクを制御可能な範囲に保ち,長期の資金曲線の安定性を促進する.

  6. パラメータの可変性戦略は,KAMA長さ,MACDパラメータ,ATR周期,クラウド倍数,およびストップ・ストップ・ロスの倍数を含む複数の調整可能なパラメータを提供します.これは,トレーダーが特定の市場および個人リスクの好みに合わせてカスタマイズできるようにします.

戦略リスク

この戦略の設計は精巧ですが,以下の潜在的なリスクがあります.

  1. 偽の突破の危険性: 複数のフィルタリングメカニズムがあるにもかかわらず,高い波動性のある市場では,突破後に迅速な撤退が起こりうる. 解決方法は,突破後に反測不破のサポート/レジスタンスを待つような確認要素を追加すること,または取引量の確認を増やすことです.

  2. パラメータ感度: 戦略性能は,KAMA長さ,雲倍数,MACDパラメータなどの設定に非常に敏感である可能性があります.異なる市場と時間枠では異なるパラメータ設定が必要になる可能性があります.特定の取引品種に対するパラメータを最適化するために,反射をテストすることで,過度にフィットすることを避けるようにお勧めします.

  3. トレンド・ターニング・ポイントの反応が遅い: KAMAとMACDは後退指標であるため,急激なトレンドの転換時にタイムリーにターニングポイントを捕捉することができない.これは,トレンドの逆転の初期に大きな引き下がりを引き起こす可能性があります.

  4. 適用される市場制限: この戦略は,揺れ動いている市場では,より多くの無効信号を生じさせる可能性があります.コードは,KAMAの自適性特性を介してこの問題を軽減していますが,依然として,明らかなトレンド特性の市場での適用を優先することを推奨しています.

  5. 固定ATR倍数の限界ATRは自律的であるが,固定ATRの倍数はすべての市場環境に適さないかもしれない.極端な波動期には,早めにストップを避けるためにより大きな倍数が必要であり,低波動期には,より多くの機会を捉えるためにより小さな倍数が必要であるかもしれない.

戦略最適化の方向性

この戦略は,以下の方向で最適化できます.

  1. 動的に調整する雲倍数:市場の変動状態に応じて雲倍数を動的に調整することができる.例えば,高波動期には倍数を増加させ,低波動期には倍数を減少させる.これは,波動率の波動率 ((volatility of volatility) または長期短期ATR比率を計算することによって実現できる.

  2. 音量を上げる確認:入場条件に交差量増強確認を追加することで,突破信号の信頼性が著しく向上する.現在の交差量とNサイクル平均交差量との関係を比較することができ,交差量が大幅に増強された場合にのみ,突破を確認することが有効である.

  3. 尾行停止を導入する:現在の戦略は,固定ATR倍数設定のストップを使用し,KAMAまたはクラウドバンドベースの移動ストップのような尾行ストップの仕組みを導入することを検討することができます.*パラメータの実現

  4. タイムフィルタータイムフィルター条件を導入し,市場開業と閉店前の高波動期,または特定の経済データ発表の時間など,既知の低効率な取引時間を回避します. これは,現在のバーの時間をチェックすることによって実現できます.

  5. 複数時間枠確認: より高いタイムフレームのトレンド方向と結合し,より高いタイムフレームのトレンド方向と一致する方向のみで取引する。これは request.security関数を使用してより高いタイムフレームの指標値を取得する。

  6. 機械学習の最適化: 機械学習技術を使用して動的に最適化パラメータを考慮するか,破局の成功率を予測する.例えば,現在の市場条件下で破局の成功率を予測するために,歴史的なデータに基づいてモデルを訓練する.

要約する

自動適応動量雲の突破量化戦略は,KAMA自動適応トレンド追跡,MACD動量確認,ATRベースのダイナミック波動帯を組み合わせて,動量支持の価格突破を効果的に識別する,精巧に設計された取引システムである.この戦略は,明らかにトレンド特性の市場と日内取引時間枠に特に適している.

戦略の核心的な優点は,自主的な適応性と多層のフィルタリングメカニズムで,市場の状況の動向に応じて感度を調整することができ,偽信号を効果的に軽減します.同時に,ATRベースのリスク管理は,ストップ・ストップ・ロスのレベルが市場の実際の変動と一致することを保証します.

パラメータの感受性や市場適用性などの限界があるにもかかわらず,ダイナミックなクラウドの倍数,取引量確認,尾行停止などの推奨された最適化方向によって,戦略の安定性や適応性をさらに向上させることができます.最も重要なのは,トレーダーは戦略の背後にある論理を理解し,特定の市場の特徴に応じてパラメータを最適化し,長期にわたって安定したパフォーマンスを得るためにリスク管理のルールを厳格に遵守する必要があります.

精巧に設計されたビジュアル要素と明確な取引ロジックにより,この戦略は自動取引だけでなく,手動トレーダーに価値ある意思決定支援ツールを提供します.初心者や経験のあるトレーダーは,この体系化された方法から利益を得て,市場の中で高い確率の取引機会を見つけることができます.

ストラテジーソースコード
/*backtest
start: 2024-06-18 00:00:00
end: 2025-06-16 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("AI Momentum Cloud v6", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)

// === INPUTS ===
src         = input.source(close, "Source")
lengthKAMA  = input.int(10, "KAMA Length")
lengthMACD  = input.int(12, "MACD Fast")
lengthSig   = input.int(26, "MACD Slow")
lengthHist  = input.int(9, "MACD Signal")
atrLen      = input.int(14, "ATR Length")
mult        = input.float(1.5, "Cloud Multiplier")
tpMult      = input.float(2.0, "Take Profit ATR")
slMult      = input.float(1.0, "Stop Loss ATR")

// === CUSTOM KAMA FUNCTION ===
priceChange = math.abs(src - src[lengthKAMA])
volatility = math.sum(math.abs(src - src[1]), lengthKAMA)
efficiencyRatio = volatility != 0 ? priceChange / volatility : 0
sc = math.pow(efficiencyRatio * 2 / (lengthKAMA + 1), 2)

kama = 0.0
kama := na(kama[1]) ? src : kama[1] + sc * (src - kama[1])

// === MACD Momentum ===
macdLine   = ta.ema(src, lengthMACD) - ta.ema(src, lengthSig)
macdSignal = ta.ema(macdLine, lengthHist)
macdHist   = macdLine - macdSignal

// === Cloud Bands (Dynamic Volatility Envelope) ===
atr        = ta.atr(atrLen)
cloudUpper = kama + atr * mult
cloudLower = kama - atr * mult

// === ENTRY CONDITIONS ===
longCond  = ta.crossover(close, cloudUpper) and macdHist > 0 and close > kama
shortCond = ta.crossunder(close, cloudLower) and macdHist < 0 and close < kama

if longCond
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry="Long", limit=close + atr * tpMult, stop=close - atr * slMult)

if shortCond
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", from_entry="Short", limit=close - atr * tpMult, stop=close + atr * slMult)

// === VISUALS ===
plot(kama, title="KAMA", color=color.orange, linewidth=2)
p1 = plot(cloudUpper, title="Cloud Upper", color=color.green, linewidth=1)
p2 = plot(cloudLower, title="Cloud Lower", color=color.red, linewidth=1)
fill(p1, p2, color=color.new(color.blue, 90), title="Cloud Fill")

bgcolor(macdHist > 0 ? color.new(color.green, 85) : macdHist < 0 ? color.new(color.red, 85) : na)