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

Boll BB SMA stdev
作成日: 2024-04-30 16:03:11 最終変更日: 2024-04-30 16:03:11
コピー: 0 クリック数: 720
1
フォロー
1617
フォロワー

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

概要

この戦略はブリン帯指標をベースに,二重標準差をフィルターして,5分間の時間枠で急速取引を行う. 価格が下落する時に買って,上進する時に売る. 上下進は異なる標準差で設定され,異なる色の標識を使用して,直視的にトレンドの強さや弱さを表示する.

戦略原則

  1. ブリン帯基準線,上線1,上線2,下線1と下線2を計算する.
  2. 閉盤価格が下線1から下方向を横切るとき,買入シグナルが生成されます.
  3. 閉店価格が上線1から上線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))