
Strategi ini menggunakan prinsip persilangan multi-level moving average untuk menangkap tren garis tengah dan panjang dan menghasilkan keuntungan yang stabil. Strategi ini menggunakan tiga kelompok moving average cepat, menengah, dan lambat dengan parameter yang berbeda untuk membuat keputusan perdagangan berdasarkan persimpangan mereka. Strategi persimpangan multi-level moving average ini, dibandingkan dengan strategi tradisional yang hanya memiliki dua kelompok moving average, dapat menyaring lebih banyak sinyal palsu dan meningkatkan peluang strategi.
Strategi ini menggunakan tiga kelompok rata-rata bergerak: rata-rata bergerak cepat MAshort, rata-rata bergerak cepat MAmid, dan rata-rata bergerak lambat MAlong. Di antaranya, parameter MAshort adalah 9, yang paling cepat bereaksi, untuk menangkap sinyal garis pendek; parameter MAmid adalah 50, kecepatan sedang, untuk mengkonfirmasi tren; dan parameter MAlong adalah 100, yang paling lambat bereaksi, untuk menentukan arah tren garis panjang.
Logika perdagangan spesifik dari strategi ini adalah: ketika rata-rata bergerak cepat MAmid melintasi rata-rata bergerak lambat MAlong, menunjukkan bahwa momentum kenaikan harga saham sedang terbentuk, maka strategi melakukan lebih banyak; ketika rata-rata bergerak cepat MAshort melintasi rata-rata bergerak cepat MAmid, menunjukkan bahwa tren garis pendek berbalik, strategi saat ini bernegosiasi.
Keuntungan terbesar dari strategi ini adalah bahwa melalui pencocokan kombinasi dari beberapa kelompok rata-rata bergerak, sinyal palsu dapat disaring secara efektif, hanya memilih yang lebih kuat dari tren naik di garis tengah dan panjang untuk membangun lebih banyak posisi.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki risiko sebagai berikut:
Untuk menghadapi risiko di atas, kami akan memperluas jangkauan strategi kami lebih lanjut, dengan pengurangan maksimum dari kontrol stop loss. Kami akan menanggapi dengan mengurangi posisi ketika tren garis tengah berbalik.
Strategi ini juga dapat dioptimalkan dalam beberapa hal:
Strategi ini merupakan strategi kuantitatif garis panjang menengah yang khas, dengan pencocokan WebDriverWait==long term trend dengan rata-rata bergerak multi-level, untuk mengendalikan risiko perdagangan. Strategi ini menggabungkan beberapa set parameter, dibandingkan dengan satu indikator, yang dapat secara efektif mengidentifikasi sinyal tren garis panjang menengah yang kuat. Dengan pengoptimalan lebih lanjut, strategi ini dapat diterapkan pada lebih banyak varietas, memainkan peran penting dalam bidang perdagangan kuantitatif.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule
//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)
//Entry
bullish = crossover(MAmid, MAlong)
strategy.entry(id="long", long = true, when = bullish and window())
//Exit
bearish = crossunder(MAshort, MAmid)
strategy.close("long", when = bearish and window())
plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)