이중 이동 평균을 기반으로 한 변동성 추적 전략


생성 날짜: 2024-02-29 11:15:08 마지막으로 수정됨: 2024-02-29 11:15:08
복사: 0 클릭수: 627
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이중 이동 평균을 기반으로 한 변동성 추적 전략

개요

쌍평평선 변동률 추적 전략은 금叉死叉 전략과 평평선 변동률 지표 추적 전략의 두 가지 아이디어를 통합한다. 다양한 주기의 간단한 이동평선 교차를 계산하여 금叉死叉 판단을 구현하고, 볼린저 진동대와 VIDYA 지표와 결합하여 시장의 추세와 변동률을 판단하여 추세를 명확하게 판단하고 중요한 시점을 효율적으로 포착한다.

전략 원칙

이 전략의 핵심 지표는 단순 이동 평균, 볼린저 파동 밴드 및 VIDYA 변동률 지수 평균이다. 전략은 빠른 라인 SMA와 느린 라인 LMA의 다른 주기를 설정하여, 빠른 라인의 황금 교차가 다중 신호로, 평형 포지션 신호로 사용된다. 동시에, 볼린저 파동 밴드는 포지션을 보유하는 과정에서 가격이 경로를 돌파하거나 경로를 돌파하는 경우를 판단한다.

구체적으로, 더 많은 신호의 논리는 빠른 선에 느린 선을 통과하고, 가격이 VIDYA 곡선보다 높다는 것을 나타냅니다. 추세가 상승하고 변동이 확대되는 전제가 있음을 나타냅니다. 평소 위치 신호는 빠른 선 아래에 느린 선을 통과하거나 가격이 VIDYA 곡선보다 낮다는 것을 나타냅니다. 추세가 반전되거나 변동이 수축하는 경향이 있음을 나타냅니다.

우위 분석

이중평균률 변동률 추적 전략의 가장 큰 장점은 시장 상태를 판단하는 두 가지 지표가 결합되어 의사 결정의 정확성을 향상시킬 수 있다는 것입니다. 구체적으로 장점은 다음과 같습니다:

  1. 금색 포크는 간단하고 효과적이며, 트렌드 전환점을 명확하게 판단할 수 있습니다.
  2. 변동률 지표인 비디아 (VIDYA) 는 동적으로 시장 변동의 변화를 추적합니다.
  3. 볼링거의 변동이 전략에 가격의 변동에 대응할 수 있도록 도와줍니다.

종합적으로, 이 전략은 트렌드, 리버전, 그리고 변동율과 같은 여러 차원의 정보를 통합하여 시장의 변화에 더 빠르게 반응하여 더 많은 수익을 얻을 수 있습니다.

위험 분석

이 전략은 많은 장점들을 가지고 있지만, 몇 가지 위험도 있습니다.

  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")