ボリンジャーバンドブレイクアウトモメンタム戦略


作成日: 2023-12-22 13:09:32 最終変更日: 2023-12-22 13:09:32
コピー: 5 クリック数: 687
1
フォロー
1623
フォロワー

ボリンジャーバンドブレイクアウトモメンタム戦略

概要

この戦略は,ブリン帯の指標によって市場のトレンド方向を判断し,RSI指標の陽イオンシグナルと組み合わせて,殺の下落の動力を追いつくための突破操作を実現する.その基本的考え方は,価格がブリン帯を突破して軌道に乗るときに入場を見る,価格がブリン帯を突破して軌道を下ろすときに跌入場を見るである.

戦略原則

  1. ブリン帯は,価格が上線を突破したときに,市場が看板状態に入ることを示し,RSIでフィルターされ,RSIが60より大きいときに買取シグナルを生成する. ブリン帯は,価格が下線を突破したときに,市場が看板状態に入ることを示し,RSIでフィルターされ,RSIが40より小さいときに売り出します.

  2. 入場後,損失拡大を防ぐために,ストップを設定します.

  3. 退場条件は,価格がブルリンの中軌道に再び落ちるとき平買い,価格がブルリン中軌道に再び破るとき平売りである.

優位分析

  1. ブリン帯の指標は,市場の主要トレンドを判断し,トレンドの転換点を捉えます.RSI指標のフィルタリングと組み合わせると,信号の信頼性を高めることができます.

  2. 追いつくことで,余分な利益を得ることができます.

  3. ストップポイントを設定することでリスクをコントロールできます.

リスク分析

  1. ブリン帯の指標は,状況の整合判断に効果がなく,誤信号を発生させる可能性が高い.

  2. ストップポイントの設定を間違えた場合,損失が拡大する可能性があります.

  3. 取引は頻繁で,取引手数料やスライドポイントの影響を受けやすい.

  4. 突破信号の判断は時間内に更新されなければ,最高の入場時間を逃す可能性があります.

最適化の方向

  1. 他の指標と組み合わせて,ブリン帯指標の突破信号の信頼性を判断する.例えば,取引量,移動平均など.

  2. ブリン帯のパラメータを動的に調整し,指標の性能を最適化する.

  3. ストップポジションの最適化. ストップ追跡,ストップ割合などの方法. 無意味な損失の削減.

要約する

この戦略は全体的な考え方が明確で,ブリン帯で市場動向とRSI指標のフィルタリングを判断し,動的トレンド追跡を実現する.以下の特性を有する. 操作が頻繁で,損失が速く,余剰の利益を追求するトレーダーに適している. しかし,取引が頻繁で取引コストが増加し,資金管理とマインドコントロールの要求が高くなる. 参数最適化,止損戦略の最適化により,戦略の安定性と収益性をさらに向上させることができる.

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


//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-Stoxguru",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true)
source = close
start = timestamp (2007, 1,1,0,0) 
end = timestamp (2021,11,05,0,0)
stop_level = (high[1]-low[1])
profit_level = (high[1]-low[1])
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(2, minval=0.001, maxval=50, title = "Standard Deviation") 

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev
band=upper-lower
stop_loss=low-atr(14)
if time >= start 
// and time < end
    strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>=60 and rsi(close,14)<=70)
    // strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>60 and band<200)
    // strategy.exit("SL", "Long", stop=stop_loss)
    strategy.close(id="Long", when=crossunder(close, basis))
    strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<=40 and rsi(close,14)>=35)
    strategy.close(id="Short", when=crossover(close, basis))
    // strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<40 and band<200)
    // plot(upper-lower, color=color.purple,title= "DIFF",style=plot.style_linebr)
plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
// fill(p1, p2)
BW = ((upper - lower)) / basis * 100

plot(BW, title="Bollinger bandwidth", color=color.red)