동적 EMA 크로스오버 스윙 하이 로우 적응 전략

EMA PT/SL TA
생성 날짜: 2025-02-20 15:55:46 마지막으로 수정됨: 2025-02-27 17:32:58
복사: 0 클릭수: 345
avatar of ianzeng123 ianzeng123
2
집중하다
319
수행원

동적 EMA 크로스오버 스윙 하이 로우 적응 전략 동적 EMA 크로스오버 스윙 하이 로우 적응 전략

개요

이 전략은 22주기 지수 이동 평균 (EMA) 의 교차 신호와 흔들림 점의 거래 시스템이다. 가격과 EMA의 교차를 통해 거래 신호를 생성하고, 적응된 흔들림 고위와 낮은 점을 사용하여 스톱포스트 위치를 설정한다. 이 방법은 트렌드 추적의 기본 기능을 보장하고, 위험 관리의 유연성을 증가시킨다.

전략 원칙

전략의 핵심 논리에는 다음과 같은 핵심 요소가 포함됩니다.

  1. 22주기 EMA를 주요 트렌드 지표로 사용하여, 이 주기는 시장 소음을 더 잘 필터링합니다.
  2. 마감 가격이 상단 EMA를 통과할 때 더 많은 신호를, 하단 EMA를 통과할 때 공백 신호를 트리거
  3. 14주기 역사 데이터를 통해 변동하는 최고점과 최저점 계산
  4. 가장 최근 파동하는 하위치를 스톱포드로, 낮은 하위치를 스톱로 삼아 더 많은 거래를 합니다.
  5. 부채는 가장 최근 흔들리는 낮은 지점을 스톱포인트로, 흔들리는 높은 지점을 스톱포인트로 거래합니다.

전략적 이점

  1. 트렌드 적응성: 22주기 EMA가 중기 트렌드를 효과적으로 포착하여 과도한 거래 빈도를 방지합니다.
  2. 다이내믹 리스크 관리: 시장의 변동에 따라 자동으로 조정되는 스톱포드, 전략의 적응성을 향상시킵니다.
  3. 명확한 실행: 거래 신호가 명확하고 판단이 모호하지 않습니다.
  4. 합리적인 리스크/이익 비율: 점수 설정의 스톱 스톱을 흔들면서 거래당 리스크/이익 비율이 상대적으로 안정적으로 보장됩니다.
  5. 시각적 효과: 전략은 명확한 시각적 신호를 제공하여 거래자가 이해하고 모니터링 할 수 있습니다.

전략적 위험

  1. 흔들림 시장 위험: 수평 변동 시장에서 빈번한 가짜 브레이크 신호가 발생할 수 있습니다.
  2. 슬라이드 포인트 위험: 급격한 변동 기간 동안 실제 거래 가격이 신호 가격과 큰 오차가있을 수 있습니다.
  3. 폭락 위험: 시장 폭락으로 인해 손실이 발생할 수 있으며 예상 이상의 손실이 발생할 수 있습니다
  4. 트렌드 전환 위험: 주요 트렌드 전환점 근처에서 연속적인 손실이 발생할 수 있습니다.

전략 최적화 방향

  1. 거래량 지표 도입: 거래량으로 신호의 신뢰성을 확인할 수 있다.
  2. 트렌드 필터를 추가: 더 긴 주기 이동 평균과 결합하여 역 트렌드 신호를 필터링
  3. 절감 방법을 최적화: ATR을 사용하여 절감 거리를 동적으로 조정할 수 있습니다.
  4. 추가 시간 필터: 특정 기간 동안 포지션을 열지 않고 변동성이 높은 기간을 피하십시오.
  5. 신호 확인 메커니즘 개발: 다른 기술 지표와 결합하여 신호 확인으로 승률을 높인다.

요약하다

이것은 구조적이고, 논리적으로 명확한 트렌드 추적 전략이다. EMA 교차를 통해 거래 신호를 생성하고, 스윙 포인트의 위험을 이용해서 균형 잡힌 거래 시스템을 형성한다. 전략의 주요 장점은 동적으로 시장에 적응하는 능력에 있으며, 주요 위험은 시장 상태의 변동에서 비롯된다. 제안된 최적화 방향에 의해 전략의 안정성과 수익성이 더욱 향상될 전망이다.

전략 소스 코드
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/

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

//@version=6
strategy("22 EMA Crossover Strategy", overlay=true)

// Input for the EMA length
ema_length = input.int(22, title="EMA Length")

// Calculate the 22-day Exponential Moving Average
ema_22 = ta.ema(close, ema_length)

// Plot the 22 EMA
plot(ema_22, color=color.blue, title="22 EMA")

// Buy condition: Price crosses and closes above the 22 EMA
buy_condition = ta.crossover(close, ema_22) and close > ema_22

// Sell condition: Price crosses or closes below the 22 EMA
sell_condition = ta.crossunder(close, ema_22) or close < ema_22

// Swing high and swing low calculations
swing_high_length = input.int(14, title="Swing High Lookback")
swing_low_length = input.int(14, title="Swing Low Lookback")
swing_high = ta.highest(high, swing_high_length) // Previous swing high
swing_low = ta.lowest(low, swing_low_length)    // Previous swing low

// Profit target and stop loss for buys
buy_profit_target = swing_high
buy_stop_loss = swing_low

// Profit target and stop loss for sells
sell_profit_target = swing_low
sell_stop_loss = swing_high

// Plot buy and sell signals
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Strategy logic for backtesting
if (buy_condition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=buy_profit_target, stop=buy_stop_loss)

if (sell_condition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=sell_profit_target, stop=sell_stop_loss)