資源の読み込みに... 荷物...

ボリンジャー・バンド ダブル標準偏差フィルタリング 5分量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2024年4月30日16時03分11秒
タグ:ボールBBSMAstdev

img

概要

この戦略は,ボリンジャーバンド指標に基づい,5分間のタイムフレームで迅速な取引を達成するためにダブル標準偏差フィルタを使用する.価格は下帯を下回ると購入し,上帯を下回ると販売する.上下帯は異なる標準偏差によって設定され,異なる色でマークされ,トレンドの強さを視覚的に示します.

戦略原則

  1. ボリンジャー帯のベースライン,上帯1,上帯2,下帯1,下帯2を計算する.
  2. 閉じる価格が下から下の帯1を超えると買い信号を生成する.
  3. 閉じる価格が上から上部帯1を下回るときに売り信号を生成する.
  4. 購入後,売り信号が表示されたときにポジションを閉じる.売却後,買い信号が表示されたときにポジションを閉じる.
  5. 上部帯2と下部帯2はトレンド強さを示し,補助判断をします.

戦略 の 利点

  1. 二重標準偏差の設定により,傾向判断の正確性が向上します.
  2. 5分間の高い取引頻度は,迅速な入出に適しています.
  3. 傾向強さの補助判断はリスク管理に役立ちます.
  4. 調整可能なパラメータは,異なる市場に対応します.

戦略リスク

  1. 頻繁な取引は高額な手数料につながる.
  2. 傾向判断の誤りは損失をもたらす.
  3. ストップ・ロスの対策がないと リスクが大きくなります
  4. 片方的な傾向を十分に把握していない.

戦略の最適化方向

  1. 単一の取引リスクを制御するためのストップ・ロストとテイク・プロフィートメカニズムを導入する.
  2. トレンドキャプチャ能力を向上させるためにボリンジャーバンドのパラメータを最適化します
  3. トレンド判断のための補助指標,例えばMAを追加して,勝利率を増加させる.
  4. 範囲限定の市場のフィルタリング条件を設定する.

概要

この戦略は,トレンド判断を強化するために二層フィルタリングを備えたボリンジャーバンドの統計特性を利用し,5分レベルでのトレンド機会を迅速に把握するのに適しています.しかし,頻繁な取引と不十分なリスク管理対策の問題はまだ最適化が必要です.将来,ストップ・ロストとテイク・プロフィート,パラメータ最適化,および補助判断の観点から改善が続けられ,全体的な強度と収益性を高めることができます.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//This displays the traditional Bollinger Bands, the difference is
//that the 1st and 2nd StdDev are outlined with two colors and two
//different levels, one for each Standard Deviation

strategy("Five Min Scalping Strategy", overlay=true)

src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src,length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1

strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)

strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


関連性

もっと