
Strategi ini adalah berdasarkan prinsip penembusan saluran dan menggunakan persilangan garis rata sebagai isyarat keluar, yang digunakan untuk perdagangan niaga hadapan dan indeks.
Mengira harga tertinggi dan terendah dalam tempoh tertentu, membina saluran ke atas ke bawah.
Apabila harga menembusi saluran atas, buat lebih; apabila harga menembusi saluran bawah, buat kosong.
Hitung dua rata-rata SMA untuk tempoh cepat dan perlahan.
Apabila melakukan banyak, SMA berjangka cepat memakai SMA berjangka perlahan, kedudukan yang lebih rata; apabila kosong, SMA berjangka cepat memakai SMA berjangka perlahan, kedudukan yang kosong.
Gabungan saluran dan sistem linear dapat meningkatkan peluang keuntungan.
Menggunakan saluran untuk menilai ankel bergilir pada tahap tertentu, dan menggunakan garis rata untuk menilai kecenderungan akhir.
Penapisan linear dapat mengelakkan whipsaw dan mengurangkan transaksi yang tidak perlu.
Parameter julat saluran boleh disesuaikan untuk menyesuaikan diri dengan pasaran kitaran dan kadar turun naik yang berbeza.
Kawasan laluan yang tidak betul boleh menyebabkan peluang untuk penembusan yang tidak tercapai atau lebih banyak penembusan palsu.
Parameter garis rata-rata ditetapkan dengan tidak betul, mungkin keluar dari kedudukan terlalu awal atau terlalu lewat.
Perlu dipertimbangkan pengurusan skala kedudukan yang munasabah untuk mengelakkan kerugian tunggal yang terlalu besar.
Untuk mengelakkan kebocoran, perhatikan apakah ia berkesan.
Uji pulangan dan kemenangan strategi di bawah parameter yang berbeza, mengoptimumkan jangkauan saluran dan kitaran purata.
Gabungan penapis trend dengan isyarat penembusan meningkatkan kadar kejayaan penembusan.
Menambah mekanisme pengurusan kedudukan, seperti pegangan tetap, Martingale dan sebagainya.
Menambah mekanisme penangguhan kerugian untuk mengawal kerugian tunggal.
Strategi ini menggunakan saluran untuk menilai pergerakan dan titik panas pasaran, menilai arah trend, menetapkan parameter yang munasabah untuk mencapai keuntungan yang stabil di pasaran yang kuat. Tetapi perlu mencegah kerugian yang mungkin disebabkan oleh whipsaw, dan pengendalian kedudukan dan risiko yang optimum adalah sangat penting.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © anshuanshu333
//@version=4
// strategy("ChBrkOutStrategySMA", overlay=true, initial_capital = 200000)
length = input(title="Length", type=input.integer, minval=1, maxval=1000, defval=7)
fastSMA = sma(close,9)
slowSMA = sma(close,21)
upBound = highest(high, length)
downBound = lowest(low, length)
boundLongEntry = ((close >= upBound) or (high >= upBound)) and fastSMA>slowSMA and (close > open)
boundShortEntry =((close <= downBound) or (low <= downBound)) and fastSMA<slowSMA and (close <open)
u=plot(upBound, title = "Upper Bound",color=color.blue, linewidth=1)
l=plot(downBound, title = "Lower Bound",color=color.red, linewidth=1)
plot(fastSMA,title = "Fast SMA", color = color.red, linewidth =2)
plot(slowSMA,title = "Slow SMA" ,color = color.green, linewidth =1)
fill(u,l, transp=95)
plot(avg(upBound,downBound), title = "Avg", color=color.gray,linewidth =1)
if (boundLongEntry )
strategy.entry("LE", long = true)
if (boundShortEntry)
strategy.entry("SE", long = false)
SmaLongExit = crossunder(fastSMA,slowSMA)
SmaShortExit = crossover(fastSMA,slowSMA)
//Close TRades
if (strategy.position_size > 0)
strategy.close(id="LE",when= SmaLongExit)
if (strategy.position_size < 0)
strategy.close(id="SE",when= SmaShortExit)