
この戦略は,ブリン帯指標を用いて価格が統合期にあるかどうかを判断し,突破判断の入場と出場を使用する.全体的に,この戦略は,価格統合がもたらす激動的な状況を利用して利益を得ている.
この戦略は,まず,20日間の閉盘価格の単純移動平均をブリン帯のミッドレールとして計算し,標準差の2倍をブリン帯の帯域として計算する.価格が上線より高いときは突破上線と判断され,価格が下線より低いときは突破下線と判断される.
価格がブリン帯の中央軌道上下にあるとき,統合期と判断する. 突破シグナルが検出されたとき,多頭入場する. 再び下下軌道に突破したとき,平仓する. ポジションを空き同理する.
ストップダストはATRの2倍に設定されています.
この戦略はブリン帯の統合と突破の特性に大きく依存し,以下の利点がある.
この戦略にはいくつかのリスクがあります.
対策として
この戦略は以下の方向から最適化できます.
この戦略は全体的に単純で直接的で,価格整合によるエネルギー集約によって大きな利益を実現する.最適化の余地が大きく,入場規則,止損方法などから調整することができる.リスクを制御した前提でより安定した利益を得ることができる.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Consolidation Breakout Strategy", shorttitle="CBS", overlay=true)
// Parameters
length = input(20, title="Bollinger Bands Length")
mult = input(2.0, title="Bollinger Bands Multiplier")
risk = input.float(1, title="Risk per Trade (%)") / 100
// Calculate Bollinger Bands
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev
// Entry Conditions
consolidating = ta.crossover(close, upper) and ta.crossunder(close, lower)
// Exit Conditions
breakout = ta.crossover(close, upper) or ta.crossunder(close, lower)
// Risk Management
atrVal = ta.atr(14)
stopLoss = atrVal * input.float(2, title="Stop Loss Multiplier", minval=0.1, maxval=5)
// Entry and Exit Conditions
longEntry = breakout and close > upper
shortEntry = breakout and close < lower
if (longEntry)
strategy.entry("Long", strategy.long)
if (shortEntry)
strategy.entry("Short", strategy.short)
if (longEntry and close < basis - stopLoss)
strategy.close("Long Exit")
if (shortEntry and close > basis + stopLoss)
strategy.close("Short Exit")
// Plot Entry and Exit Points
plotshape(consolidating, style=shape.triangleup, location=location.belowbar, color=color.rgb(30, 255, 0), title="Entry Signal")
plotshape(breakout, style=shape.triangledown, location=location.abovebar, color=color.rgb(255, 0, 0), title="Exit Signal")