이중 변동带突破策略 (이중 변동带突破策略) 는 트렌드 추적策略이다. 이는 변동带의 오르락 내리락을 이용하여 가격 트렌드를 판단하고, 가격이 내부 변동带을 뚫을 때 다단위 포지션을 설정하고, 가격이 외부 변동带을 넘어갈 때 평점 포지션을 설정한다.
이 전략은 먼저 지정된 주기 내의 평균선과 표준차를 계산하여 표준차 값을 조정하여 쌍파동대를 구성한다. 내부 파동대는 평균선에서 양-한 표준차로 구성되며, 외부 파동대는 평균선에서 양-한 1.5 표준차로 구성된다.
가격이 내부 경로를 돌파할 때, 시장이 불시장을 시작한다고 생각하여 더 많이 한다. 가격이 내부 경로를 무너뜨렸을 때, 시장이 불시장을 시작한다고 생각하여 공백한다.
더한 후의 정지 탈퇴 조건은 가격이 외부 하향 궤도를 넘어간다는 것이다.
이 전략은 동시에 스톱, 스톱로스, 스톱로스 추적 등의 탈퇴 메커니즘을 설정한다.
이중 파동 벨트 돌파 전략은 다음과 같은 장점이 있습니다.
이 두가지의 전략은 위험도 있습니다.
위와 같은 위험을 고려하여 파라미터를 적절하게 조정하거나 다른 지표와 함께 필터링하거나 인공적으로 돌파구를 모니터링하여 위험을 줄일 수 있습니다.
이중 파동대 돌파 전략은 다음과 같은 측면에서 최적화될 수 있다:
이중 파동대 브레이크 전략overall 가격 상대적인 파동대 위치 변화를 판단하여 선택적으로 거래 신호를 구축하는, 좀 더 전형적인 트렌드 추적 전략이다. 이 전략은 이중 파동대 설정 수익 지역을 활용하고 과학적인 탈퇴 메커니즘을 설정하여 위험을 제어합니다. 매개 변수 최적화 및 위험 통제가 이루어지면 더 나은 효과를 얻을 수 있습니다.
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("BB Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l=input(title="length",defval=100)
pbin=input(type=float,step=.1,defval=.25)
pbout=input(type=float,step=.1,defval=1.5)
ma=sma(close,l)
sin=stdev(ma,l)*pbin
sout=stdev(ma,l)*pbout
inu=sin+ma
inb=-sin+ma
outu=sout+ma
outb=-sout+ma
plot(inu,color=lime)
plot(inb,color=lime)
plot(outu,color=red)
plot(outb,color=yellow)
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
longCondition = close>inu and rising(outu,1)
exitlong = (open[1]>outu and close<outu) or crossunder(close,ma)
shortCondition = close<inb and falling(outb,1)
exitshort = (open[1]<outb and close>outb) or crossover(close,ma)
strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)