리소스 로딩... 로딩...

강화된 모멘텀 오시레이터 및 스토카스틱 디버전스 양적 거래 전략

저자:차오장, 날짜: 2024-12-11 17:34:01
태그:ACRSISMA스톡TPSLAODIV

img

전반적인 설명

이 전략은 액셀러레이터 오시레레이터 (AC) 와 스토카스틱 지표를 결합한 양적 거래 시스템이다. 잠재적인 트렌드 반전을 예측하기 위해 가격과 기술 지표 사이의 오차를 식별함으로써 시장 추진력 변화를 포착한다. 이 전략은 또한 신호 신뢰성을 향상시키기 위해 간단한 이동 평균 (SMA) 과 상대 강도 지표 (RSI) 를 통합하고 있으며, 위험 통제를 위해 고정된 영리 및 스톱 로스 레벨을 갖추고 있다.

전략 원칙

핵심 논리는 여러 기술적 지표의 시너지에 기반합니다. AC는 N 기간 이동 평균을 빼고 5 기간 및 34 기간 SMA의 가격 중간 지점의 차이를 사용하여 계산됩니다. 스토카스틱 K 및 D 값은 분산 신호를 확인하기 위해 계산됩니다. AC가 상승하는 동안 가격이 새로운 최저치를 만들 때 상승 분리가 형성됩니다. AC가 떨어지는 동안 가격이 새로운 최고치를 만들 때 하락 분리가 형성됩니다. RSI는 신호 정확성을 향상시키기 위해 여러 지표의 교차 검증을 사용하여 추가 확인 지표로 통합됩니다.

전략적 장점

  1. 다중 지표 시너지: AC, 스토카스틱 및 RSI의 조합을 통해 잘못된 신호를 효과적으로 필터합니다.
  2. 자동화된 리스크 제어: 내장된 고정 수익 및 스톱 로스 설정으로 거래당 리스크를 효과적으로 제어합니다.
  3. 시각적 신호: 기회의 빠른 식별을 위해 차트에 표시된 명확한 구매 및 판매 신호
  4. 높은 유연성: 다른 시장 조건과 시간 프레임에 적합한 강력한 매개 변수 사용자 정의
  5. 실시간 알림: 통합 알림 시스템이 거래 기회를 놓치지 않도록 보장합니다.

전략 위험

  1. 가짜 파업 위험: 다양한 시장에서 잘못된 분산 신호를 생성할 수 있습니다.
  2. 미끄러짐 위험: 고정 파이프 수익 및 스톱 손실은 변동성 시장에서 상당한 미끄러짐에 직면 할 수 있습니다.
  3. 매개 변수 민감성: 다른 매개 변수 조합은 전략 성능의 차이를 초래할 수 있습니다.
  4. 시장 환경의 의존성: 전략은 명확한 추세가 없는 시장에서 낮은 성과를 낼 수 있습니다.
  5. 신호 지연: 이동 평균 계산으로 인해 약간의 지연이 발생할 수 있습니다.

전략 최적화 방향

  1. 동적 영업/손실 정지: 시장 변동성에 따라 수치를 조정합니다.
  2. 부피 표시기 통합: 부피 확인을 통해 신호 신뢰성을 향상
  3. 시장 환경 필터링: 다른 시장 조건에 대한 트렌드 평가 모듈을 추가
  4. 매개 변수 최적화: 매개 변수 조합을 최적화하기 위해 기계 학습 방법을 사용
  5. 시간 필터링: 불리한 거래 기간을 피하기 위해 시장 시간 특성을 고려하십시오.

요약

이 전략은 여러 가지 기술적 지표를 통합하여 분산 신호를 통해 시장 전환점을 포착하는 양적 거래 전략입니다. 이 전략의 장점은 여러 가지 지표와 포괄적인 리스크 제어 시스템의 교차 검증에 있으며, 잘못된 브레이크아웃과 매개 변수 최적화에주의를 기울여야합니다. 지속적인 최적화와 개선을 통해 전략은 다른 시장 환경에서 안정적인 성능을 유지하는 것을 약속합니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © JayQwae


//@version=5
strategy("Enhanced AC Divergence Strategy with Stochastic Divergence", overlay=true)

// Input settings
tp_pips = input.float(0.0020, "Take Profit (in price)", step=0.0001)
sl_pips = input.float(0.0040, "Stop Loss (in price)", step=0.0001)  // 40 pips
ac_length = input.int(5, "AC Length")
rsi_length = input.int(14, "RSI Length")
stoch_k = input.int(14, "Stochastic K Length")
stoch_d = input.int(3, "Stochastic D Smoothing")
stoch_ob = input.float(80, "Stochastic Overbought Level")
stoch_os = input.float(20, "Stochastic Oversold Level")

// Accelerator Oscillator Calculation
high_low_mid = (high + low) / 2
ao = ta.sma(high_low_mid, 5) - ta.sma(high_low_mid, 34)
ac = ao - ta.sma(ao, ac_length)

// RSI Calculation
rsi = ta.rsi(close, rsi_length)

// Stochastic Oscillator Calculation
k = ta.sma(ta.stoch(close, high, low, stoch_k), stoch_d)
d = ta.sma(k, stoch_d)

// Stochastic Divergence Detection
stoch_bull_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ta.lowest(k, 5) > ta.lowest(k[1], 5)
stoch_bear_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ta.highest(k, 5) < ta.highest(k[1], 5)

// Main Divergence Detection
bullish_div = ta.lowest(close, 5) < ta.lowest(close[1], 5) and ac > ac[1] and stoch_bull_div
bearish_div = ta.highest(close, 5) > ta.highest(close[1], 5) and ac < ac[1] and stoch_bear_div

// Plot divergences
plotshape(bullish_div, title="Bullish Divergence", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(bearish_div, title="Bearish Divergence", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy rules
if (bullish_div)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=close + tp_pips, stop=close - sl_pips)

if (bearish_div)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=close - tp_pips, stop=close + sl_pips)

// Alerts
if (bullish_div)
    alert("Bullish Divergence detected! Potential Buy Opportunity", alert.freq_once_per_bar)

if (bearish_div)
    alert("Bearish Divergence detected! Potential Sell Opportunity", alert.freq_once_per_bar)





관련

더 많은