
Strategi ini disebut Trend Following with EMA, yaitu strategi perdagangan kuantitatif yang didasarkan pada tren dan garis rata-rata. Strategi ini menggabungkan dua indikator teknis, yaitu trend tracking dan indeks moving average (EMA), untuk mengidentifikasi tren harga saham atau produk keuangan lainnya, dan berdasarkan pada itu melakukan operasi beli dan jual.
Logika utama dari strategi ini adalah:
Menggunakan panjang siklus 180 low dan harga penutupan silang untuk menilai tren harga naik. Ketika harga mulai naik, membentuk tren, ketika harga mulai naik di atas titik rendah, melakukan lebih banyak;
Ketika harga beralih dari tren turun ke tren naik, yaitu di atas harga penutupan dan di bawah garis EMA, Anda juga melakukan lebih banyak.
Ketika harga berubah dari tren naik ke tren turun, yaitu ketika harga penutupan melewati harga bukaan, tutup posisi overhead;
Menggunakan titik tinggi dengan panjang 180 siklus dan EMA untuk menentukan tren penurunan harga. Bila titik tinggi melewati garis EMA dan titik tinggi berada di bawah garis EMA, maka Anda harus melakukan shorting.
Ketika harga beralih dari tren naik ke tren turun, yaitu di bawah harga penutupan dan di atas garis EMA, maka akan terjadi shorting.
Ketika harga berubah dari tren turun ke tren naik, yaitu saat harga penutupan melewati harga bukaan, tutup posisi kosong.
Strategi ini menggabungkan pelacakan tren dan indikator rata-rata untuk secara efektif menangkap titik-titik perubahan tren harga, dengan keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Solusi untuk menghadapi risiko adalah:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi ini secara keseluruhan adalah strategi pelacakan tren yang khas, menggunakan indikator karakteristik harga untuk menentukan arah dan melacak tren. Ini sederhana, efektif, mudah diterapkan, dan cocok sebagai strategi awal untuk perdagangan kuantitatif. Namun, ada juga beberapa masalah, seperti keterlambatan indikator, sensitivitas parameter, dll.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Trend + EMA", overlay=true, initial_capital=10000, currency=currency.USD, pyramiding=0)
tim=input("180", title="Period for trend")
ema_period=input(180, title="EMA period")
opn = request.security(syminfo.tickerid, tim, open)
cls = request.security(syminfo.tickerid, tim, close)
emaline = ema(close, ema_period)
plot(opn, color=red)
plot(cls, color=green)
plot(emaline, color=black)
if (crossover(low, emaline))
strategy.entry("long", strategy.long)
if (crossover(cls, opn) and emaline < opn and strategy.position_size == 0)
strategy.entry("long", strategy.long)
if (crossunder(cls, opn) and strategy.position_size > 0)
strategy.close_all()
if (crossunder(high, emaline) and high < emaline)
strategy.entry("short", strategy.short)
if (crossunder(cls, opn) and emaline > opn and strategy.position_size == 0)
strategy.entry("short", strategy.short)
if (crossover(cls, opn) and strategy.position_size < 0)
strategy.close_all()