ボリンジャー・バンド 量確認 量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2024年01月02日 11:04:35
タグ:

img

概要

この戦略は"ボリンガーバンドス・ボリューム確認戦略"と呼ばれる.その基本理念は,ボリンガーバンドス指標とボリューム指標を組み合わせ,価格動きと取引量の二重確認を達成し,より信頼性の高い購入・販売信号を生成することである.

戦略原則

この戦略は主に2つの部分を含んでいます.

  1. ボリンジャーバンドの部分.この部分は,特定の期間 (20日など) の閉店価格の単純な移動平均を計算し,これらの閉店価格の移動平均との関係性における標準偏差を計算する.次に,標準偏差の値に応じて,移動平均の上下に標準偏差範囲で2つのバンドを計算し,ボリンジャーバンドと呼ばれる.ボリンジャーバンドの帯域は,現在の価格が異常状態にあるかどうかを明確に示すことができる.

  2. 取引量部分.この部分は,同じ期間 (20日など) の取引量の移動平均値を計算し,その後,取引量値を設定するために倍数値 (2.0など) を使用します.取引量がこの値を超えるとのみ,有効な"大"取引量とみなされます.

価格がボリンジャー・バンドの上位線を突破し,取引量が取引量値を超えると,買い信号が生成され,価格がボリンジャー・バンドの下位線を突破し,取引量が取引量値を超えると,売り信号が生成されます.

価格と取引量の二重確認により,いくつかの誤った信号をフィルタリングし,取引戦略をより信頼性のあるものにすることができます.

戦略 の 利点

  1. 偽のブレイクやフィルターノイズを避けるための二重確認メカニズム.価格とボリュームインジケーターを組み合わせると,両者が同時に確認するときにのみ信号が生成され,空の価格ブレイクによって引き起こされるいくつかの誤った信号を効果的に回避することができます.

  2. 調整可能なパラメータ.ユーザーは,異なる市場環境に適応するために,ボリンジャー帯の期間パラメータと取引量限界の倍数パラメータを独立して設定できます.

  3. 直感的な例示.上下ボリンジャー帯,取引量,取引量値指標により,より直感的で明確な戦略信号が提供されます.

リスク と 最適化

  1. ボリンジャーバンド自体はトレンド逆転点を完璧に特定することはできません. ボリンジャーバンドは価格の"異常状態"を明確に示すのみですが,価格逆転を予測することはできません. したがって,判断のために他の指標と組み合わせることがまだ必要です.

  2. ボリンジャー帯上下が急激に突破すると,取引量の反応が遅れて,信号生成が遅れてターニングポイントを完璧に捉えることができない可能性があります.

  3. 他の指標を組み合わせてみてください.KDJ,MACDなどの指標は,より複雑な多変数取引戦略を確立するためにより多くの変数を導入し,それによって戦略の実用性を向上させます.

概要

この戦略は,二重確認とパラメータ調整の方法を使用して,あまりにも多くのノイズを一定程度にフィルタリングし,取引決定をより信頼性のあるものにしました.しかし,ボリンジャー帯の限界は依然として守らなければなりません.将来,多様化された定量戦略を最適化し,確立するために他の指標が導入されることがあります.


/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Volume + Bollinger Bands Strategy", overlay = true, shorttitle="Vol BB Strategy")

// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)

// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)

// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume

// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)

bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)


もっと