
이 전략은 우리가 맹목적으로 트렌드 지표를 따라하면 어떤 일이 일어날지 보여줍니다. 우리는 트렌드 지표가 즉시 나타나지 않는다는 것을 알고 있고, 다음 K 라인을 기다려야 포지션에 진입할지 여부를 결정할 수 있습니다. 따라서, 당신은 트렌드 지표가 최종적으로 형성된 후에만 진입하면 어떤 일이 일어나는지 볼 수 있습니다. 다른 도구의 도움 없이는 이 지표는 매우 위험하며, 매우 큰 인출을 가져올 수 있습니다.
이 전략은 슈퍼 트렌드 지표를 사용하여 가격 트렌드를 판단한다. 슈퍼 트렌드 지표는 평균 실제 파도와 높은 낮은 가격 중점으로 구성된다.
마감 가격이 상반기보다 높으면 지속적인 부진을 나타냅니다. 마감 가격이 하반기보다 낮으면 지속적인 하락을 나타냅니다.
이 전략은 Factor와 Pd 두 개의 파라미터를 설정한다. Factor는 오버 트렌드 채널의 폭을 제어하고, Pd는 ATR의 계산 주기 길이를 제어한다. 이 두 개의 파라미터를 기반으로 오버 트레일과 오버 트레일을 구축할 수 있다.
상궤 공식:hl2 - (Factor * ATR(Pd)) 하차 공식:hl2 + (Factor * ATR(Pd))
그 중 hl2는 높은, 낮은, 중간 지점을 나타냅니다.
다음으로 현재 종전 가격과 상승/하락값을 비교하여 지속적인 부진 또는 하락을 판단하고, 불형의 트렌드 변수를 출력한다.
트렌드에 따라 초트렌드의 위아래 궤도를 그리며, 트렌드 상태가 변할 때 입구 및 출구 신호를 배치한다.
신호 설정 전략에 따라 포지션 개설 논리.
이 전략은 다음과 같은 장점을 가지고 있습니다.
초트렌드 지표는 가격의 추세와 중심점을 명확하게 판단할 수 있다.
뚜렷한 입출장 논리가 설정되어 있다.
시각화 화살표로 경기 시작 시간을 표시한다.
전략적 논리는 간단하고 이해하기 쉽다.
이 전략에는 다음과 같은 위험들이 있습니다.
다른 보조적인 지표와 효과 관리가 없는 과잉 트렌드 지표를 맹목적으로 따르는 것은 큰 반향을 가져올 수 있습니다.
단위 손실을 통제할 수 없는 단위 손실 설정이 없습니다.
신호가 지연될 수 있고, 전환점 근처에 적시에 진입할 수 없습니다.
파라미터를 잘못 설정하면 초 트렌드 채널이 너무 넓거나 너무 좁아질 수 있습니다.
위험 관리 조치:
MACD, KDJ 등의 다른 지표와 함께 효과를 검증하여 맹목적 추적을 피하십시오.
합리적인 스톱로스를 설정하여 단독 손실을 최대한 통제하십시오.
과잉 트렌드 채널을 합리화하고 너무 넓거나 좁지 않도록 파라미터를 조정하십시오.
이 정책은 다음과 같은 측면에서 최적화될 수 있습니다.
보조 지표를 추가하여 효과를 검증하고, 실패를 방지한다. 예를 들어 MACD 지표를 추가하는 것을 고려할 수 있다.
합리적인 스톱 로직을 설정한다. ATR을 기반으로 퍼센티지 스톱을 설정할 수 있다.
초변수 Factor와 Pd를 최적화하여 최적의 변수 조합을 찾는다. 예를 들어, 오가는 방법을 사용하여 최적의 변수를 찾는다.
진입 시기를 최적화하여 신호 지연을 방지한다. 예를 들어, 진입 시기를 조정하기 위해 강약 패턴을 판단하는 동력 지표를 도입할 수 있다.
포지션 관리 전략을 추가한다. 예를 들어, 고정 지분을 포지션 관리에 사용할 수 있다.
이 전략은 가격 흐름을 판단하고 전환점을 찾는 데 초 트렌드 지표를 사용합니다. 보조 지표와 손해 방지 수단의 부재로 인해 초 트렌드 지표를 맹목적으로 따르는 것은 큰 위험을 초래합니다. 위험 관리, 손해 방지 전략, 변수 최적화, 입시 시점과 같은 여러 가지 측면에서 개선하여 전략의 안정성과 수익성을 크게 향상시킬 수 있습니다.
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Supertrend blind follow", overlay=true)
Factor=input(3, minval=1,maxval = 100)
Pd=input(7, minval=1,maxval = 100)
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
linecolor = Trend == 1 ? green : red
plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend")
plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0)
plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0)
//plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend")
plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0)
longCondition = cross(close,Tsl) and close>Tsl
if (longCondition)
strategy.entry("long", strategy.long)
shortCondition = cross(Tsl,close) and close<Tsl
if (shortCondition)
strategy.entry("short", strategy.short)