역전 추적 전략은 ?? 패러블리 라인 스톱 손실 역전 및 ?? 상대 강도 지수 ?? 지표에 기반하여 가격의 돌파구를 식별하여 거래 신호를 생성합니다. 가격이 상승 또는 하향 트렌드 라인을 돌파하면 전략은 거래 신호를 발산하여 반대 입장을 취합니다. 이것은 가격의 역전 기회를 잡을 수 있습니다.
이 전략은 크게 두 가지 기술 지표를 사용합니다.
패러볼릭 SAR: 이 지표는 파러볼릭 라인을 그려서 동적인 스톱 라인으로 사용한다. 가격이 이 라인을 돌파하면 스톱 라인의 위치와 방향이 재설치되어 구매 또는 판매 신호를 발생시킨다.
상대 강도 지수 ((RSI): 이 지표는 일정 기간 동안 가격 하락의 속도와 변화를 반영한다. RSI가 오버 바이 라인보다 높으면 오버 바이 지역이며, 오버 시드 지역보다 낮으면 오버 시드 지역이다.
구체적으로, 전략은 먼저 사용자 입력에 따라 패러플라이 스톱로스 반전의 초기값, 걸음길이 및 최대값을 설정한다. 그리고 가격에 따라 패러플라이를 뚫고 있는지 판단하기 위해 구매 및 판매 시간을 판단한다:
동시에, 전략은 RSI 지표를 모니터링하여 오버 바이 오버 세 영역에 있는지 여부를 판단합니다. RSI가 오버 바이 영역에 들어갈 때, 상위 포지션을 평정합니다. RSI가 오버 세 영역에 들어갈 때, 공백 포지션을 평정합니다.
통합 패러블라인 반전 신호와 RSI 필터 신호, 이 전략은 가격이 반전 할 때 적시에 반동하여 낮은 가격과 높은 가격의 목표를 달성 할 수 있습니다.
이 역추적 전략은 다음과 같은 장점이 있습니다.
Capture Price Reversal - 반전 신호를 생성하는 돌파구를 사용하여 가격이 변할 때 반전 조치를 취하여 반전 기회를 잡을 수 있습니다.
Dynamic Stop Loss - 패러블 라인은 모바일 스톱로스로, 실시간 가격 역동에 따라 스톱로스 위치를 조정하여 수익 보호를 구현한다.
적응성 (Adaptability) - 전략의 매개 변수는 다양한 시장 환경에 적용할 수 있으며, 적응성이 있다.
RSI 필터 - RSI 지표는 가짜 브레이크를 필터링하여 반전하지 않을 때 반전을 놓치지 않도록합니다.
Easy to Implement - 간단한 지표, 적은 코드, 구현 및 재검토가 용이하다.
이 전략에는 다음과 같은 위험도 있습니다.
Whipsaw Risk - 가짜 돌파구가 스톱 로즈 리버스에 잘못된 신호를 발생시키면 반복적인 손실이 발생한다.
오버 옵티마이징 - 최적화 전략의 매개 변수들이 너무 잘 어울리는 데이터로 인해 무질서하게 될 수 있다.
No Fundamental Basis - 단순한 기술적인 지표가 기본 정보를 무시한다.
트랜잭션 비용 무시 - 반복적인 거래는 트랜잭션 비용을 증가시킵니다.
Subject to Price Gaps - 가격 폭등은 잘못된 스톱로스 반전을 유발할 수 있다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
Combine with other indicators - 타 지표와 결합하여 브레이크 신호를 확인하고, 가짜 브레이크를 피한다.
파라미터 튜닝 - 지표 파라미터에 대한 테스트 최적화를 통해 최적의 파라미터 조합을 찾는다.
포지션 사이징 - 시장 상황에 따라 포지션 크기를 조정하고 위험을 제어한다.
only on significant levels - 중요한 지지/저항 지점 근처에서만 거래하고, 너무 자주 거래하는 것을 피하십시오.
“기본 사항을 고려하라” - 큰 추세와 상반되는 것을 피하기 위해 기본 요소를 추가하십시오.
역전 추적 전략은 패러블리 라인 스톱 로즈 반전과 RSI 지표를 통해 거래 신호를 형성하고, 가격 반전 지점에서 반전 기회를 잡는다. 이 전략은 동적으로 스톱 로스를 조정하고, 돌파구에서 발생하는 단선 수익을 잡을 수 있다. 그러나 노이즈에 따라가는 위험도 있다.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("SARSI",overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0675, initial_capital = 10000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true)
//study("SARSI",overlay = true)
src = input(close, title="Source")
len = input(14, minval=1, title="Length")
rob = input(title="RSI Overbought Level", defval=82, minval=1, maxval=100)
ros = input(title="RSI Oversold Level", defval=21, minval=1, maxval=100)
start = input(title="SAR Start", defval=0.007, minval=0.001, maxval=10)
inc = input(title="SAR Increment", defval=0.017, minval=0.001, maxval=100)
max = input(title="SAR Maximum", defval=0.24, minval=0.01, maxval=10)
asar = sar(start,inc,max)
xrsi = rsi(close,len)
date = timestamp(2018, 8, 1, 00, 00)
up = crossunder(asar,src)
dn = crossover(asar,src)
//ob = crossunder(xrsi,rob)
//os = crossover(xrsi,ros)
strategy.entry("long", strategy.long, when=up and time>=date, comment="Long")
strategy.entry("short", strategy.short, when=dn and time>=date, comment="Short")
//strategy.close("long", when=ob)
//strategy.close("short", when=os)
alertcondition(up, "Long", "Long Msg")
alertcondition(dn, "Short", "Short Msg")
//uptrend=plotshape(up,"uptrend",shape.triangleup,color=#48A498,transp=0, size = size.tiny, location = location.belowbar,text="฿")
//downtrend=plotshape(dn,"downtrend",shape.triangledown,color=#E25655,transp=0, size = size.tiny, location = location.abovebar,text="$")
//plotshape(ob,"overbuy",shape.triangleup,color=#48A498,transp=0, size = size.small, location = location.belowbar,text="0฿")
//plotshape(os,"oversell",shape.triangledown,color=#E25655,transp=0, size = size.small, location = location.abovebar,text="0$")
plot(asar, style=cross, color=gray, transp=0, linewidth=1, title="SAR")