Adaptive Channel Breakout Strategy adalah strategi trend yang mengikuti saluran harga pasaran. Ia menentukan saluran harga dengan mengira harga tertinggi dan terendah dalam tempoh tertentu dan menghasilkan isyarat perdagangan apabila harga keluar dari saluran.
Kelebihan strategi ini ialah ia boleh menyesuaikan diri dengan perubahan pasaran secara automatik dengan memperluaskan saluran untuk menapis bunyi bising dan menghasilkan isyarat perdagangan apabila trend jelas.
Strategi ini berdasarkan teori penembusan saluran. Ia mengira dua set harga tertinggi dan terendah dalam tempoh yang berbeza (panjang masuk dan panjang keluar) untuk membentuk saluran. Apabila harga melebihi saluran, isyarat dihasilkan.
Secara khusus, strategi ini mula-mula mengira harga tertinggi 20 tempoh (atas) dan harga terendah (bawah) untuk membentuk saluran harga. Kemudian ia mengira harga tertinggi 10 tempoh (sup) dan harga terendah (turun). Selepas isyarat beli diaktifkan (pembatasan harga di atas rel atas), harga terendah 10 tempoh (turun) digunakan sebagai garis stop loss. Selepas isyarat jual diaktifkan (pembatasan harga di bawah rel bawah), harga tertinggi 10 tempoh (sup) digunakan sebagai garis keuntungan. Ini membentuk sistem saluran adaptif.
Apabila harga menembusi saluran, ia menunjukkan bahawa trend sedang terbentuk. Strategi kemudian akan mengeluarkan isyarat perdagangan. Pada masa yang sama, garis mengambil keuntungan dan berhenti kerugian juga akan menyesuaikan dengan perubahan harga untuk mengunci keuntungan dan mengelakkan kerugian.
Risiko utama strategi ini termasuk:
Optimum potensi strategi ini termasuk:
Adaptive Channel Breakout Strategy mempunyai logik yang jelas dan kelayakan yang kuat secara keseluruhan. Ia boleh menjejaki perubahan pasaran secara automatik dan menghasilkan isyarat perdagangan apabila trend terbentuk. Mekanisme dua saluran dan stop loss / take profit juga membantu mengawal risiko. Strategi ini boleh ditingkatkan lagi dalam kestabilan dan keuntungan melalui pengoptimuman parameter, syarat penapisan, dll. Ia bernilai pengesahan dan penyempurnaan perdagangan langsung yang lebih lanjut.
/*backtest start: 2024-01-29 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Turtle Trade Channels Strategy", shorttitle="TTCS", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) length = input(20,"Entry Length", minval=1) len2=input(10, "Exit Length", minval=1) lower = lowest(length) upper = highest(length) up=highest(high,length) down=lowest(low,length) sup=highest(high,len2) sdown=lowest(low,len2) K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup) K3=iff(close>K1,down,na) K4=iff(close<K1,up,na) buySignal=high==upper[1] or crossover(high,upper[1]) sellSignal = low==lower[1] or crossover(lower[1],low) buyExit=low==sdown[1] or crossover(sdown[1],low) sellExit = high==sup[1] or crossover(high,sup[1]) strategy.entry("Buy", strategy.long, when = buySignal and barssince(buySignal) < barssince(sellSignal[1])) strategy.entry("Sell", strategy.short, when = sellSignal and barssince(sellSignal) < barssince(buySignal[1])) strategy.exit("Buy Exit", from_entry = "Buy", when = buyExit and barssince(buyExit) < barssince(sellExit[1])) strategy.exit("Sell Exit", from_entry = "Sell", when = sellExit and barssince(sellExit) < barssince(buyExit[1])) plot(K1, title="Trend Line", color=color.red, linewidth=2) e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6)