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

EMA와 Parabolic SAR 결합 전략

저자:차오장, 날짜: 2024-06-07 15:23:12
태그:EMASAR

img

전반적인 설명

이 전략은 추세를 파악하고 위험을 관리하기 위해 8주기 및 21주기 기하급수적 이동 평균 (EMA) 과 파라볼릭 SAR 지표를 결합합니다. 이 전략은 특정 크로스오버 및 가격 액션 조건에 기초하여 포지션을 열고 닫는 것을 목표로 하고 있으며, 고정 스톱 로스 및 특정 시간에 의무적인 출출을 포함한 정의된 출구 규칙이 있습니다.

전략 원칙

이 전략은 두 개의 다른 기간 (8 기간 및 21 기간) 을 가진 EMA와 패러볼릭 SAR 지표를 사용하여 입출 조건을 결정합니다. 단기 EMA가 장기 EMA를 넘어서고 폐쇄 가격은 SAR보다 높을 때 전략은 긴 포지션을 열습니다. 단기 EMA가 장기 EMA를 넘어서고 종료 가격은 SAR보다 낮을 때 전략은 짧은 포지션을 열습니다. 종료 가격이 SAR 이하로 떨어지면 긴 포지션은 닫히고 종료 가격이 SAR보다 높아지면 짧은 포지션은 닫습니다. 전략은 또한 각 거래의 위험을 제어하기 위해 고정 스톱-손실 포인트를 설정합니다. 또한 전략은 모든 거래가 매일 15:15에 닫아야합니다.

전략적 장점

  1. EMA와 SAR 지표를 결합하면 트렌드를 더 잘 파악하고 트렌드 반전을 식별 할 수 있습니다.
  2. 고정 스톱 로스는 개별 거래의 위험을 제어하는 데 도움이 됩니다.
  3. 모든 포지션을 매 거래일에 일정한 시간에 닫으면 오버나이트 보유 위험을 피할 수 있습니다.
  4. 조정 가능한 매개 변수는 다른 시장 조건과 거래 도구에 적응 할 수 있습니다.

전략 위험

  1. EMA 및 SAR 지표는 잘못된 신호를 생성하여 거래 손실로 이어질 수 있습니다.
  2. 고정된 스톱 로스 포인트는 시장 변동에 잘 적응하지 못할 수 있으며, 이에 따라 적절하지 않은 스톱 로스 투입이 발생할 수 있습니다.
  3. 불분명한 추세 또는 높은 변동성을 가진 시장에서 전략은 종종 포지션을 열고 닫을 수 있으며, 높은 거래 비용을 초래할 수 있습니다.
  4. 이 전략은 시장 정서와 근본적인 요소를 고려하지 않아 중요한 거래 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. RSI와 MACD와 같은 더 많은 기술 지표를 도입하여 입출 신호의 신뢰성을 향상시킵니다.
  2. 시장 변화에 더 잘 적응하기 위해 동적 스톱 로스 또는 변동성 기반 스톱 로스 방법을 사용하는 것과 같은 스톱 로스 및 영업 취득 규칙을 최적화합니다.
  3. 전략의 포괄성을 높이기 위해 거래량 및 뉴스 이벤트와 같은 시장 정서와 기본 요소를 통합하는 것을 고려하십시오.
  4. 가장 좋은 매개 변수 조합을 찾기 위해 다른 시장과 거래 도구에 대한 매개 변수 최적화 및 백테스팅을 수행합니다.

요약

EMA와 Parabolic 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")


관련

더 많은