적응형 추세 추적 및 동적 위험 제어 전략

PSAR EMA RSI ATR TP SL
생성 날짜: 2025-02-19 11:26:56 마지막으로 수정됨: 2025-02-19 11:26:56
복사: 0 클릭수: 422
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

적응형 추세 추적 및 동적 위험 제어 전략

개요

이 전략은 다중 기술 지표를 결합한 짧은 라인 거래 시스템이며, 주로 평행선 전환 지표 ((PSAR) 를 중심으로 한 신호이며, 평행선, 동적 지표를 결합하여 거래를 필터링하고, 동적 스톱과 고정 스톱을 결합한 리스크 관리 방법을 사용합니다. 전략 설계는 시장 추세와 변동성을 충분히 고려하여 큰 변동 시장 환경에서 짧은 라인 거래를 수행하는 데 적합합니다.

전략 원칙

이 전략은 PSAR 지표를 주요 트렌드 판단 도구로 사용하며, 가격이 PSAR을 돌파하면 거래 신호를 발생시킨다. 신호의 신뢰성을 높이기 위해 다음과 같은 필터링 조건이 추가되었습니다.

  1. 50주기 지수 이동 평균 ((EMA50) 트렌드 필터로, 거래 방향이 중기 트렌드에 일치하도록 한다
  2. 상대적으로 약한 지수 ((RSI) 는 다목적 포지션 요구 RSI> 40과 공백 포지션 요구 RSI<60을 필터링하는 흔들리는 시장을 위해 사용됩니다.
  3. ATR을 사용하여 동적으로 손실 위치를 계산하여 더 유연한 위험 제어를 제공합니다.
  4. 0.7%의 고정적 제지 목표가 적용되어 수익이 적당히 발생하도록 보장합니다.
  5. 재구매를 방지하기 위한 보유체계 수립

전략적 이점

  1. 신호 시스템 완성: 트렌드 추적과 동력 지표가 결합되어 더 신뢰할 수 있는 거래 신호를 제공합니다.
  2. 리스크 관제 유연성: 동적 중지 손실은 시장의 변동성에 따라 적응할 수 있습니다.
  3. 가짜 침입 방지: 여러 필터링 조건이 가짜 신호의 영향을 효과적으로 줄일 수 있다.
  4. 수익 목표가 명확하다: 고정된 휴식 비율은 지분 시간을 통제하고 자금 사용 효율을 높이는 데 도움이됩니다.
  5. 명확한 거래 논리: 각 구성 요소의 역할이 명확하여 추후 최적화 및 조정이 가능합니다.

전략적 위험

  1. 과도한 과다화 위험: 여러 조건으로 인해 우수한 거래 기회를 놓칠 수 있습니다.
  2. 고정 스톱 제한: 0.7%의 고정 스톱이 강세를 조기 종료할 수 있습니다.
  3. 매개 변수 민감성: PSAR, EMA, RSI 등 지표의 매개 변수 설정이 전략 성과에 큰 영향을 미칩니다.
  4. 시장 환경 의존성: 낮은 변동성 또는 극심한 변동성 시장에서 부진할 수 있습니다.
  5. 슬라이드 포인트 효과: 자주 거래하면 거래 비용이 증가할 수 있다.

전략 최적화 방향

  1. 동적 차단 메커니즘: 시장의 변동성에 따라 차단 비율을 조정할 수 있다
  2. 포지션 관리 최적화: 변동율 기반의 동적 포지션 관리 시스템을 도입
  3. 시장 환경 인식: 시장 환경 판단 모듈을 추가하여 다른 시장 상태에서 전략 매개 변수를 조정합니다.
  4. 지표 매개 변수 최적화: 적응 매개 변수 조정 메커니즘을 도입하여 전략 적응력을 향상시킵니다.
  5. 거래 비용 제어: 거래 비용을 낮추기 위해 매장 빈도를 최적화

요약하다

이 전략은 여러 기술적 지표들을 결합하여 하나의 완전한 거래 시스템을 구축하고 있으며, 트렌드 판단, 위험 제어 및 거래 실행 등에 대해 잘 고려하고 있다. 이 전략의 핵심 장점은 유연한 위험 제어 장치와 완전한 신호 시스템이지만, 또한 파라미터 최적화 및 시장 적응성에 주의를 기울여야 한다. 지속적인 최적화 및 개선으로 이 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 수 있을 것으로 보인다.

전략 소스 코드
/*backtest
start: 2024-02-20 00:00:00
end: 2025-02-17 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("妮可百分百", overlay=true)

// 📌 設定 Parabolic SAR 參數
start = input.float(0.02, "起始 AF")
increment = input.float(0.02, "加速因子")
maximum = input.float(0.2, "最大 AF")

// 📌 計算 Parabolic SAR
SAR = ta.sar(start, increment, maximum)

// 📌 ATR 計算(用於動態止損)
atrLength = input.int(14, "ATR 計算週期")
atrMultiplier = input.float(1.3, "ATR 係數")  // 2倍 ATR 作為止損範圍
ATR = ta.atr(atrLength)

// 📌 固定 0.5% 止盈計算
takeProfitPercent = 0.007  // 0.7% 固定止盈
takeProfitLong = close * (1 + takeProfitPercent)  // 多單止盈
takeProfitShort = close * (1 - takeProfitPercent) // 空單止盈

// 📌 **50 EMA 過濾**
ema50 = ta.ema(close, 50)

// 📌 **RSI 過濾(防止震盪進場)**
rsiLength = input.int(14, "RSI 週期")
rsi = ta.rsi(close, rsiLength)
longFilter = rsi > 40  // 只在 RSI > 31 時做多
shortFilter = rsi < 60 // 只在 RSI < 69 時做空

// 📌 **檢查是否已經有持倉**
isFlat = strategy.position_size == 0  // **無持倉時,才能開新單**

// 🔼 **多頭進場條件**
longCondition = ta.crossover(close, SAR) and close > ema50 and longFilter and isFlat  

// 🔽 **空頭進場條件**
shortCondition = ta.crossunder(close, SAR) and close < ema50 and shortFilter and isFlat  

// 📌 **進場策略**
if (longCondition)
    strategy.entry("B", strategy.long, comment="B")

if (shortCondition)
    strategy.entry("S", strategy.short, comment="S")

// 📌 **止盈 & 止損**
stopLossLong = close - (ATR * atrMultiplier)  // 多單 ATR 止損
stopLossShort = close + (ATR * atrMultiplier) // 空單 ATR 止損

strategy.exit("Exit Long", from_entry="B", stop=stopLossLong, limit=takeProfitLong, comment="TP Long")
strategy.exit("Exit Short", from_entry="S", stop=stopLossShort, limit=takeProfitShort, comment="TP Short")

// 📌 **標記進出場點**
plotshape(series=longCondition, location=location.belowbar, style=shape.triangleup, size=size.small, title="B")
plotshape(series=shortCondition, location=location.abovebar, style=shape.triangledown, size=size.small, title="S")

// 📌 **繪製 50 EMA**
plot(ema50, color=color.blue, title="50 EMA")