Strategi Penembusan Saluran Dua

Penulis:ChaoZhang, Tarikh: 2024-02-01 14:43:07
Tag:

img

Strategi ini dinamakan sempena penggunaan dua penunjuk, Bollinger Bands dan Keltner Channels, untuk menjana isyarat perdagangan.

Logika Strategi

Strategi ini menggabungkan Bollinger Bands dan Saluran Keltner. Bollinger Bands adalah saluran adaptif yang digambarkan pada garis purata bergerak ditambah / tolak penyimpangan standard. Saluran Keltner menggunakan julat sebenar untuk mengira lebar saluran.

Logik perdagangan adalah untuk pergi lama apabila harga penutupan jatuh di bawah Bollinger Band bawah dan Saluran Keltner bawah, menjangkakan pembalikan. Ia pergi pendek apabila harga penutupan meningkat di atas sempadan Bollinger dan Saluran Keltner atas. Henti dan mengambil keuntungan ditetapkan selepas kemasukan.

Kelebihan

Dengan menggabungkan dua saluran, strategi ini berkesan mengenal pasti perubahan harga yang tidak normal. Penapis saluran dua membantu mengelakkan isyarat palsu. Henti dan mengambil keuntungan juga membantu dalam kawalan risiko.

Berbanding dengan hanya menggunakan Bollinger Band atau Saluran Keltner, strategi ini menapis lebih banyak bunyi bising untuk isyarat berkualiti tinggi.

Analisis Risiko

Risiko utama adalah sifat peninggalan penunjuk saluran. Harga boleh mula terbalik sebelum mencapai sempadan saluran yang mencetuskan isyarat. Ini boleh mengakibatkan entri lewat atau terjebak dalam penarikan.

Hentian yang terlalu ketat dan keuntungan yang terlalu luas adalah risiko lain.

Peluang Peningkatan

Strategi ini boleh dioptimumkan dengan menambah penapis tambahan seperti pengayun momentum. Penyesuaian parameter untuk menemui kombinasi yang optimum juga boleh membantu.

Memasukkan hentian adaptif dan mengambil keuntungan adalah laluan peningkatan lain, membantu strategi menyesuaikan diri dengan lebih baik dengan pasaran yang berubah.

Kesimpulan

Strategi penembusan saluran dua ini menggabungkan kekuatan Bollinger Bands dan Keltner Channels untuk mengenal pasti peluang pembalikan dengan berkesan, sambil mengawal risiko melalui penapis saluran dua dan tetapan berhenti / mengambil keuntungan.


/*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")


Lebih lanjut