Strategi ini menghitung garis rata-rata bergerak saluran dan menetapkan posisi panjang atau pendek ketika harga menembus garis saluran untuk mengikuti tren harga saham.
Strategi ini pertama-tama menghitung rata-rata tinggi 20 hari sebagai rel atas saluran, rata-rata rendah 20 hari sebagai rel bawah saluran, dan menghitung garis tengah saluran. Garis tengah saluran mewakili tren harga rata-rata baru-baru ini. Ketika harga menembus garis tengah saluran ke atas, posisi panjang ditetapkan. Ketika harga menembus garis tengah saluran ke bawah, posisi pendek ditetapkan. Ikuti tren harga sampai harga jatuh kembali ke sisi berlawanan dari kisaran saluran, tutup posisi.
Secara umum, strategi ini relatif sederhana dan langsung. Ini menilai tren harga saham melalui saluran harga dasar dan termasuk dalam jenis tren berikut. Keuntungannya adalah operasi yang mudah, penggunaan penuh peluang investasi yang dibawa oleh tren harga, dan menghindari kunci dana. Kelemahannya adalah pengaturan parameter yang tidak tepat dapat mempengaruhi kinerja dan ada risiko tes mundur tertentu. Melalui optimalisasi yang wajar, stabilitas strategi dapat ditingkatkan dan kinerja perdagangan nyata dapat ditingkatkan.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //future strategy //strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2) //stock strategy strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005) //forex strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true) //crypto strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20) testStartYear = input(2000, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2019, "Backtest Start Year") testEndMonth = input(3) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = 20 dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 plot(dcLower, style=line, linewidth=3, color=red, offset=1) plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1) plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average") strategy.entry("simpleBuy", strategy.long, when=close > dcAverage) strategy.close("simpleBuy",when=close < dcLower) strategy.entry("simpleSell", strategy.short,when=close < dcAverage) strategy.close("simpleSell",when=close > dcAverage)