
この戦略は,ブリンライン指標をベースに,価格がブリンライン上線に触れたときに空白し,下線に触れたときに多行することで市場トレンドを捕捉する.同時に,この戦略は,ピラミッド加仓の概念を導入し,所持数が設定された最大値に達していない場合に,元の方向で加仓を続ける.
ブリンラインは3つの線で構成され,中軌は閉盤価格のシンプル移動平均であり,上軌と下軌はそれぞれ中軌の基礎に標準差を加減する.価格は常に平均値の近くで波動するので,ブリンラインの上下軌は価格のプレッシャー領域と見なすことができる.価格が上軌を突破すると,強い上向きのトレンドを意味し,多めにすることができます.下軌を突破すると,強い下向きのトレンドを意味し,空っぽにすることができます.
この戦略は,ブリンラインのトレンド特性を利用し,価格が上下軌道に触れたときに入場し,同時にピラミッド加仓方式でトレンドキャプチャ力を強化することによって,全体的な考え方は簡潔で有効である.しかし,ある程度の遅滞性およびパラメータの感受性もある.実際のアプリケーションでは,パラメータの最適化とポジション管理に注意する必要がある.同時に,他の信号と組み合わせることで,より安定した戦略的パフォーマンスを得ることを考慮することができる.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Breakout Strategy", overlay=true)
// Définition des paramètres
length = input(20, title="Bollinger Bands Length")
multiplier = input(2.0, title="Multiplier")
pyramiding = input(5, title="Pyramiding")
// Calcul des bandes de Bollinger
basis = ta.sma(close, length)
dev = multiplier * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev
// Règles d'entrée
buy_signal = close <= lower_band
sell_signal = close >= upper_band
// Gestion des positions
if (buy_signal)
strategy.entry("Buy", strategy.long)
if (sell_signal)
strategy.entry("Sell", strategy.short)
// Pyramiding
if (strategy.opentrades < pyramiding)
strategy.entry("Buy", strategy.long)
else if (strategy.opentrades > pyramiding)
strategy.entry("Sell", strategy.short)
// Tracé des bandes de Bollinger
plot(basis, color=color.blue)
plot(upper_band, color=color.red)
plot(lower_band, color=color.green)