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

ブリンズ帯標準差 双層フィルター 5分量化取引戦略

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

布林带标准差双层过滤五分钟量化交易策略

概要

この戦略はブリンズ帯指標に基づい,2層の基準差をフィルタリングすることで,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))


関連コンテンツ

もっと見る