二重移動平均に基づくボラティリティ追跡戦略


作成日: 2024-02-29 11:15:08 最終変更日: 2024-02-29 11:15:08
コピー: 0 クリック数: 627
1
フォロー
1617
フォロワー

二重移動平均に基づくボラティリティ追跡戦略

概要

双均線波動率追跡戦略は,金叉死叉戦略と均線波動率指標追跡戦略の2つの大理念を融合している.異なる周期の単純な移動均線交差を計算することによって金叉死叉判定を実現し,同時に,ボリンジャー波動帯とVIDYA指標を組み合わせて市場の傾向と波動率を判断し,トレンドの明確な判断と重要なポイントの高効率のキャプチャを実現している.

戦略原則

この戦略の核心指標には,シンプル・ムービング・アベア,ボリンジャー・バンドとVIDYA・フローレンス・インデックスの平均線が含まれている.この戦略は,ショートラインSMAとスローラインLMAの異なる周期を設定し,ショートラインのゴールド・クロスが多重信号として,デッド・クロスが平仓信号として使用される.同時に,ボリンジャー・バンドは,ポジション保持過程で価格が突破して上下する状況を判断する.VIDYA・インデックスのムービング・アベアは,現在のトレンドの方向と強さを判断するために,フローレンス・インデックスの平均線とフローレンス・インデックスの情報を組み合わせる.

具体的には,多行信号の論理は,急行線上での遅行線を貫通し,価格がVIDYA曲線より高く,トレンドの上昇と波動の拡大を前提としていることを示している.平行シグナルは,急行線下での遅行線を貫通し,価格がVIDYA曲線より低いことを示している.

優位分析

双均線波動率追跡戦略の最大の利点は,二重指標を組み合わせて市場の状況を判断することで,意思決定の正確性を向上させることが可能である.具体的には,利点は以下の通りである.

  1. “金叉死叉”という戦略はシンプルで効果的で,トレンドの転換点を明確に判断できる.
  2. 波動性指数VIDYAは,市場の波動の変化を動的に追跡します.
  3. Bollinger Bandsの判断は,価格の揺れに対して策略に適時に対応することを可能にします.

全体として,この戦略は,トレンド,リターン,波動率などの複数の次元を統合し,市場の変化により迅速に反応し,それにより余剰利益を得る可能性が高くなります.

リスク分析

この戦略には多くの利点がありますが,注意すべきリスクもあります.

  1. パラメータの不適切な設定は,取引の頻度を高くし,取引コストを増加させ,スライドポイントの損失を引き起こす可能性があります.
  2. 双重指標判断で信号が衝突する場合には,明確な優先順位が必要で,そうしないと,最適な入場時間を逃す恐れがある.
  3. 戦略的反測には過適合のリスクがあり,実体でのパフォーマンスは反測結果と大きく異なる可能性があります.

上記のリスクを軽減するために,パラメータの設定を最適化し,指標信号の優先順位を明確にし,滑点制御を増やし,異なる市場環境で戦略の安定性を複数回検証することをお勧めします.

最適化の方向

この戦略の主要な最適化の方向は,パラメータ設定とフィルタリング条件に焦点を当てており,以下のいくつかの次元から実行できます.

  1. 速線と遅線の均線周期パラメータを最適化する.
  2. ボリンジャー波動帯の帯幅パラメータを調整する.
  3. ビデオのα平滑関数を最適化する.
  4. 価格の上昇や取引量の異常なフィルタリング条件

参数最適化と規則最適化との組み合わせにより,戦略の安定性と収益率をさらに向上させることができます.

要約する

双均線波動率追跡戦略は,市場状況を判断するために複数の指標を総合的に使用し,トレンドの転換を捕捉しながら価格の変動状況に注目する.これはリスクと利益のバランスを取った効果的な戦略である.この戦略の最適化スペースは大きく,さらなる探索と検証に値し,現場でかなりの余分な利益を期待する.

ストラテジーソースコード
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Combined Golden Cross and Progressive Trend Tracker", shorttitle="GCC-PTT", overlay=true)

// Inputs
fastMA_period = input(50, title="Fast MA Period")
slowMA_period = input(200, title="Slow MA Period")
src = input(close, title="Source")
lengthBB = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
mavType = input.string(title="Moving Average Type", defval="VAR", options=['SMA', 'EMA', 'WMA', 'TMA', 'VAR', 'WWMA', 'ZLEMA', 'TSF'])

// Calculate Moving Averages for Golden Cross
fastMA = ta.sma(src, fastMA_period)
slowMA = ta.sma(src, slowMA_period)
bullish_cross = ta.crossover(fastMA, slowMA)
bearish_cross = ta.crossunder(fastMA, slowMA)

// Progressive Trend Tracker Components (Adjusted for NA assignment issue)
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = src > src[1] ? src - src[1] : 0
    vdd1 = src < src[1] ? src[1] - src : 0
    vUD = math.sum(vud1, length)
    vDD = math.sum(vdd1, length)
    vCMO = (vUD - vDD) / (vUD + vDD)
    VAR = 0.0 // Adjusted here, assign an initial value
    VAR := ta.ema(src * math.abs(vCMO), length)
    VAR

VAR = Var_Func(src, 14) // Example VAR calculation, adjust as needed

// Bollinger Bands for dynamic support and resistance
BBandTop = fastMA + mult * ta.stdev(src, lengthBB)
BBandBot = fastMA - mult * ta.stdev(src, lengthBB)

// Plotting
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
plot(BBandTop, color=color.green, title="Bollinger Band Top")
plot(BBandBot, color=color.red, title="Bollinger Band Bottom")
plot(VAR, color=color.purple, title="VAR", linewidth=2)

// Strategy Logic (Adjusted for strategy use)
// Long Entry when bullish cross and close above VAR
// Exit when bearish cross or close below VAR
if (bullish_cross and close > VAR)
    strategy.entry("CGC_PTT_Long", strategy.long)
if (bearish_cross or close < VAR)
    strategy.close("CGC_PTT_Long")