
Strategi ini dilakukan dengan menghitung berbagai jenis Moving Average untuk mengetahui arah tren harga, dan untuk melakukan posisi sepihak. Jika harga melewati Moving Average, maka Anda bisa melakukan over atau short.
Strategi ini memungkinkan untuk memilih 7 jenis rata-rata bergerak yang berbeda, termasuk rata-rata bergerak sederhana (SMA), rata-rata bergerak indeks (EMA), rata-rata bergerak berimbang (VWMA), rata-rata bergerak dua indeks (DEMA), rata-rata bergerak tiga indeks (TEMA), rata-rata bergerak Kaufman yang beradaptasi (KAMA), dan garis tengah saluran harga.
Ketika harga penutupan dari bawah ke atas melanggar rata-rata bergerak, menilai sebagai bullish, membuka posisi lebih banyak; Ketika harga penutupan dari atas ke bawah melanggar rata-rata bergerak, menilai sebagai bearish, membuka posisi kosong. Dengan demikian, Anda dapat menangkap titik balik tren harga, untuk mencapai posisi terbuka satu sisi.
Strategi ini memiliki keuntungan sebagai berikut:
Ada banyak jenis rata-rata bergerak yang dapat dipilih, dengan fleksibilitas yang berbeda untuk varietas dan periode.
Ini adalah cara yang efektif untuk mengontrol risiko.
“Saya tidak tahu apa yang harus saya lakukan, saya tidak tahu apa yang harus saya lakukan”, katanya.
Mudah dimengerti dan diterapkan.
Strategi ini juga memiliki beberapa risiko:
Ketika harga bergoyang di dekat Moving Average, akan terjadi beberapa missignals dan reverse open position. Anda dapat mengatur stop loss yang tepat untuk mengendalikan risiko.
Tidak dapat sepenuhnya menghindari risiko yang ditimbulkan oleh kenaikan atau penurunan harga yang cepat. Dapat dikombinasikan dengan indikator lain untuk menilai sinyal tren.
Analis perlu memilih parameter moving average yang sesuai, parameter yang tidak sesuai dapat menyebabkan keterlambatan sinyal perdagangan.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Dalam kombinasi dengan indikator teknis lainnya untuk menentukan sinyal tren, seperti MACD, RSI, dan lain-lain, membentuk portofolio perdagangan.
Tambahkan Stop Loss Logic. Gerakkan Stop Loss atau Gantung Stop Loss
Parameter diuji dan dioptimalkan untuk memilih kombinasi optimal. Parameter seperti periode moving average, jenis moving average, dan lain-lain.
Anda dapat mempertimbangkan strategi penetrasi yang mirip dengan penarikan langsung, yang dapat digunakan untuk melacak tren.
Strategi ini didasarkan pada moving average untuk menentukan arah tren harga, dan memungkinkan posisi untuk dibuka secara sepihak. Penggunaannya sederhana dan mudah, sehingga risiko dapat dikendalikan secara efektif. Namun, ada kemungkinan adanya sinyal yang salah dan risiko membuka posisi secara terbalik. Strategi ini dapat terus diperbaiki dengan menggabungkan sinyal penilaian indikator lain, mengoptimalkan parameter, menambahkan stop loss, dan lain-lain.
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Noro's MAs Tests v1.1", shorttitle = "MAs tests 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
needlong = input(true, "long")
needshort = input(true, "short")
len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")
anti = input(true, defval = true, title = "Antipila")
//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)
//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3
//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2)
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))
//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0
plot(ma, color = blue, linewidth = 3, transp = 0)
trend = anti == false and close > ma ? 1 : anti == false and close < ma ? -1 : low > ma ? 1 : high < ma ? -1 : trend[1]
longCondition = trend == 1 and trend[1] == -1
if (longCondition)
strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
strategy.entry("Short", strategy.short, needshort == false ? 0 : na)