스팟 거래에 대한 SMA 및 PSAR 전략

저자:차오장, 날짜: 2023-12-18 10:31:31
태그:

img

전반적인 설명

이 전략은 SMA와 PSAR 스팟 트레이딩 전략이라고 불린다. 시장 트렌드 방향을 결정하고 거래 신호를 생성하기 위해 단순 이동 평균 (SMA) 과 패러볼릭 SAR (PSAR) 의 장점을 결합한다. SMA가 상승 추세를 보이고 PSAR가 가격 이하인 경우 구매 타이밍으로 간주된다. SMA가 하락 추세를 보이고 PSAR가 가격 이상인 경우 판매 타이밍으로 간주된다.

전략 논리

이 전략은 전체 트렌드 방향을 결정하기 위해 100 기간 SMA를 사용합니다. 닫는 가격이 SMA 100을 상향으로 돌파하면 상승 추세로 정의됩니다. 닫는 가격이 SMA 100을 아래로 돌파하면 하향 추세로 정의됩니다.

동시에, PSAR 지표는 상세한 입구 지점을 결정하기 위해 계산된다. PSAR 초기 값은 0.02, 인크리먼트 값은 0.01, 최대 값은 0.2로 설정된다. 상승 추세에 있는 경우, PSAR이 닫기 가격 이하인 경우, 구매 신호가 생성된다. 하락 추세에 있는 경우, PSAR이 닫기 가격 이상인 경우, 판매 신호가 생성된다.

요약하자면, 상승 추세로 판단되면, PSAR가 닫기 가격보다 낮으면 구매 신호가 생성됩니다. 하락 추세로 판단되면, PSAR가 닫기 가격보다 높으면 판매 신호가 생성됩니다.

거래 위험을 줄이기 위해 전략은 또한 5 분 후에 포지션을 닫는 시간 출구를 설정합니다.

이점 분석

이 전략은 트렌드와 입구점을 결정하기 위해 SMA와 PSAR 지표를 결합하여 두 지표의 장점을 효과적으로 활용하여 의사 결정의 정확성을 향상시킬 수 있습니다. SMA는 주요 트렌드를 결정하는 데 사용할 수 있으며, PSAR는 자세한 입구점에 더 민감합니다. 둘을 사용하여 상호 보완하여 전략을 더욱 견고하게합니다.

또한 시간 종료 설정은 개별 거래의 위험을 제어하고 과도한 손실을 피하는 데 도움이됩니다. 전반적으로이 전략은 안정적이고 신뢰할 수 있으며 대부분의 시장 환경에 적합합니다.

위험 분석

  • SMA와 PSAR는 잘못된 신호를 생성하여 불필요한 거래 손실로 이어질 수 있습니다.

  • 시간 종료 설정은 짧고, 트렌드 움직임을 완전히 포착하지 않을 수 있습니다.

  • 매개 변수 설정 (SMA 기간, PSAR 매개 변수 등) 은 특정 제품에 적합하지 않을 수 있으며 최적화가 필요합니다.

  • 백테스트 곡선 적응 위험. 라이브 거래에서 시장 환경이 변하고 전략 성능은 백테스트만큼 좋지 않을 수 있습니다.

최적화 방향

  • 특정 제품에 더 적합한 값을 찾기 위해 다른 SMA 기간 매개 변수를 테스트합니다.

  • PSAR 매개 변수를 테스트하고 최적화하여 상세한 항목을 더 정확하게 판단하도록 합니다.

  • 시간 출구 매개 변수를 연장하고 충분한 수익을 얻을 수 있는 전제에서 보유 시간을 적절히 늘립니다.

  • 거래당 최대 손실을 더 잘 제어하기 위해 스톱 로스 전략을 추가합니다.

결론

이 전략은 시장 트렌드와 엔트리 포인트를 결정하기 위해 SMA와 PSAR와 같은 지표를 종합적으로 사용합니다. 이는 안정적이고 신뢰할 수 있으며 대부분의 시장 환경에 적합합니다. 한편으로 시간 출구를 설정하는 것은 위험을 제어하는 데 도움이됩니다. 이 전략은 더 나은 라이브 성능을 얻기 위해 매개 변수 최적화, 스톱 로스 전략 등을 통해 더욱 향상 될 수 있습니다.


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="SMA and Parabolic SAR Strategy with Time-Based Exit", shorttitle="SMA+PSAR", overlay=true)

// Define the parameters for the Parabolic SAR
psarStart = 0.02
psarIncrement = 0.01
psarMax = 0.2

// Calculate the 100-period SMA
sma100 = sma(close, 1000)

// Calculate the Parabolic SAR
sar = sar(psarStart, psarIncrement, psarMax)

// Determine the trend direction
isUpTrend = close < sma100

// Buy condition: Up trend and SAR below price
buyCondition = isUpTrend and sar < close

// Sell condition: Down trend and SAR above price
sellCondition = not isUpTrend and sar > close

// Plot the SMA and Parabolic SAR
plot(sma100, color=color.blue, title="100-period SMA")
plot(sar, color=color.red, title="Parabolic SAR")

// Plot buy and sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry
strategy.entry("Buy", strategy.long, when = buyCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Buy", from_entry = "Buy", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))

strategy.entry("Sell", strategy.short, when = sellCondition)

// Time-based exit after 5 minutes
strategy.exit("Close Sell", from_entry = "Sell", when = time[0] > timestamp(year, month, dayofmonth, hour, minute + 5))


더 많은