다요인 추세 추종 동적 위험 관리 주식 거래 전략

GCHANNEL EMA SMA ATR RSI ADX VOLUME
생성 날짜: 2025-03-31 16:47:17 마지막으로 수정됨: 2025-03-31 16:47:17
복사: 1 클릭수: 387
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

다요인 추세 추종 동적 위험 관리 주식 거래 전략 다요인 추세 추종 동적 위험 관리 주식 거래 전략

개요

이 전략은 다중 요소 트렌드 추적 동적 위험 관리 주식 거래 전략이며, 여러 기술 지표를 통합적으로 사용하여 거래 신호의 정확도와 전략의 전반적인 성능을 향상시키는 것을 목표로합니다. 전략의 핵심은 트렌드 판단, 동력 확인, 변동률 필터링 및 위험 제어를 중심으로 펼쳐져 투자자에게 체계화된 거래 방법을 제공합니다.

전략 원칙

이 전략은 다음과 같은 6가지 주요 지표에 대한 통합 분석을 기반으로 합니다.

  1. G-채널 지표: 20일과 50일 지수 이동 평균 ((EMA) 를 사용하여 시장 추세 방향을 판단한다.
  2. 판텔 변동 이동 평균 (VMA) 확인: 14일과 28일 간단한 이동 평균 (SMA) 을 비교하여 트렌드 움직임을 확인한다.
  3. 코랄 트렌드 확인: 10일과 20일 SMA를 통해 단기 트렌드 방향을 판단한다.
  4. ADX 변동률 확인: 시장 추세의 강도와 변동성을 평가한다.
  5. 거래량 확인: 거래량이 20일 평균 거래량보다 크게 높지 않은지 확인한다.
  6. 가격 상대 50일 SMA: 가격의 장기 트렌드 속의 위치를 판단한다.

전략적 이점

  1. 다중 인자 검증: 6개의 다른 차원의 지표의 교차 검증을 통해 거짓 신호의 확률을 현저히 감소시킨다.
  2. 동적 리스크 관리: ATR을 사용하여 동적으로 조정된 스톱로즈와 스톱.
  3. 유연한 입출장 메커니즘: 트렌드, 동력, 변동률 및 거래량 다중 조건.
  4. 리스크/이익 비율 최적화: 2:1의 리스크/이익 비율을 적용하여 설계한다.
  5. 낮은 거래 빈도: 거래 횟수를 줄이고 거래 비용을 줄입니다.

전략적 위험

  1. 다공간 판단은 복잡하다: 다인자 검증은 신호의 지연을 초래할 수 있다.
  2. 매개 변수 민감성: 다른 시장 환경에서는 고정 매개 변수가 좋지 않을 수 있다.
  3. 거래량 제한: 거래량이 낮으면 거래에 대한 잘못된 판단의 위험이 증가할 수 있습니다.
  4. RSI 극한 제한: 일부 거래 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. 변수 적응: 동적 변수 조정 메커니즘을 개발한다.
  2. 머신러닝 최적화: 머신러닝 알고리즘을 도입하여 출전과 출구를 최적화할 때.
  3. 다시장 적응성: 다양한 품종과 시장 환경에 맞게 사용자 정의 변수.
  4. 감정 지표와 결합: 시장 감정 지표를 도입하여 전략의 안정성을 높인다.

요약하다

이 전략은 다인자, 다차원 거래 신호 검증을 통해 비교적 안정적인 주식 거래 시스템을 구축한다. 그것의 핵심 장점은 거래 위험을 줄이는 데 있습니다. 그러나 여전히 지속적인 최적화와 시장 변화에 적응해야합니다.

전략 소스 코드
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("G-Channel Strategy for Stocks", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// === 1️⃣ G-Channel Indicator ===
gChannel = ta.ema(close, 20) > ta.ema(close, 50) ? 1 : 0

// === 2️⃣ Fantel VMA Confirmation ===
fvma = ta.sma(close, 14) > ta.sma(close, 28) ? 1 : 0

// === 3️⃣ Coral Trend Confirmation ===
coral = ta.sma(close, 10) > ta.sma(close, 20) ? 1 : 0

// === 4️⃣ ADX Confirmation (Volatility) ===
adx = ta.ema(ta.rma(ta.atr(14), 14), 14)
adxMa = ta.sma(adx, 14)
adxConfirmed = adx > adxMa ? 1 : 0

// === 5️⃣ Volume Confirmation ===
volConfirm = volume > ta.sma(volume, 20) * 1.3 ? 1 : 0

// === 6️⃣ Price Above 50-Day SMA ===
sma50 = ta.sma(close, 50)
priceAboveSMA = close > sma50 ? 1 : 0

// === 📌 ENTRY CONDITIONS (LONG & SHORT) ===
longCondition = gChannel and fvma and coral and adxConfirmed and volConfirm and priceAboveSMA
shortCondition = not gChannel and not fvma and not coral and adxConfirmed and volConfirm and close < sma50

// === 7️⃣ ATR Stop-Loss (Lower Than Crypto) ===
atr = ta.atr(14)
stopLoss = close - (atr * 2.0) // Adjusted for stocks
takeProfit = close + (atr * 4.0) // 2:1 Risk/Reward Ratio

// === 📌 EXECUTE TRADES ===
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", from_entry="Long", limit=takeProfit, stop=stopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", from_entry="Short", limit=close - (atr * 4.0), stop=close + (atr * 2.0))

// === 8️⃣ RSI EXIT (Stocks Exit Earlier) ===
rsi = ta.rsi(close, 14)
if (rsi > 75) // Lower exit threshold for stocks
    strategy.close("Long")
if (rsi < 25)
    strategy.close("Short")

// === 9️⃣ Volume-Based Exit ===
if (volume < ta.sma(volume, 20) * 0.5)
    strategy.close("Long")
    strategy.close("Short")