이 전략은 트렌드 방향을 결정하기 위해 상단, 중단, 볼링거 밴드 하단 및 200일 이동 평균 사이의 관계를 사용합니다. 상승 추세 중 하단 지대에 도달하면 가격이 길어지고 하단 추세 중 상단 지대에 도달하면 가격이 짧습니다.
이 전략은 먼저 볼링거 밴드 (Bollinger Bands) 를 사용하여 트렌드 방향을 결정합니다. 이후 볼링거 밴드 (Bollinger Bands) 의 변동성 범위를 이동 평균과 함께 활용하여 방향의 정확성과 적당한 수익을 보장하는 거래 시스템을 형성합니다. 더 나은 성능을 달성하기 위해 최적화 및 메커니즘 추가를 통해 추가로 개선 할 수있는 매개 변수 선택 및 스톱 로스 (stop loss) 에 대한 몇 가지 문제가 있습니다.
/*backtest start: 2023-11-29 00:00:00 end: 2023-12-06 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Aayonga //@version=5 strategy("boll trend", overlay=true,initial_capital=1000,default_qty_type=strategy.fixed, default_qty_value=1 ) bollL=input.int(20,minval=1,title = "length") bollmult=input.float(2.3,minval=0,step=0.1,title = "mult") basis=ta.ema(close,bollL) dev=bollmult*ta.stdev(close,bollL) upper=basis+dev lower=basis-dev smaL=input.int(200,minval=1,step=1,title = "trend") sma=ta.sma(close,smaL) //多头趋势 longT=upper>sma and basis>sma and lower>=sma //空头趋势 shortT=upper<sma and basis<sma and lower<=sma //入场位 longE=ta.crossover(close,lower) shortE=ta.crossover(close,upper) //出场位 longEXIT=ta.crossover(high,upper) or ta.crossunder(close,ta.sma(close,300)) shortEXIT=ta.crossunder(low,lower) or ta.crossover(close,ta.sma(close,250)) if longT and longE strategy.entry("多long",strategy.long) if longEXIT strategy.close("多long",comment = "close long") if shortE and shortT strategy.entry("空short",strategy.short) if shortEXIT strategy.close("空short",comment = "close short")