ボリンジャーバンドT3移動平均線を突破する戦略


作成日: 2023-11-02 15:45:31 最終変更日: 2023-11-02 15:45:31
コピー: 0 クリック数: 713
1
フォロー
1617
フォロワー

ボリンジャーバンドT3移動平均線を突破する戦略

概要

この戦略は,均線のトレンド判断機能とブリン帯の超買超売判断を充分活用し,T3平滑均線フィルター振動で補足し,トレンドが転じるときに時効的に形状を判断し,場内に入り,振動区間のブリン帯を使用して超買超売区域を識別して逆操作を行い,超ショートライン取引を実現する.

戦略原則

この戦略は,トレンドを識別し,取引シグナル判断するために3つの平均線を使用する. まず,T3平均線は,複数の指数平滑が波作用を演じ,価格の揺れを効果的にフィルターして,トレンドの方向を判断する.次いで,中期平均線は,長さ20のSMA平均線を使用し,中期トレンドの方向を判断する.最後に,速速平均線は,長さ50および200のT3平均線で,速速線は,遅い線より大きく,上昇傾向にあることを示し,または下降傾向である.

取引信号の判断は,中期平均線が金叉が発生したときの上昇傾向と結合して多めにすること,中期平均線が死叉が発生したときの下降傾向と結合して空にすることである.さらに,ブリン帯を上下軌道に利用して下下軌道に判断する状況も,価格が上線を突破した場合のストップを考慮し,下線を突破した場合のストップを考慮する.

具体的には,中期平均線が中期T3平均線を突破し,快線が慢線より大きく,中期平均線が中期平均線より下を通過するとストップを考慮する.空白条件は中期平均線が中期平均線より下を通過し,快線が慢線より小さい,空白条件は中期平均線が中期平均線から下を通過するとストップを考慮する.

戦略的優位性

  • 多グループ平均線を利用してそれぞれの優位性を充分に発揮し,T3は平らで,中期SMAの判断傾向,快慢平均線の判断長期的な傾向
  • ブリンは,負債のリスクを低減するために,超買いと超売り領域の判断を下しました.
  • 取引シグナルの組み合わせは厳格で,誤った振動を効果的にフィルターできます.

戦略リスク

  • T3 平均線パラメータを正しく設定しない場合,効率的なフィルタリングができません.
  • ブリン帯のパラメータが正しく設定されず,上下線が無効になる可能性があります.
  • 平均線周期が間違ってトレンド方向を判断する
  • 突破上下軌道停止停止ポイントの設定は不正確で,早すぎたり遅すぎたりする可能性がある

改善方法:

  • T3平均線参数調整,平滑な無ノイズと遅滞のバランス
  • ブリン帯のパラメータを調整して,上下線が正常な波動範囲を包み込む
  • 異なる周期平均線参数をテストして,品種に適した周期参数を見つける
  • ストップ・ストップ・ロスの最適化

戦略最適化の方向性

  • ADXのようなトレンドの強弱判断を増やし,トレンドの転換を回避する
  • 波動率指数を増やして,市場の波動に応じてパラメータを調整する
  • 移動ストップを増やし,ストップを追跡することで,利潤が流出する
  • 破綻の戦略を考えて,上下線を突破し,その後,ストップを追跡する

要約する

この戦略の全体としては,均線を利用して系統的にトレンドを判断し,ブリン帯を利用して超買超売領域を識別し,トレンドが転じるときに形状を判断し,リスクを効果的に制御することができる.しかし,パラメータの調整と最適化に注意する必要がある.戦略の効果を本当に発揮するには.トレンド強度指標,波動率指標,および移動止損技術の最適化とさらに組み合わせれば,戦略をより弾力的でスマートにすることができる.

ストラテジーソースコード
/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true)

//T3
b = 0.7
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b

t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
//T3 end

length = input(20, minval=1)

mult = input(2.5, minval=0.001, maxval=50, title="StdDev")
basis = t3(length)
basisDev = t3(length/10)

dev = mult * stdev(basisDev,length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)

stoploss = input(true, "Stop Loss")

basisSma = sma(close, length)
p3 = plot(basisSma, color=color.blue, title="MA", offset=offset)

fastT3 = t3(50)
slowT3 = t3(200)

crossUp = crossover(basisSma, basis)
crossDown = crossunder(basisSma, basis)
bollBounce = crossover(close, upper)
bollReject = crossunder(close, lower)
underBasis = crossunder(close, basis)
overBasis = crossover(close, basis)

trendUp = fastT3 > slowT3
trendDown = fastT3 < slowT3

strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na))
strategy.close("long", when=(bollBounce or crossDown or underBasis))
strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na))
strategy.close("short", when=(bollReject or crossUp or overBasis))