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


作成日: 2023-11-13 10:19:43 最終変更日: 2023-11-13 10:19:43
コピー: 2 クリック数: 360
1
フォロー
1166
フォロワー

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

概要

この戦略は,ブリン帯の指標に基づく突破策であり,ブリン帯の下線Provide突破信号を利用して,買入と売却操作を行う.この戦略は,ストップ・ロスを追跡するメカニズムと加仓メカニズムを同時に備えており,トレンドの状況でより高い利益を得ることができる.

戦略原則

この戦略は,ブリン帯の中軌,上軌,下軌を最初に計算する. 中軌は価格の移動平均であり,上軌と下軌はそれぞれ中軌と下軌のそれぞれ1つの標準差である.

価格が上から下を突破すると,買入シグナルが生成され;価格が下から下を突破すると,売出シグナルが生成されます.これは,価格がブリン帯域を突破し,トレンドの動きに入る可能性があることを示します.

さらに,この戦略は,実体突破を判断し,閉盘価格が開盘価格より高く,実体が中軌道突破の一定比率であれば平仓;閉盘価格が開盘価格より低く,実体が中軌道突破の一定比率であれば平仓.これは,偽突破による損失を回避する.

ポジション開設後,この戦略は,ストップ・ローズとアップ・ローズ操作を行うことができる.価格が有利な方向に進むと,ポジションを拡大し,利益を増やすことができる.価格が逆転した場合,ストップ・ローズによってリスクを制御することができる.

優位分析

この戦略の利点は以下の通りです.

  1. ブリン帯の指数を使ってトレンドの方向と突破を判断する技術的な指標はシンプルで効果的です.

  2. 本体と中軌を組み合わせて突破の信頼性を判断し,偽突破による損失を回避する.

  3. リスクの管理に,トラッキング・ストップを使用し,収益をロックできます.

  4. 株価が上昇する傾向にある場合,株価が上昇する傾向がある場合,株価が上昇する傾向がある場合,株価が上昇する傾向がある場合,株価が上昇する傾向がある場合,株価が上昇する傾向がある場合,株価が上昇します.

  5. 策略の論理は明確で分かりやすく,パラメータの設定はシンプルで,実行しやすい.

リスク分析

この戦略には以下のリスクもあります.

  1. ブリン帯突破は偽突破を完全に回避することはできません.

  2. 停止点の設定が不適切である場合,早めに停止したり無効にしたりする可能性があります.

  3. 貯金回数と貯金比率を正しく設定しないことにより,損失が拡大する可能性があります.

  4. トレンドが逆転すると,時効的に脱出できず,大きな損失を招く可能性があります.

  5. パラメータの最適化が不十分で,戦略の効果が悪くなる可能性があります.

  6. 適合性のリスクがあり,異なる市場での検証が必要である.

最適化の方向

この戦略は以下の点で最適化できます.

  1. ブリン帯のパラメータをテストし,最適化して,より適切なパラメータの組み合わせを見つける.

  2. 異なるストップ・ストラトジーをテストし,より正確なストップ・ポイントを設定します.

  3. 貯蓄回数と貯蓄比率をテストし,最適なパラメータを見つけます.

  4. 市場を分析する指標を高め,逆勢の加減を避ける

  5. 実体突破の判断論理を最適化し,偽突破の確率を低減する.

  6. 条件単一の機能を追加し,異なる市場の状況に応じて異なるパラメータの組み合わせを使用する.

  7. より多くの異なる品種と時間周期で再測量を行い,安定性を高めます.

  8. 機械学習などの方法を使用してパラメータを自動最適化します.

要約する

概して,この戦略は,ブリン帯指標を使用してトレンド方向と突破信号を判断し,止損,加仓などの機能を配備することで,よりよい効果を得ることができます.しかし,一定のリスクがあり,パラメータ最適化,条件判断の追加などの方法によって改善する必要があり,戦略をより安定して信頼できます.この戦略は,技術分析に慣れている投資家が使用するのに適しています.

ストラテジーソースコード
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's Bollinger Strategy v1.1", shorttitle = "Bollinger str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

length = input(20, defval = 20, minval = 1, maxval = 1000, title = "Bollinger Length")
mult = input(2.0, minval = 0.001, maxval = 50, title = "Bollinger Mult")
source = input(ohlc4, defval = ohlc4, title = "Bollinger Source")

showbands = input(true, defval = true, title = "Show Bollinger Bands")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger Bands
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev

//Lines
col = showbands ? black : na 
plot(upper, linewidth = 1, color = col)
plot(basis, linewidth = 1, color = col)
plot(lower, linewidth = 1, color = col)

//Body
body = abs(close - open)
abody = ema(body, 30)

//Signals
up = close <= lower
dn = close >= upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open) and body > abody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()