ブロードバンドブレイクスルー戦略


作成日: 2024-01-03 17:53:32 最終変更日: 2024-01-03 17:53:32
コピー: 1 クリック数: 743
1
フォロー
1621
フォロワー

ブロードバンドブレイクスルー戦略

概要

広帯突破策は,トレンドを追跡する策である.それは,変動率の範囲を利用して,入場と出場のタイミングを決定する.具体的には,それは,ブリン帯の上線と下線を使用して,価格が突破しているかどうかを判断する.価格が上線突破するときに多めに,価格が下線を突破するときに平仓する.

戦略原則

この戦略はブリン帯の指標に基づいています.ブリン帯は3つの線で構成されています:

  1. 中線 - n日間のシンプル移動平均
  2. 上線 - 中線 + k * n日標準差
  3. 下線 - 中線 - k * n日標準差

ここで k の値は一般的に 1.5 または 2 になります. 価格が上線を突破すると,株が強気地域に入ると表示され,多額になります. 価格が下線を突破すると,株が弱気地域に入ると表示され,平仓になります.

この策略は20日中線と1.5倍標準差を使ってブリン帯を構成する.価格が上線を突破する時に多めにすると,exitedには2つの選択肢がある:

  1. 下線停止を使用する
  2. 中間線で止まる

高波動の株の場合,下線の止損効果を使用する方がよい.

優位分析

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

  1. 価格の動向を効果的に追跡し,突破信号をタイムリーに捉える
  2. 波動率の範囲を利用して,エントリーポイントを決定し,ノイズを効果的にフィルターします.
  3. prebuiltr ストップの2つの方法,株の特徴によって最適の選択肢を選択できます

リスク分析

この戦略にはいくつかのリスクがあります.

  1. 突破信号は偽の突破であり,トレンドを効果的に追跡できない
  2. ストップポイントの設定が不適切である場合,過剰なストップが起こる可能性があります.
  3. 市場整合を効率的に処理できない

これらのリスクは,パラメータの最適化や,他の指標と組み合わせることで軽減できます.

最適化の方向

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

  1. ブリン帯のパラメータを最適化して,最適なパラメータの組み合わせを探します.
  2. 取引量などの指標を組み合わせて,突破信号の信頼性を検証する
  3. 偽突破を防ぐために,他の指標を使ってフィルタリングメカニズムを構築する.
  4. ストップの位置を動的に調整してストップのリスクを減らす

要約する

ブロードバンド突破戦略は,全体的に比較して古典的なトレンド追跡戦略である.パラメータ最適化とルール最適化によって改善され,異なる市場環境により適合させることができる.この戦略は,容易に理解し,実装され,量化取引のための優れた入門戦略の選択肢である.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Senthaamizh

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true)
source = close
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA 
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average

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

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long, qty=1)

if(exit==1)
    if (crossunder(source, lower))
        strategy.close("Long")

if(exit==2) //basis is good for N50 but lower is good for BN (High volatility)
    if (crossunder(source, basis))
        strategy.close("Long")

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)