
Strategi ini adalah strategi perdagangan yang didasarkan pada persilangan rata-rata bergerak indeks cepat dan lambat (EMA). Strategi ini melakukan perdagangan lebih banyak ketika EMA cepat melintasi EMA lambat dari bawah ke atas; Strategi ini melakukan perdagangan short term ketika EMA cepat melintasi EMA lambat dari atas ke bawah. Strategi ini menggunakan rasio stop loss target untuk menghitung harga stop loss dan stop loss, dan melakukan perdagangan dengan ukuran posisi tetap.
Prinsip utama dari strategi ini adalah menggunakan EMA dari dua periode yang berbeda untuk menangkap perubahan tren harga. Ketika EMA cepat dan EMA lambat berselisih, biasanya berarti tren harga telah berubah. Secara khusus, ketika EMA cepat dari bawah ke atas melewati EMA lambat, menunjukkan bahwa harga mungkin mulai naik, maka strategi ini melakukan banyak perdagangan.
Strategi ini juga memperkenalkan konsep target stop loss ratio untuk menghitung harga stop loss dan stop loss per transaksi. Harga stop loss diperoleh dengan melipatgandakan harga open rata-rata dengan ((1 - target stop loss ratio) dan harga stop loss diperoleh dengan melipatgandakan harga open rata-rata dengan ((1 + target stop loss ratio). Metode ini dapat menyesuaikan tingkat stop loss dan stop loss berdasarkan preferensi risiko yang dinamis.
Selain itu, strategi ini diperdagangkan dengan ukuran posisi tetap, yaitu jumlah dana per transaksi tetap dan tidak disesuaikan dengan saldo akun atau faktor lain. Ini membantu mengendalikan risiko dan menjaga konsistensi strategi.
Sederhana dan efektif: Strategi ini didasarkan pada prinsip klasik EMA crossover, mudah dipahami dan diimplementasikan, dan mampu menangkap perubahan tren harga secara efektif.
Stop Loss Dinamis: Dengan memperkenalkan target stop loss ratio, strategi dapat secara dinamis menyesuaikan tingkat stop loss dan stop loss sesuai dengan preferensi risiko, meningkatkan fleksibilitas dan kemampuan beradaptasi strategi.
Pengendalian risiko: Menggunakan ukuran posisi tetap untuk perdagangan membantu mengendalikan risiko setiap transaksi, mengurangi risiko keseluruhan akun.
Terapan luas: Strategi ini dapat diterapkan di berbagai pasar keuangan dan varietas perdagangan, seperti saham, futures, forex, dll, dengan penerapan yang luas.
Sensitivitas parameter: Kinerja strategi ini bergantung pada pilihan parameter EMA, seperti siklus EMA cepat dan EMA lambat. Kombinasi parameter yang berbeda dapat menyebabkan perbedaan kinerja strategi yang lebih besar, sehingga perlu untuk mengoptimalkan dan menguji parameter dengan hati-hati.
Risiko kurang optimasi: Jika parameter strategi dioptimalkan terlalu banyak, mungkin menyebabkan strategi berkinerja buruk pada data luar sampel, yaitu masalah overfit. Oleh karena itu, perlu dilakukan pengujian umpan balik dan prospektivitas yang komprehensif terhadap strategi untuk memastikan kehandalannya.
Risiko pasar: Kinerja strategi ini dipengaruhi oleh tren dan fluktuasi pasar. Strategi ini dapat menghasilkan lebih banyak sinyal salah ketika pasar bergoyang atau tren tidak jelas, yang menyebabkan perdagangan yang sering dan kehilangan dana.
Black Swan Event: Strategi ini mungkin kurang beradaptasi dengan peristiwa pasar ekstrem (seperti krisis keuangan, konflik geopolitik, dll.), yang dapat menyebabkan strategi ini mengalami penarikan besar.
Optimasi parameter dinamis: Mengingat parameter siklus EMA yang disesuaikan secara dinamis dengan kondisi pasar atau karakteristik fluktuasi harga, untuk menyesuaikan dengan lingkungan pasar yang berbeda. Ini dapat dicapai dengan memperkenalkan indikator penilaian kondisi pasar atau indikator volatilitas.
Sinyal penyaringan: berdasarkan sinyal EMA silang, sinyal disaring dengan memasukkan indikator teknis atau informasi pasar lainnya untuk meningkatkan keandalan dan keakuratan sinyal. Misalnya, dapat digabungkan dengan indikator lalu lintas, indikator momentum, atau indikator sentimen pasar, dll.
Optimalisasi manajemen posisi: Pertimbangkan untuk menyesuaikan ukuran posisi perdagangan secara dinamis sesuai dengan kondisi risiko pasar atau preferensi risiko pribadi, bukan menggunakan posisi tetap. Ini dapat dicapai dengan memperkenalkan model kontrol risiko atau aturan manajemen dana.
Multi-posisi hedging: Anda dapat mempertimbangkan untuk memegang posisi multi-head dan kosong sekaligus, untuk membangun portofolio netral pasar, untuk mengurangi risiko pasar dan meningkatkan stabilitas strategi.
Strategi ini adalah strategi pelacakan tren yang didasarkan pada prinsip silang EMA, menangkap tren harga dengan memperkenalkan rasio stop loss target dan ukuran posisi tetap, sambil mengendalikan risiko. Keunggulan strategi ini adalah efektivitasnya yang sederhana, stop loss yang dinamis, dan penerapan yang luas, tetapi juga menghadapi tantangan seperti sensitivitas parameter, risiko kurang optimal, dan risiko pasar.
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KarthicSRSivagnanam
//@version=5
strategy("EMA Crossover Strategy with Target/Stop-loss Ratio and Fixed Position Size", shorttitle="EMA Cross", overlay=true)
// Define input variables
fast_length = input(20, title="Fast EMA Length")
slow_length = input(50, title="Slow EMA Length")
ema_color = input(color.red, title="EMA Color")
target_ratio = input(2, title="Target/Stop-loss Ratio")
position_size = input(1, title="Fixed Position Size (Rs.)")
// Calculate EMAs
ema_fast = ta.ema(close, fast_length)
ema_slow = ta.ema(close, slow_length)
// Plot EMAs
plot(ema_fast, color=ema_color, title="Fast EMA")
plot(ema_slow, color=color.blue, title="Slow EMA")
// Long entry condition: Fast EMA crosses above Slow EMA
longCondition = ta.crossover(ema_fast, ema_slow)
// Short entry condition: Fast EMA crosses below Slow EMA
shortCondition = ta.crossunder(ema_fast, ema_slow)
// Calculate stop-loss and target levels
stopLoss = strategy.position_avg_price * (1 - target_ratio / 100)
takeProfit = strategy.position_avg_price * (1 + target_ratio / 100)
// Plot stop-loss and target levels
plot(stopLoss, color=color.red, title="Stop Loss")
plot(takeProfit, color=color.green, title="Take Profit")
// Entry conditions with fixed position size
if (longCondition)
strategy.entry("Long", strategy.long, qty = position_size)
if (shortCondition)
strategy.entry("Short", strategy.short, qty = position_size)
// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)