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


생성 날짜: 2024-01-16 14:18:20 마지막으로 수정됨: 2024-01-16 14:18:20
복사: 0 클릭수: 656
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

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

개요

이 전략은 SAR 지표에 기초하여 서로 다른 시간 주기에 걸쳐서 교대하는 거래 전략이다. 이 전략은 15 분, 일선, 주선, 달선 시간 프레임에 따라 각각 SAR 지표를 계산하고 주선 시간 프레임에 따라 거래 작업을 수행한다. 주선 SAR 지표에 가장 높은 가격을 통과 할 때 더 많이하고 가장 낮은 가격을 통과 할 때 공백을 낸다.

전략 원칙

SAR 지표 계산

SAR 지표는 패러볼릭 SAR을 나타냅니다. 현재 가격과 역사 가격의 관계를 계산하여 시장의 경향 방향을 판단합니다. 가격이 SAR 지점을 돌파 할 때, 추세는 역전됩니다.

이 전략은 15분, 일선, 둘선, 달선 시간 프레임에 따라 각각 SAR 값을 계산한다. 계산 공식은 다음과 같다:

SAR = SAR前值 + 加速因子(最高价 - SAR前值) # 多头趋势
SAR = SAR前值 + 加速因子(最低价 - SAR前值) # 空头趋势

이 중, 가속 인자의 초기 값은 0.02으로 설정되어 있으며, 추세가 지속됨에 따라 최대 0.2까지 점차 증가합니다.

거래 전략

전략은 주사선 시간 프레임 내에서 거래 신호를 냅니다. 주사선 SAR에서 가장 높은 가격을 통과 할 때 더 많이하고 SAR 값을 중지합니다. SAR에서 가장 낮은 가격을 통과 할 때 공백을 만들고 SAR 값을 중지합니다.

이 전략은 더 높은 수준의 시간 프레임에서 트렌드를 판단하여 더 정확한 스톱로스 위치를 설정하여 더 효율적으로 수익을 창출합니다.

우위 분석

  • SAR를 사용하여 트렌드 전환점을 판단하고 진입 지점을 정확하게 결정합니다.
  • 고급 시간 프레임으로 작동하고, 큰 추세와 함께 작동합니다.
  • 스톱포인트가 SAR에 밀착하여 위험을 효과적으로 제어합니다.

위험과 해결책

  • SAR 지표가 지연되어 있고, 스톱포인트를 초과한 후 반전될 수 있는 상황이 발생한다. 해결책은 적절히 스톱포인트를 완화시키는 것이다.
  • 트렌드가 큰 경우, SAR의 가속 FACTOR은 점차적으로 커지고, 가속량 돌파구가 발생할 가능성이 있다. 해결책은 FACTOR의 최대 값을 제한하는 것이다.
  • 고위 시간 프레임워크에서, 너무 긴 회기는 철회 시간이 길다. 포지션을 낮추어 위험을 피할 수 있다.

더 나은 생각

  • 예를 들어, 다른 지표와 결합된 필터링 신호로 입시 조건을 최적화합니다.
  • 이동 상쇄, 간격 상쇄와 같은 최적화된 상쇄 전략
  • 포지션 관리를 최적화, 예를 들어 고정 지분, 동적 조정
  • 분기선, 연도선과 같은 더 높은 수준의 시간 프레임에서 동작합니다.
  • 기계 학습 알고리즘과 결합된 동적 최적화 매개 변수

요약하다

이 전략은 전체적인 아이디어가 명확하며, 높은 시간 프레임에서 트렌드를 판단하여, 큰 방향에 따라 효과적으로 작동할 수 있다. 동시에 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")