이 전략은 서로 다른 시간 프레임에 걸쳐 SAR 지표의 번갈아 동작을 기반으로 합니다. 전략은 SAR 지표를 15분, 일일, 주간 및 월간 시간 프레임으로 계산하고 주간 시간 프레임에서 거래합니다. 주간 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 지표를 사용하여 반전을 찾아내고 스톱 로스를 설정하기 위해 더 높은 시간 프레임에서 트렌드를 타는 명확한 논리를 가지고 있습니다. 엔트리 신호와 리스크 관리는 더욱 향상 될 수 있습니다. 엔트리, 스톱 및 포지션 사이징과 같은 영역에서 최적화로 더 안정적이고 수익성이 될 수 있습니다.
/*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")