デュアルチャネルのブレークスルー戦略に基づく


作成日: 2024-02-01 14:43:07 最終変更日: 2024-02-01 14:43:07
コピー: 0 クリック数: 550
1
フォロー
1617
フォロワー

デュアルチャネルのブレークスルー戦略に基づく

この策略の名前は,ブリン帯とケイトナー通路の2つの指標を用いて取引信号を構築することから由来する.これは,価格が通路の境界を突破した際の状況を監視し,価格が下行通路を突破したときに多めにし,上行通路を突破したときに空白する.

戦略原則

この戦略は,ブリン帯とケイトナー通路の2つの指標を使用する.ブリン帯は,株価の移動平均とその標準差を基に構築された自己適応通路である.ケイトナー通路は,実際の波幅を利用してチャネル範囲を計算する.

策略の取引論理は,閉盘価格がブルイン帯の下限とケイトナー通路下限を下回ったときに,多頭求反転をすること.閉盘価格がブルイン帯上限とケイトナー通路上限を超えたときに,空頭求反転をすること.多頭求反転をすると,止損と止退を設定すること.

優位分析

この戦略はブリン帯とケイトナー通路を組み合わせて,異常波動を効果的に識別することができる.同時,双通路を使用してフィルタ条件を設定し,偽信号を避ける.止損の設定もリスク管理に有利である.

ブリン帯またはケイトナー通路の単一の使用と比較して,この戦略はより多くのノイズをフィルターし,信号の質が高くなります.双通路の突破は,価格逆転の機会を間に合うようにすることもできます.

リスク分析

この戦略の主なリスクは,通路指標自体が遅滞していることにある.通路境界がシグナルを誘発する前に価格が逆転し始めることがある.これは,入場が遅すぎること,または反発時に回することにつながる.

さらに,ストップ設定が小さすぎると,ストップされるリスクも増加する.ストップ設定が大きすぎると,理想的な退出点を逃す可能性がある.これは市場の状況に応じてパラメータを調整する必要がある.

最適化の方向

この戦略は,動量指標などの補助的なフィルタリング条件の最適化が可能である.また,異なるパラメータの組み合わせをテストして最適なパラメータを探すことができる.

適応式止損停止メカニズムの追加は別の最適化方向である.これは,戦略が市場環境の変化により良く適応するのを助けることができる.

要約する

この二通道突破戦略は,ブリン帯とケイトナー通道指標の優位性を統合し,反転の機会を効果的に識別する.同時に,二通道フィルタリングと止損を設定してリスクを制御する.これは質の高い,リスク制御可能な量化取引戦略である.

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

//@version=4
strategy("Estratégia de Compra/Venda BB e KC", overlay=true)

// Parâmetros das Bandas de Bollinger
bollinger_length = input(20, title="Comprimento das Bandas de Bollinger", minval=1)
bollinger_deviation = input(2.0, title="Desvio Padrão das Bandas de Bollinger", minval=0.1)

// Parâmetros dos Canais de Keltner
keltner_length = input(20, title="Comprimento dos Canais de Keltner", minval=1)
atr_multiplier = input(1.5, title="Multiplicador ATR dos Canais de Keltner", minval=0.1)

// Take Profit e Stop Loss em termos financeiros
take_profit = input(10.0, title="Take Profit (em $)", step=1)
stop_loss = input(20.0, title="Stop Loss (em $)", step=1)

// Cálculos das Bandas de Bollinger
basis_bb = sma(close, bollinger_length)
dev_bb = sma(stdev(close, bollinger_length), bollinger_length)
upper_bb = basis_bb + dev_bb * bollinger_deviation
lower_bb = basis_bb - dev_bb * bollinger_deviation

// Cálculos dos Canais de Keltner
basis_kc = sma(close, keltner_length)
atr_kc = sma(atr(keltner_length), keltner_length)
upper_kc = basis_kc + atr_multiplier * atr_kc
lower_kc = basis_kc - atr_multiplier * atr_kc

// Condição de Compra
buy_condition = close < lower_bb and close < lower_kc

// Condição de Venda
sell_condition = close > upper_bb and close > upper_kc

// Estratégia de Compra/Venda com TP e SL
if (buy_condition)
    strategy.entry("Compra", strategy.long)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", profit=take_profit, loss=stop_loss)
if (sell_condition)
    strategy.entry("Venda", strategy.short)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venda", profit=take_profit, loss=stop_loss)

// Plot das Bandas de Bollinger e dos Canais de Keltner
plot(upper_bb, color=color.rgb(47, 33, 243), title="Banda Superior de Bollinger")
plot(lower_bb, color=color.rgb(89, 33, 243), title="Banda Inferior de Bollinger")
plot(upper_kc, color=color.rgb(200, 255, 0), title="Canal Superior de Keltner")
plot(lower_kc, color=color.rgb(225, 255, 0), title="Canal Inferior de Keltner")