ボリンジャー・バンドのブレイクアウト戦略

作者: リン・ハーンチャオチャン, 開催日:2024年4月26日 10:49:48
タグ:SMAstdevBB

img

概要

この戦略は,ボリンジャーバンドを買い・売る信号として使用する.価格が下帯を下回ると購入し,上帯を下回ると売却する.また,ピラミッド型アプローチを採用し,開いているポジションの数が設定値を下回ると購入し,それ以上になると売却する.この戦略は明確なトレンドのある市場条件に適している.

戦略原則

  1. 上位,中位,下位ボリンジャー帯を計算する.中位帯は閉値の単純な移動平均値で,上位帯と下位帯は閉値の標準偏差の倍数プラスまたはマイナスの中位帯である.
  2. 閉じる価格が下帯より小さいときまたは同等であるとき,購入信号が生成され,上帯より大きいときまたは同等であるとき,販売信号が生成されます.
  3. 現在のオープンポジション数が 設定されたピラミッド数より小さい場合は 購入を続けます. 設定された数よりも大きい場合は 販売します.
  4. グラフ上の上,中,下ボリンジャー帯をグラフに描いてください

戦略 の 利点

  1. ボリンジャーバンドは価格の変動範囲を定量化し,明確な買い・売りシグナルを提供し,操作が簡単です.
  2. ピラミッド型アプローチは 傾向の動きの収益性を増やすことができます
  3. ボリンジャー・バンドは,トレンドを特定し,リスクを制御する特定の能力を有し,トレンドトレーダーに適しています.

戦略リスク

  1. 市場が不安定な状態にあるとき 頻繁に買ったり売ったりする信号は 損失につながる可能性があります
  2. 傾向が逆転すると,ピラミッド型アプローチは下向きのリスクを増幅します.
  3. ボリンジャー・バンドのパラメータの選択は,異なる市場と時間枠に最適化する必要があります.不適切なパラメータは戦略の失敗を引き起こす可能性があります.

戦略の最適化方向

  1. RSI,MACDなどの他の指標と組み合わせて,ボリンジャー帯の信号を二次的に確認し,信号の精度を向上させることができます.
  2. ピラミッド取引の量と割合を制御し,ストップ・ロスのポジションを設定し,ダウンサイドリスクを減らす.
  3. 最適なパラメータ組み合わせを選択するために,周期と倍数などのボリンジャー帯パラメータを最適化しテストします.
  4. 波動的な市場では,ボリンジャー帯のチャネル戦略を使用して,上下帯の間で低価格で購入し,高価格で販売してください.

概要

ボリンジャーバンドブレイクアウト戦略は,トレンドフォローシグナルを生成するためにボリンジャーバンドの相対的な価格の位置を使用し,ピラミディングを通じてトレンド利益を拡大する.しかし,範囲内市場ではパフォーマンスが悪く,ピラミディングは損失を拡大する可能性があります.したがって,実際の使用では,シグナルを確認し,ピラミディングリスクを制御し,パラメータを最適化するために他の指標と組み合わせなければなりません.同時に,戦略は市場の特徴に応じて柔軟に調整する必要があります.


/*backtest
start: 2023-04-19 00:00:00
end: 2024-04-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Breakout Strategy", overlay=true, initial_capital=100, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Définition des paramètres
length = input(20, title="Bollinger Bands Length")
multiplier = input(2.0, title="Multiplier")
pyramiding = input(10, 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)




関連性

もっと