
이 전략은 낙선선 슬라이드 포인트 값 ((Parabolic SAR) 과 K선과 교차하여 동력을 추적하고 손실을 막는 스윙 거래 전략이다. 이 전략은 부진과 부진 상황에서 상장 및 상장 포지션을 구축하고, 가격이 반전될 때 이러한 포지션 스톱 손실을 평행한다.
이 전략은 주로 패러볼릭 라인 지표 ((Parabolic SAR) 에 의존하여 현재 가격이 상승 추세 또는 하향 추세인지 판단한다. Parabolic SAR 지표가 K 라인 아래에 있을 때, 현재 가격 상승 상태임을 나타낸다. 이 때 전략은 K 라인 종료 시에 Parabolic SAR 값이 K 라인 최저 가격을 통과했는지 여부를 검사한다. 만약 상향 추세가 계속된다면, 전략은 다중 포지션을 구축한다.
이러한 작동 원리를 통해, 이 전략은 확인된 가격 트렌드 아래 순차적으로 포지션을 구축할 수 있으며, 첫 번째 시간에 상실을 멈추어 수익을 잠금 할 수 있다. 동시에, 동력 지표로서의 패러폴리 라인은 트렌드가 반전되는지 여부를 더 정확하게 판단할 수 있으며, 이는 상실을 더 정확하게 만든다.
전략의 강도를 높이는 방법은 다음과 같습니다. 스톱포인트 설정을 최적화하여 충분히 엄격하게; 다른 지표 판단과 결합하여 확인; 지표 매개 변수를 시장 환경 변화에 맞게 조정; 다른 품종에 따라 최적의 매개 변수 조합을 선택하십시오.
낙선선 스윙 전략은 전체적으로 효과가 좋은 단선 운영 전략이다. 낙선선 지표를 사용하여 트렌드 방향과 가격의 동력 변화를 판단하고, 스윙 거래 방식과 함께, 품종의 상승과 하락 단계에서 반복적으로 장점과 적폐 포지션을 구축한다. 엄격한 손해 방지 장치는 이 전략의 위험 제어 능력을 강하게 만든다. 그러나 단일 지표 전략으로서 낙선선의 실패는 전략에 큰 영향을 미칩니다.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)
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 = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
if barstate.isconfirmed and time_cond
if uptrend
strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
strategy.cancel("ParLE")
else
strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)