HMAアクセラレーションクロスオーバー取引システム:ATRボラティリティコントロールと曲率モメンタムフィルタリングを組み合わせたトレンドフォロー戦略

HMA ATR 动量指标 交叉信号 曲率过滤 波动率管理 风险控制 趋势跟踪 自适应止损
作成日: 2025-06-30 15:16:40 最終変更日: 2025-06-30 15:16:40
コピー: 1 クリック数: 250
2
フォロー
319
フォロワー

HMAアクセラレーションクロスオーバー取引システム:ATRボラティリティコントロールと曲率モメンタムフィルタリングを組み合わせたトレンドフォロー戦略 HMAアクセラレーションクロスオーバー取引システム:ATRボラティリティコントロールと曲率モメンタムフィルタリングを組み合わせたトレンドフォロー戦略

概要

HMA加速交差取引システムは,ハル移動平均 (Hull Moving Average, HMA) の交差信号,曲率 (Curvature) の動量フィルターと,平均真範囲 (Average True Range, ATR) に基づくリスク管理機構を組み合わせた総合的なトレンド追跡戦略である.この戦略は,速いと遅いHMAの交差によって市場のトレンド方向を決定し,曲率指標を利用して十分な動きのあるシグナルを選択し,ATRを動的に使用してストップとポジションを設定し,市場の波動性に対して効果的である.適応戦略は,多重と空白の双方向取引をサポートし,正確なエントリー条件と自己適応のリスク管理システムにより,継続的なトレンドを捕捉し,資金の安全性を保護することを目的としている.

戦略原則

この戦略の核心となる原則は,以下の3つの重要な構成要素を中心に展開されています.

  1. HMA交信システム

    • 急速なHMA (周期15) と遅いHMA (周期34) が動的トレンド指標として
    • HMAが高速で,HMAがゆっくりと上向きに進むと,多重信号が作られます.
    • HMAは,HMAの速度が遅い時,空白信号を生成します.
    • HMAは従来の移動平均よりも迅速に反応し,遅滞を減らす
  2. 曲率動量フィルター

    • 曲率は,急速なHMAの二次変化率として計算される:curv = ta.change ((ta.change ((fastHMA))
    • この指標は,実質的にトレンドの”加速”を測るものです.
    • 複数要求: 曲率値が設定の値 ((curvThresh) よりも大きいことを確認し,正方向加速
    • 空気要求:曲率値が負の値 ((-curvThresh) 未満で,負方向加速を保証する
    • このフィルタリングメカニズムは, 弱さや停滞を排除するのに有効です.
  3. ATRベースのリスク管理フレームワーク

    • ATR ((14サイクル) を使って市場の変動を測定する
    • 初期ストップ距離 = ATR × ストップの倍数 ((1.5)
    • 追跡停止距離 = ATR × 追跡倍数 ((1.0))
    • ポジション計算式:ポジション = (口座資金 × リスク比率) ÷ ストップダスト
    • これは,市場の変動に関係なく,取引ごとに固定された割合で取引のリスクを確保します.

取引実行の論理は明確である. 速いHMA上を通過する遅いHMAと曲率が正であるとき,ポジションを多く開く. 速いHMA下を通過する遅いHMAと曲率が負であるとき,ポジションを空にする. 出場戦略はATRベースの追跡ストップロースを採用し,価格が有利な方向に移動するにつれて,ストップロースはそれに合わせて調整され,利益をロックする. 傾向条件が逆転するときに (逆転交差信号のように),既存のポジションは平仓される.

戦略的優位性

  1. 適応力がある:HMAは価格変化に敏感であり,戦略全体は市場の変動に応じて自動的にストップダスト距離とポジションサイズを調整し,異なる市場環境で比較的一貫したパフォーマンスを維持することができます.

  2. フィルタリングの質曲率指標の適用により,策略は不十分な動力の信号を識別し,フィルターし,トレンドが十分な加速を持つ場合にのみ入場し,偽ブレイクと無効取引を大幅に削減します.

  3. リスク管理が厳格ですATRベースのリスク管理システムにより,取引ごとに想定されるリスクが常に維持され,市場の変動が如何であっても,単一取引で過度の損失を被らないことを保証します.

  4. ダイナミックなポジション管理戦略: 現在の市場変動と口座資金の動向に基づいて最適のポジションを計算し,波動性が高いときにポジションを自動的に減らし,波動性低いときにポジションを適度に増加させ,資金効率とリスク管理のバランスを達成します.

  5. 完全な取引枠組: 戦略は,信号生成,入場条件,ポジション計算からストップ・ローズ・マネジメントまでの完全な取引システムを提供し,他のモジュールを追加する必要なく実用的に適用できます.

  6. 双方向の取引能力利回りや空調の双方向取引をサポートし,単一方向に限定されない様々な市場動向で利益を得る機会を探します.

戦略リスク

  1. 市場が揺れ動いた: トレンド追跡策として,横盤整理や頻繁に波動する市場環境では,連続した小規模な損失が生じることがある.これは,市場状態認識モジュールを追加し,波動する市場を認識したときに取引を一時停止したり,パラメータを調整したりする.

  2. パラメータ感度戦略性能は,HMA周期,曲率値,ATR倍数などのパラメータ設定に敏感である.パラメータ選択が不適切である場合,過度取引または重要なトレンドを逃す可能性があります.異なる市場環境で反測することによってパラメータを最適化するか,パラメータ自律的適応機構を実現することを検討することをお勧めします.

  3. スライドポイントと流動性のリスク:波動が激しい市場では,実際の実行価格が信号価格と大きく偏っている可能性があります.特に流動性が低い品種の場合,この滑走は戦略のパフォーマンスに顕著に影響を与える可能性があります.反測では滑走要因を考慮し,実存では十分な流動性の取引品種を選択することに注意することをお勧めします.

  4. システム上のリスクの口戦略は,強いトレンドの環境で大きなポジションを保持することがあり,市場が突然逆転した場合 (重大ニュースショックのような) は,ストップを追跡することは,資金の保護を間に合わない可能性があります. 絶対的なストップ額を設定するか,変動率突破検出機構を追加保護として導入することを考えることができます.

  5. 曲率過過濾曲率の値があまりにも高く設定されれば,初期トレンドが逃れ,低すぎると,過剰なノイズ信号が導入される可能性がある.反測でバランスポイントを見つけ,または市場の状況の動向に応じて値の調整を検討する必要があります.

最適化の方向

  1. 複数時間枠確認

    • より長い周期のHMAがトレンドフィルターとして追加され,長期トレンドが短期信号と一致するときにのみ入力されます.
    • 実現方法: 長期周期HMA指標を追加し,その方向を追加入場条件として設定する
    • 優点: 信号の質を大幅に向上させ,逆転取引を減らす
  2. 適応曲率の値

    • 現在の固定曲率の値は,異なる波動環境で過緩または過厳格である可能性があります.
    • 最適化方向: 統計分布の動的値値調整の値,歴史曲率データに基づいて
    • 実施方法: 動的値を設定するために曲率の標準差またはパーセントを使用できる
    • 優点:異なる市場段階において最適なシグナルフィルタリングの効果を維持する
  3. 交付量確認の導入

    • 現在では,価格データのみをベースに,取引量の要素を無視しています.
    • 最適化方向:交差信号生成時に成交量の拡大をチェックする
    • 実現方法:取引量指標を追加し,突破時に取引量がn日平均より高いことを要求する
    • 利点:偽突破を減らす,信号の信頼性を高める
  4. スマート・ストップ・マネジメント

    • 現在,トラッキング・ストップ・メカニズムは単純で,さらに最適化できます.
    • 最適化方向:市場構造の動向に合わせてストップ・ディスタンス調整
    • 実現方法:トレンドの加速段階ではストップを締め,整理段階では適切に緩める
    • 利点:利益の保護と価格の緩和を より良くバランスさせる
  5. HMA差値曲率分析に加入する

    • 面白いアイデアは コードノートに記されています
    • 最適化方向:高速HMAの分析ではなく,2つのHMA間の差値の曲率を計算する
    • 実現方法:diff = fastHMA - slowHMA; diffCurv = ta.change (ta.change (diff))
    • 優位性:トレンド転換の強さについてより正確な情報を提供できる
  6. 資金管理戦略の最適化

    • 固定リスク比率は最適ではない
    • 最適化方向:システムの損益状態の動向に応じてリスク比率を調整する
    • 実現方法: 連続した利益の後にリスク比率がわずかに上昇し,連続した損失の後に減少
    • 利点:有利な市場環境で資金の利用効率を向上させ,不利な環境で資金の保護を向上させる

要約する

HMA加速交差取引システムは,HMA交差,曲率動量フィルタリング,ATRリスク管理を組み合わせて,完全な強力な取引枠組みを構築する,精巧に設計されたトレンド追跡戦略である.この戦略の核心的な優位性は,自律的適応性と全面的なリスク管理であり,市場動向を捉えながら取引資金の安全性を保護するものである.

戦略は,明らかにトレンドの特徴を持つ市場には特に適しているが,揺れ動いている市場では挑戦が起こり得る. 戦略の性能は,推奨された最適化措置,特に多時間枠の確認と自己適応パラメータの調整を実行することによってさらに向上する見込みがある. 量化トレーダーにとっては,これは,直接適用できるだけでなく,より複雑な取引戦略の構築の起点としても,堅固な基盤を持つシステムである.

注目すべきは,あらゆる取引戦略は,十分な歴史の追溯と模擬取引の検証を経て,特定の市場の特徴と個人のリスクの好みに合わせてパラメータを調整する必要があることです. この戦略は,技術分析,動力理論,リスク管理のバランスを取った枠組みを提供します. しかし,成功の適用には,トレーダーの注意深い調整と継続的な監視が必要です.

ストラテジーソースコード
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/

//@version=6
strategy("HMA Crossover + ATR + Curvature (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === Inputs ===
fastLength  = input.int(15, title="Fast HMA Period")
slowLength  = input.int(34, title="Slow HMA Period")
atrLength   = input.int(14, title="ATR Period")
riskPercent = input.float(1.0, minval=0.1, maxval=10, title="Risk per Trade (%)")
atrMult     = input.float(1.5, title="Stop Loss ATR Multiplier")
trailMult   = input.float(1.0, title="Trailing Stop ATR Multiplier")
curvThresh  = input.float(0.0, step=0.01, title="Curvature Threshold (Min Acceleration)")

// === Calculations ===
fastHMA = ta.hma(close, fastLength)
slowHMA = ta.hma(close, slowLength)
atr     = ta.atr(atrLength)

// Curvature: approximate second derivative (acceleration)
curv = ta.change(ta.change(fastHMA))

// Entry Conditions
bullish = ta.crossover(fastHMA, slowHMA) and curv > curvThresh
bearish = ta.crossunder(fastHMA, slowHMA) and curv < -curvThresh

// Risk Management
stopLoss = atr * atrMult
trailStop = atr * trailMult
capital = strategy.equity
riskCapital = capital * (riskPercent / 100)
qty = riskCapital / stopLoss

// === Strategy Logic ===
if (bullish)
    strategy.entry("Long", strategy.long, qty=qty)
    strategy.exit("Long Trail Stop", from_entry="Long", trail_points=trailStop, trail_offset=trailStop)

if (bearish)
    strategy.entry("Short", strategy.short, qty=qty)
    strategy.exit("Short Trail Stop", from_entry="Short", trail_points=trailStop, trail_offset=trailStop)

plotshape(bullish, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(bearish, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")