포물선 SAR 전략


생성 날짜: 2023-09-18 21:59:08 마지막으로 수정됨: 2023-09-18 21:59:08
복사: 0 클릭수: 674
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 패러블 라인 전환 지표 SAR를 기반으로 거래합니다. SAR 지표는 시장의 추세 반전을 나타냅니다. SAR 지점이 가격을 돌파 할 때 거래 신호를 냅니다.

원칙

패러폴리 라인 전환 지표 SAR (Stop and Reverse) 는 시장 추세 반전을 판단하는 주요한 지표로, 트렌드 추적 지표에 속한다.

SAR 지점은 가격 아래에 있을 때 시장을 나타내고, SAR 위에 있을 때 가격은 하위 신호를 나타낸다.

SAR 지점은 가격 위에 있을 때 하향을 나타냅니다. 이 시점에서는 SAR이 하향을 통과하면 더 많은 신호를 냅니다.

이 전략은 SAR 지표의 돌파구를 거래 신호의 방향으로 하고 있으며, SAR 포인트를 스톱로스로 하고 있다.

장점

  1. SAR 지표는 잠재적인 전환점을 정확하게 파악할 수 있다.

  2. 트렌드 트래킹으로 인해 잘못된 신호를 줄일 수 있습니다.

  3. SAR는 스톱 로드 (Stop Loss) 로 변동 Setting, 피 피팅 .

  4. 다른 지표나 필터 없이도 작동할 수 있다.

  5. 기본 설정으로 간단하게 변수를 최적화할 수 있습니다.

위험과 해결책

  1. SAR 지표는 회수할 때 빈번한 신호를 생성할 수 있다. 추세적 행동을 인식하는 필터를 추가할 수 있다.

  2. 현재 가격에 가까운 스톱 파스트는 뚫릴 수 있다. 스톱 파스트는 적절히 완화해야 한다.

  3. 거래량 요소는 고려되지 않는다. 추가 가능한 양력 지표는 가격 부합을 피한다.

  4. 철수 가능성이 크다. 위험을 제한하기 위해 적절하게 포지션을 설정한다.

  5. 트렌드 반전이 반드시 성공하지 않습니다.

더 나은 생각

  1. SAR 변수를 조정하는 것이 더 나은 결과를 얻을 수 있는지 테스트합니다.

  2. MACD와 같은 지표에 참여하여 역전 성공률을 판단하십시오.

  3. 동적 이동 상쇄 제도를 구축한다.

  4. SAR 신호를 최대한 활용하기 위해 포장을 최적화하십시오.

  5. 연구들은 계속해서 역확인 논리에 참여한다.

요약하다

이 전략은 패러블라인 전환 지표 SAR를 사용하여 잠재적인 반전점을 판단하고, SAR가격이 돌파될 때 거래한다. 장점은 상위 손실을 피하고, 포팅을 피하는 것이다. 그러나 SAR 신호 시점을 선택하는 것은 정확하지 않을 수 있으며, 추가적인 최적화가 필요하다. 전체적으로, 패러블라인 전환 사고방식은 학습할 가치가 있다.

전략 소스 코드
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Parabolic SAR Strategy", overlay=true)

// 
// author: Kozlod
// date: 2018-09-03
// https://www.tradingview.com/u/Kozlod/
// 

start = input(0.02)
increment = input(0.02)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2018, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2019, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)


if (psar >= high and time_cond)
    strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE")
else
    strategy.cancel("ParLE")

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

if (not time_cond)
    strategy.close_all()