BB ケルトナー スクイーズ トレーディング戦略


作成日: 2023-09-25 17:38:08 最終変更日: 2023-09-25 17:38:08
コピー: 4 クリック数: 1351
1
フォロー
1617
フォロワー

概要

BB Keltner Squeeze取引戦略は,ブリン帯とケルター通路の圧縮を組み合わせてトレンド反転を判断する,短線取引戦略の1つである.この戦略は,ブリン帯をベースに,ケルター通路を補足して取引信号を検証する.価格がブリン帯を突破して軌道上または下行すると,ケルター通路との圧縮が発生した場合,トレンド反転を判断し,取引信号を生成する.

戦略原則

この戦略は以下の原則に基づいています.

  1. ブリン帯を用いて価格判断の波動範囲 ブルリン帯は上線,中線,下線を含み,価格が波動パターンにあるかどうかを判断することができる.

  2. 適用 ケルター通路 検証 ブリン帯信号 ケルター通路は価格変動の範囲を判断することもできます ケルター通路と圧縮が起こると,ブリン帯が軌道上または下に近づくと,波動が加剧することを示し,反転が起こる可能性があります

  3. ブリン帯とケルター通路の圧縮状況に基づいて取引信号を判断する. 価格がブリン帯を突破して軌道に乗れば,この時点でケルター通路が収縮し,ブリン帯の軌道に乗るより低い値で圧縮を起こすならば,見上げろ. 価格がブリン帯の軌道下を突破して軌道下を収縮し,ケルター通路が収縮し,ブリン帯の軌道下より高い値で圧縮を起こすならば,見空ろ.

  4. 平均線を使用してトレンドの方向を判断する. ブリンの中間線は平均線を表し,価格が中間線上にある場合は多見信号,価格が中間線下にある場合は空見信号である.

  5. 均線方向と組み合わせて開いたり平えたりする.圧縮の場合は,均線方向と取引信号が一致する場合は,開いたり空いたりする.均線方向と前回の開いたり方向が一致しない場合は,平えたりする.

この戦略は,ブリン帯とケルター・チャネル指標の互換性を充分活用し,圧縮によって価格の逆転点を判断し,典型的な平均回帰取引戦略に属します.

優位分析

この戦略の利点は以下の通りです.

  1. 2つの指標を組み合わせると,信号の信頼性が向上する.単一の指標は偽突破の影響を受けやすく,この戦略はブリン帯とケルター通路の圧縮によって検証され,偽信号をフィルターすることができる.

  2. 明確なトレンド判断指標。中軌は均線方向を表し,直観的に現在のトレンドを判断し,トレンドの方向を迷わない。

  3. 柔軟な開平仓の論理。均線と圧縮信号のマッチング状況に応じて開平仓と平仓を決定し,逆操作を回避する。

  4. ショートライン取引に適している。この戦略は,短期間の価格突破と圧縮を主に識別し,ショートラインで利益を得るのに適した,より高い周波数の取引機会を入手する。

  5. 直感的な視覚表示. 圧縮領域,中軌道,MACD柱形方向などを異なる色で標識することで,明確な視覚効果を形成する.

  6. 実行し複製しやすい. 戦略は単純で直接的で,取引論理とパラメータ設定は容易に理解でき,直接実行し,プラットフォームで複製して使用しやすい.

リスク分析

この戦略には以下の主要なリスクがあります.

  1. 引き下げリスク: 価格が長期にわたって移動すると,圧縮信号が発信され,一連の取引と引き下げが生じます.

  2. 価格突破の失敗リスク 価格突破のブリン帯の下落の後,短期的な偽突破が起こり,取引の失敗につながる可能性があります.

  3. パラメータ最適化のリスク ブルリン帯とケルター通路のパラメータ設定は取引結果に影響し,繰り返しテストの最適化が必要で,そうでなければ最適な効果が得られないかもしれない.

  4. 多頭市場リスク. 長期の看板市場では,この策略は,負債の損失につながる過剰な看板信号を生成する. 明らかに多頭市場では使用することを避けるべきである.

  5. 頻繁に取引するリスク.この戦略は,ショートライン取引を追求し,より頻繁に平仓を打開し,取引費用とスライドポイントの損失を増加させる.

  6. 指数失敗のリスク 市場極端な状況下では,この戦略の指数組み合わせも失敗し,有効なシグナルを生成できない可能性があります.

このようなリスクは,取引管理によって制御される必要があり,例えば,停止設定,ポジションサイズ調整,最適化パラメータなどである.また,異なる市場状況に応じて,対応計画を策定する必要もある.

最適化の方向

この戦略は以下の点で最適化できます.

  1. 他の指標を統合して,より強力な取引信号を形成する.他のトレンド,振動指標を追加することを検討し,取引信号をさらに検証し,勝利率を向上させる.

  2. 単一損失を制御するストップ・ストラトジーを追加する. 単一損失を制限するために移動ストップまたはatrストップを設定し,引き下げを減らす.

  3. ブリン帯とケルト通路のパラメータを最適化する.テストにより最適なパラメータの組み合わせを特定し,特定の品種に対する取引の効果を向上させる.

  4. 市場状況に応じてポジションの規模を調整する.トレンドが明らかであるときは,ポジションを適切に拡大することができる. 清算するときは,ポジションを小さくする.

  5. マシン・ラーニングの技術を応用してパラメータの最適化,信号の精錬などを行うことで,戦略をより適応的にすることができる.

  6. 多頭と空頭市場を区別し,状況に応じて多見空見を選択する.長期のトレンド判断を加え,大きな方向が明確であるときに逆転取引を減らすことができる.

  7. 量値指標などと組み合わせて,戦略の組み合わせを豊かにする. 傾向の逆転をより全面的に判断する方法が形成される.

継続的な最適化と改善によって,この戦略は,安定した,信頼性の高いショートラインの取引戦略に構築され,様々な市場条件で利益を得ることができます.

要約する

BB Keltner Squeeze戦略は,ブリン帯とケルター通路の緊縮によって価格逆転の機会を捕捉する.これは,2つの指標を統合して取引信号を形成し,均等線の判断方向を利用し,圧縮によって逆転を予測する.この戦略は,ショートライン取引に適しており,頻繁な取引機会を入手できます.しかし,また,引き戻しの制御とパラメータ最適化にも注意する必要があります.この戦略は,継続的な改善によって,持続可能な収益性の高いショートライン取引戦略の1つになる見込みがあります.

ストラテジーソースコード
/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD')
length = input(title="Length", type=input.integer, defval=20, minval=0)
src = input(close, title="Source")
bband(length, mult) =>
    sma(close, length) + mult * stdev(close, length)
keltner(length, mult) =>
    ema(close, length) + mult * ema(tr, length)


//BB
B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev")
B2basis = sma(src, length)
B2dev = B2mult * stdev(src, length)
B2upper = B2basis + B2dev
B2lower = B2basis - B2dev
plot(B2basis, color=color.blue)
p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper")
p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower")

//Keltner
useTrueRange = input(true)
Kmult = input(1.5, title="Keltner Range")
Kma = ema(src, length)
Krange = useTrueRange ? tr : high - low
Krangema = ema(Krange, length)
Kupper = Kma + Krangema * Kmult
Klower = Kma - Krangema * Kmult
p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper")
p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower")


e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length)
osc = linreg(close - e1 / 2, length, 0)
diff = bband(length, 2) - keltner(length, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : 
   osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? color.green : color.red
fromYear = year > 2014
toYear = year < 2016


direction = 0
squeeze = Kupper > B2upper
midc = 0
midc := squeeze ? 0 : close > B2basis ? 1 : 2
midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000
direction := midc[1]

plot(B2basis, color=midcolor, linewidth=4, title="BB Mid")
bgcolor(midc == 0 ? #333333 : #000000, transp=75)

if direction == 0
    if midc[1] == 0 and midc == 1
        strategy.entry("LONG", strategy.long)
        direction := 1
    else if midc[1] == 0 and midc == 2
        strategy.entry("SHORT", strategy.short)
        direction := 2
else if direction != midc
    strategy.close_all()
    direction := 0