SAR 교환 시간 프레임 거래 전략

저자:차오장날짜: 2024-01-16 14:18:20
태그:

img

전반적인 설명

이 전략은 서로 다른 시간 프레임에 걸쳐 SAR 지표의 번갈아 동작을 기반으로 합니다. 전략은 SAR 지표를 15분, 일일, 주간 및 월간 시간 프레임으로 계산하고 주간 시간 프레임에서 거래합니다. 주간 SAR가 가장 높은 가격 이상으로 넘어가면 길고 가장 낮은 가격 아래로 넘어가면 짧습니다.

원칙

SAR 지표 계산

파라볼리 SAR (Parabolic SAR) 지표는 패라볼리 SAR (Parabolic SAR) 를 나타냅니다. 현재 가격과 역사적 가격 사이의 관계를 계산하여 트렌드 방향을 판단합니다. 가격이 SAR 지점을 통과하면 트렌드 역전을 나타냅니다.

이 전략은 SAR 값을 각각 15분, 일, 주, 월 시간 프레임으로 계산합니다. 공식은:

SAR = Previous SAR + Acceleration Factor * (Highest Price - Previous SAR) # Uptrend 
SAR = Previous SAR + Acceleration Factor * (Lowest Price - Previous SAR) # Downtrend

초기 가속 인수는 0.02로 설정되어 있으며, 추세가 확장됨에 따라 점차 0.2까지 증가합니다.

거래 전략

전략은 주간 시간 프레임에서 거래 신호를 생성합니다. 주간 SAR가 가장 높은 가격을 넘어서면 SAR 값이 스톱 로스로 길게됩니다. SAR가 가장 낮은 가격을 넘어서면 SAR가 스톱 로스로 짧게됩니다.

더 긴 시간 프레임에 대한 경향을 결정하고 더 정확한 스톱 로스 수준을 설정함으로써 전략은 더 효율적으로 수익을 창출하는 것을 목표로합니다.

장점

  • SAR 지표는 시장 진출을 위한 트렌드 반전 지점을 정확하게 찾습니다.
  • 더 높은 시간 프레임에서의 거래는 주요 추세를 따르고 있습니다.
  • SAR에 고착된 스톱 손실은 위험을 효과적으로 제어합니다.

위험 과 해결책

  • SAR 지연은 스톱 로스를 누르면 트렌드가 역전될 수 있습니다. 해결책은 더 넓은 스톱 로스 거리를 허용하는 것입니다.
  • 가속 요인은 거대한 트렌드에서 급격히 증가하여 스톱 손실이 침투하게됩니다. 해결책은 최대 요인 크기를 제한하는 것입니다.
  • 더 긴 시간 프레임에서 긴 사이클에서 긴 마감 기간. 해결책은 지점 크기를 줄이는 것입니다.

개선 할 수 있는 분야

  • 입시 조건을 최적화, 예를 들어 다른 지표와 결합
  • 스톱 손실 메커니즘을 강화합니다. 예를 들어, 후속 스톱 손실, 구역 스톱 손실
  • 고정 분자, 동적 조정 등 위치 크기를 정리한 규칙
  • 더 긴 기간에 운영, 예를 들어 분기, 연간
  • 기계 학습을 통해 매개 변수를 동적으로 최적화

결론

이 전략은 SAR 지표를 사용하여 반전을 찾아내고 스톱 로스를 설정하기 위해 더 높은 시간 프레임에서 트렌드를 타는 명확한 논리를 가지고 있습니다. 엔트리 신호와 리스크 관리는 더욱 향상 될 수 있습니다. 엔트리, 스톱 및 포지션 사이징과 같은 영역에서 최적화로 더 안정적이고 수익성이 될 수 있습니다.


/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy ("SAR alternating timeframe", overlay=true)

//resolution
res1=input("15", title="Resolution")
res2=input("D", title="Resolution")
res3=input("W", title="Resolution")
res4=input("M", title="Resolution")

//output functions
out = sar(0.02,0.02,0.2)

// request.security
SAR1 = request.security(syminfo.tickerid, res1, out)
SAR2 = request.security(syminfo.tickerid, res2, out)
SAR3 = request.security(syminfo.tickerid, res3, out)
SAR4 = request.security(syminfo.tickerid, res4, out)

//Plots
//plot(SAR1 , title="SAR 15", color = red, linewidth = 2)
//plot(SAR2 , title="SAR D", color = green, linewidth = 3)
plot(SAR3 , title="SAR W", color =blue, linewidth = 4)
//plot(SAR4 , title="SAR W", color =purple, linewidth = 5))


/////////////////////////////////////////////////////////////////////
//trade
if (SAR3 >= high)
    strategy.entry("ParLE", strategy.long, stop=SAR3, comment="ParLE")
else
    strategy.cancel("ParLE")

if (SAR3 <= low)
    strategy.entry("ParSE", strategy.short, stop=SAR3, comment="ParSE")
else
    strategy.cancel("ParSE")



더 많은