EMA 이동평균과 포물선 SAR 조합 전략

EMA SAR
생성 날짜: 2024-06-07 15:23:12 마지막으로 수정됨: 2024-06-07 15:23:12
복사: 3 클릭수: 927
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

EMA 이동평균과 포물선 SAR 조합 전략

개요

이 전략은 8주기 및 21주기 지수 이동 평균 (EMA) 과 패러블 라인 SAR 지표를 결합하여 트렌드를 포착하고 위험을 관리합니다. 이 전략은 특정 교차와 가격 행동 조건에 따라 포지션을 개시하고 포지션을 종료하며, 고정된 스톱 손실과 특정 시간 동안 필드 포지션을 포함 한 출구 규칙을 정의합니다.

전략 원칙

이 전략은 두 개의 다른 주기의 EMA ((8주기 및 21주기) 와 패러폴리 라인 SAR 지표를 사용하여 포지션 개시 및 포지션 조건을 결정한다. 단기 EMA가 장기 EMA 위를 가로질러 SAR보다 높은 마감 가격으로 마감되면 전략은 상위 포지션을 열고, 단기 EMA가 장기 EMA 아래를 가로질러 SAR보다 낮은 마감 가격으로 마감되면 전략은 상위 포지션을 열고.

전략적 이점

  1. EMA와 SAR 지표가 결합되면 트렌드를 더 잘 파악하고 트렌드 반전을 판단할 수 있습니다.
  2. 고정 스톱은 단일 거래의 위험을 조절하는 데 도움이 됩니다.
  3. 매 거래일 일정한 시간대에 지분을 매기며, 밤새 지분을 보유하는 위험을 피한다.
  4. 매개 변수는 다른 시장 환경과 거래 품종에 적응할 수 있습니다.

전략적 위험

  1. EMA와 SAR 지표는 잘못된 신호를 내보낼 수 있으며, 이로 인해 손실 거래가 발생할 수 있다.
  2. 고정된 스톱포인트는 시장의 변동에 적응하지 못할 수 있으며, 이는 스톱포지션의 부적절한 설정으로 이어진다.
  3. 추세가 불명확하거나 변동성이 강한 시장에서 이 전략은 빈번하게 하위 포지션을 열 수 있으며, 높은 거래 비용을 초래할 수 있다.
  4. 이 전략은 시장의 감정과 기본 요소에 대한 고려가 부족하여 중요한 거래 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. RSI, MACD 등과 같은 더 많은 기술 지표가 도입되어 평점 신호의 신뢰성을 높일 수 있습니다.
  2. 시장 변화에 더 잘 적응하기 위해 동적 중지 또는 변동율 기반의 중지 방법을 사용하는 것과 같은 중지 및 중지 규칙을 최적화하십시오.
  3. 시장의 감정과 거래량, 뉴스 사건 등과 같은 기본 요소를 고려하여 전략의 포괄성을 높여라.
  4. 다양한 시장과 거래 품종에 대한 파라미터 최적화 및 회귀를 통해 최적의 파라미터 조합을 찾아내기 위해.

요약하다

EMA 평행선과 평행선 SAR 조합 전략은 두 가지 일반적으로 사용되는 기술 지표를 결합하여 트렌드를 포착하고 위험을 제어하려고합니다. 이 전략은 간단하고 이해하기 쉽고 초보자 학습 및 사용에 적합합니다. 그러나 이 전략에는 시장의 변동에 대한 적응력이 부족하고 시장 정서 및 기본 요소에 대한 고려가 부족하는 것과 같은 몇 가지 제한이 있습니다. 따라서 실제 응용에서는 시장과 특정 거래 유형에 따라 전략이 최적화되고 개선되어야 안정성과 수익성을 높일 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA and Parabolic SAR Strategy", overlay=true)

// Input parameters for EMAs and Parabolic SAR
emaShortPeriod = input.int(8, title="Short EMA Period")
emaLongPeriod = input.int(21, title="Long EMA Period")
sarStart = input.float(0.02, title="Parabolic SAR Start")
sarIncrement = input.float(0.02, title="Parabolic SAR Increment")
sarMaximum = input.float(0.2, title="Parabolic SAR Maximum")
fixedSL = input.int(83, title="Fixed Stop Loss (pts)")

// Calculate EMAs and Parabolic SAR
emaShort = ta.ema(close, emaShortPeriod)
emaLong = ta.ema(close, emaLongPeriod)
sar = ta.sar(sarStart, sarIncrement, sarMaximum)

// Entry conditions
longCondition = ta.crossover(emaShort, emaLong) and close > sar
shortCondition = ta.crossunder(emaShort, emaLong) and close < sar

// Exit conditions
longExitCondition = close < sar
shortExitCondition = close > sar

// Strategy entry and exit
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longExitCondition)
    strategy.close("Long")

if (shortExitCondition)
    strategy.close("Short")

// Fixed Stop Loss
strategy.exit("Long Exit", "Long", stop=close - fixedSL * syminfo.mintick)
strategy.exit("Short Exit", "Short", stop=close + fixedSL * syminfo.mintick)

// Exit all positions at 15:15
exitHour = 15
exitMinute = 15
exitTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow), exitHour, exitMinute)

if (timenow >= exitTime)
    strategy.close_all()

// Plot EMAs and Parabolic SAR
plot(emaShort, color=color.blue, title="8 EMA")
plot(emaLong, color=color.red, title="21 EMA")
plot(sar, style=plot.style_cross, color=color.green, title="Parabolic SAR")