이 전략은 시장 트렌드 방향을 결정하기 위해 볼링거 밴드 지표를 사용하며, 트렌드 반전이 발생했을 때 역 트렌드 거래를합니다. 상승 추세에서 가격이 하위 밴드 아래로 넘어갈 때 길게 이동하며, 하락 추세에서 가격이 상위 밴드 위에 넘어갈 때 짧게 이동합니다. 또한 이동 평균은 전략을 더 안정적으로 만들기 위해 장기 트렌드의 기준으로 사용됩니다.
이 전략은 시장 트렌드 방향을 결정하기 위해 볼링거 밴드의 중간 밴드, 상위 밴드 및 하위 밴드를 사용합니다. 중간 밴드는 n 기간 기하급수적 이동 평균이며, 상위 밴드 및 하위 밴드는 각각 중간 밴드 +2.3 표준 편차 및 중간 밴드 -2.3 표준 편차입니다. 가격이 하위 밴드 아래로 넘으면 현재 상승 추세를 나타냅니다. 가격이 상위 밴드 위에 넘으면 현재 하락 추세를 나타냅니다.
또한, 전략은 장기 트렌드 판단의 기준으로 200 기간 간단한 이동 평균 (SMA) 을 설정합니다. BB와 sma 지표가 같은 방향으로 동의 할 때만 거래 신호가 활성화됩니다. 이것은 일부 잘못된 브레이크를 효과적으로 필터링 할 수 있습니다.
구체적인 거래 논리는 다음과 같습니다.
개선 사항:
전체적으로 이것은 트렌드를 결정하고 전환점에 역 트렌드 거래를하는 BB를 사용하여 간단하고 이해하기 쉬운 전략입니다. 단기 및 벤치마크 지표를 추가하는 것도 신호를 필터하는 데 도움이됩니다. 매개 변수 조정, 볼륨 지표 등과 같은 최적화에 대한 여전히 넓은 공간이 추가로 개선 될 수 있습니다.
/*backtest start: 2023-10-23 00:00:00 end: 2023-11-22 00:00:00 period: 1h basePeriod: 15m 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("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 ) bollL=input.int(20,minval=1,title = "长度") bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差") 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 = "趋势分界线") 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) shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) if longT and longE strategy.entry("多",strategy.long) if longEXIT strategy.close("多",comment = "多出场") if shortE and shortT strategy.entry("空",strategy.short) if shortEXIT strategy.close("空",comment = "空出场")