
Strategi moving average multilateral adalah strategi untuk membangun multilateral melalui pergerakan rata-rata dari beberapa periode yang berbeda, dan untuk menembus multilateral sebagai sinyal perdagangan. Strategi ini secara komprehensif mempertimbangkan beberapa faktor siklus waktu, dapat secara efektif menyaring kebisingan pasar dan menangkap tren utama.
Strategi ini menggunakan input EMA rata-rata dari periode yang berbeda, seperti EMA 3-periode, 7-periode, dan 13-periode, dan menggambarnya pada grafik harga untuk membentuk saluran berbentuk polygon. Ini menghasilkan banyak sinyal ketika harga melewati beberapa EMA rata-rata di atas; menghasilkan sinyal kosong ketika harga melewati beberapa EMA rata-rata di bawah. Ini dapat menghilangkan banyak false breakout.
Dalam kode dengan close>ema1 and ema1>ema2 and ema2>ema3 menentukan sinyal naik, close
Keuntungan terbesar dari strategi ini adalah kemampuan untuk secara efektif menangkap arah tren utama, menggunakan beberapa garis rata-rata bergerak untuk membangun mekanisme penyaringan, menghindari dampak dari kebisingan pasar jangka pendek, mengurangi sinyal palsu. Stop loss bergerak memungkinkan stop loss tepat waktu untuk melindungi keuntungan.
Risiko utama dari strategi ini adalah tidak dapat menentukan titik balik dari tren, dan jika tren berbalik, mungkin terjadi kerugian karena berlawanan dengan posisi. Selain itu, pengaturan kombinasi rata-rata yang tidak tepat dapat menyebabkan frekuensi perdagangan yang terlalu tinggi atau penundaan sinyal.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Optimalkan parameter periodik dari moving averages untuk menemukan kombinasi optimal
Tambahkan indikator sinyal reversal seperti RSI, MACD, dan lain-lain di titik-titik perubahan tren untuk menghentikan kerugian tepat waktu
Optimalkan amplitudo dan nilai bias dari stop loss bergerak, mengurangi probabilitas stop loss yang dipicu
Optimalisasi untuk parameter varietas yang berbeda, meningkatkan adaptasi strategi
Secara keseluruhan, strategi multi sisi bergerak adalah strategi pelacakan tren yang andal dan efektif. Kelebihannya adalah bahwa strategi ini dapat menangkap arah tren utama dan dapat menyaring kebisingan secara signifikan. Namun, ada juga masalah dengan kurangnya identifikasi pembalikan.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 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/
// © Crypto-Oli
//@version=4
strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
/// YOUR INPUTS BELOW - DELET EXAPLES ///
ema1=ema(close,input(3))
ema2=ema(close,input(7))
ema3=ema(close,input(13))
/// PLOTS IF YOU NEED BELOW - DELET EXAPLES ///
plot(ema1, "EMA1", color.yellow)
plot(ema2, "EMA2", color.white)
plot(ema3, "EMA3", color.blue)
/// YOUR CONDITIONS BELOW - DELET EXAPLES ///
longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond
shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond
/// EXECUTION ///
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)