
Strategi ini adalah strategi perdagangan garis pendek dua arah yang didasarkan pada index moving average (EMA) crossover dan relative weak index (RSI) filter. Strategi ini menangkap peluang pergerakan harga jangka pendek dalam jendela waktu tertentu dengan menggunakan indikator RSI sebagai kondisi penyaringan masuk dengan menggabungkan sinyal crossover dari EMA (9 siklus) dan EMA (21 siklus) yang cepat.
Logika inti dari strategi ini didasarkan pada teori persilangan rata-rata klasik dalam analisis teknis dan mekanisme konfirmasi indikator momentum. Ketika EMA cepat (siklus 9) naik melewati EMA lambat (siklus 21), menunjukkan pergerakan harga jangka pendek ke atas, dan jika nilai RSI lebih besar dari 50, menunjukkan bahwa pasar memiliki cukup daya tarik ke atas untuk memenuhi beberapa kondisi. Sebaliknya, ketika EMA cepat turun melewati EMA lambat, kombinasi dengan kondisi RSI kurang dari 50, mengkonfirmasi keabsahan tren turun, memicu sinyal kosong.
Mekanisme penyaringan waktu diatur untuk 09:15 AM - 15:30 PM, zona waktu Asia, periode waktu yang biasanya memiliki aktivitas dan likuiditas pasar yang tinggi. Setelah masuk, strategi menggunakan manajemen risiko persentase tetap: stop loss ditetapkan sebagai 0,5% dari harga masuk, stop loss ditetapkan sebagai 1,0 dari harga masuk, dan membentuk rasio risiko / keuntungan 1: 2.
Eksekusi perdagangan menggunakan mode masuk langsung, setelah sinyal dikonfirmasi, sistem secara otomatis melakukan pesanan dan pada saat yang sama mengatur stop loss stop order. Komponen visual menunjukkan tingkat stop loss stop loss dari posisi yang saat ini dipegang di grafik, membantu pedagang memantau kondisi risiko secara real-time.
Strategi ini memiliki beberapa keunggulan teknis, pertama-tama diandalkan pada keandalan sinyal yang dihasilkan. EMA crossover sebagai metode klasik untuk melacak tren, mampu secara efektif mengidentifikasi perubahan dalam dinamika harga, sementara penambahan indikator RSI memberikan konfirmasi dinamika tambahan dan mengurangi risiko false breakout.
Dalam hal manajemen risiko, strategi ini menggunakan persentase stop loss yang telah ditentukan, menghindari gangguan penilaian subjektif, dan memastikan bahwa risiko setiap perdagangan dapat dikendalikan. Desain rasio risiko / keuntungan 1: 2 memungkinkan strategi untuk mempertahankan pendapatan yang diharapkan positif bahkan dalam situasi kemenangan yang relatif rendah, yang sangat penting untuk keuntungan yang stabil dalam jangka panjang.
Fungsi penyaringan waktu adalah keuntungan penting lainnya, dengan membatasi waktu perdagangan pada saat pasar aktif, secara efektif menghindari risiko slippage dan kesulitan eksekusi pada saat kurangnya likuiditas. Pilihan waktu Asia mempertimbangkan spesifisitas pasar zona waktu tersebut, yang biasanya memiliki volatilitas yang lebih stabil dan peluang perdagangan yang cukup.
Strategi ini memiliki tingkat otomatisasi yang tinggi, mengurangi gangguan emosional manusia, memastikan konsistensi dan objektivitas keputusan perdagangan. Strategi ini juga berlaku untuk perdagangan dua arah, mampu menangkap peluang keuntungan di pasar naik dan turun, meningkatkan efisiensi penggunaan dana dan potensi keuntungan.
Meskipun desain strategi relatif sempurna, masih ada beberapa risiko yang perlu diperhatikan. Pertama adalah risiko lingkungan pasar, di pasar yang bergoyang atau periode kurangnya tren yang jelas, sinyal silang EMA dapat sering muncul sinyal palsu, menyebabkan kerugian kecil berturut-turut.
Setelan stop loss persentase tetap, meskipun menyederhanakan manajemen risiko, tidak memiliki kemampuan untuk beradaptasi dengan volatilitas pasar. Dalam lingkungan yang sangat fluktuatif, stop loss 0,5% mungkin terlalu ketat dan mudah dipicu oleh kebisingan harga normal; dan dalam lingkungan yang kurang fluktuatif, target stop loss 1,0% mungkin terlalu optimis dan sulit dicapai.
Indikator RSI memiliki masalah keterbelakangan, yang mungkin tidak dapat mencerminkan perubahan dinamika harga secara tepat waktu di pasar yang berubah dengan cepat. Selain itu, RSI rentan terhadap insomnia di pasar yang sedang tren, dan mungkin kehilangan peluang masuk terbaik di awal tren.
Filter waktu membatasi kelayakan strategi dan mungkin kehilangan peluang perdagangan berkualitas di waktu lain. Selain itu, pengaturan waktu perdagangan tetap tidak memperhitungkan perbedaan waktu perdagangan optimal dalam berbagai lingkungan pasar.
Risiko likuiditas juga tidak dapat diabaikan, dalam kasus kurangnya likuiditas pasar, mungkin menghadapi masalah dengan perluasan slippage dan pelaksanaan deviasi harga, yang mempengaruhi kinerja nyata dari strategi tersebut.
Untuk mengatasi keterbatasan strategi yang ada, perbaikan dapat dioptimalkan dari beberapa dimensi. Pertama, disarankan untuk memperkenalkan mekanisme parameter adaptasi, menyesuaikan panjang siklus EMA dan nilai terendah RSI sesuai dengan dinamika volatilitas pasar. Indikator ATR dapat digunakan untuk mengukur volatilitas pasar.
Sistem stop loss harus diubah dari persentase tetap menjadi pengaturan dinamis berdasarkan ATR. Stop loss disarankan untuk 1-2 kali ATR dan stop loss disarankan untuk 2-3 kali ATR, sehingga dapat beradaptasi dengan lebih baik dengan karakteristik fluktuasi dari berbagai lingkungan pasar dan meningkatkan stabilitas strategi.
Anda dapat menambahkan konfirmasi indikator teknis tambahan, seperti indikator volume transaksi atau indikator volatilitas, untuk membentuk sistem konfirmasi ganda yang lebih baik. Sebagai contoh, Anda dapat meminta peningkatan volume transaksi saat penembusan terjadi, atau kondisi seperti harga yang menembus Bollinger Bands, untuk meningkatkan kualitas sinyal lebih lanjut.
Disarankan untuk menerapkan mekanisme masuk dan keluar batch, memecah satu perdagangan menjadi beberapa pesanan kecil, yang dapat mengurangi risiko perdagangan tunggal, sementara dapat memperoleh lebih banyak keuntungan jika tren berlanjut. Misalnya, dapat masuk ke posisi 50% setelah konfirmasi sinyal awal, dan menambah sisa posisi setelah harga mengkonfirmasi tren lebih lanjut.
Mekanisme penyaringan waktu dapat menjadi lebih cerdas, menentukan jendela waktu perdagangan yang optimal berdasarkan analisis data historis, dan menyesuaikan dinamika sesuai dengan perubahan kondisi pasar. Selain itu, dapat dipertimbangkan untuk menambahkan mekanisme penghindaran pada saat rilis data ekonomi penting, mengurangi dampak dari kejutan fundamental.
Akhirnya, disarankan untuk memasukkan mekanisme penilaian intensitas tren, dengan relaksasi yang tepat pada kondisi masuk di pasar tren yang kuat, meningkatkan ambang batas masuk di pasar tren yang lemah atau bergolak, dan melakukan penyesuaian adaptasi strategi.
Short Line EMA-RSI Bilateral Crossover Mean Return Strategy dengan kombinasi crossover rata-rata dan konfirmasi indikator momentum, membangun kerangka perdagangan short line yang relatif lengkap. Strategi ini berkinerja baik dalam menghasilkan sinyal, pengendalian risiko, dan efektivitas pelaksanaan, sangat cocok untuk operasi perdagangan frekuensi tinggi pada saat pasar aktif.
Namun, strategi masih memiliki ruang untuk perbaikan dalam hal konsolidasi parameter, adaptasi pasar, dan penyempurnaan kontrol risiko. Dengan memperkenalkan mekanisme adaptasi, mengoptimalkan logika stop loss, dan memperbaiki sistem konfirmasi sinyal, langkah-langkah perbaikan dapat secara signifikan meningkatkan kinerja keseluruhan strategi dan kemampuan adaptasi pasar.
Untuk pedagang yang menggunakan strategi ini, disarankan untuk melakukan retrospeksi sejarah yang memadai dan simulasi perdagangan sebelum penerapan di pasar, menyesuaikan parameter secara optimal sesuai dengan varietas perdagangan dan lingkungan pasar tertentu. Pada saat yang sama, perhatikan dengan cermat bagaimana strategi berkinerja dalam berbagai kondisi pasar, dan sesuaikan dan perbaiki pengaturan strategi tepat waktu untuk memastikan bahwa strategi dapat mempertahankan profitabilitas yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-05-21 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Scalping EMA + RSI Strategy (Long & Short)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
emaFastLen = input.int(9, title="Fast EMA Length")
emaSlowLen = input.int(21, title="Slow EMA Length")
rsiLen = input.int(14, title="RSI Length")
rsiLongThresh = input.int(50, title="RSI Threshold for Long")
rsiShortThresh = input.int(50, title="RSI Threshold for Short")
slPercent = input.float(0.5, title="Stop Loss (%)", step=0.1)
tpPercent = input.float(1.0, title="Take Profit (%)", step=0.1)
// === INDICATORS ===
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
rsi = ta.rsi(close, rsiLen)
// === TIME FILTER ===
t = time(timeframe.period, "Asia/Kolkata")
isInSession = (hour(t) == 9 and minute(t) >= 15) or (hour(t) > 9 and hour(t) < 15) or (hour(t) == 15 and minute(t) <= 30)
// === LONG ENTRY ===
longCondition = ta.crossover(emaFast, emaSlow) and rsi > rsiLongThresh and isInSession
slLong = close * (1 - slPercent / 100)
tpLong = close * (1 + tpPercent / 100)
// === SHORT ENTRY ===
shortCondition = ta.crossunder(emaFast, emaSlow) and rsi < rsiShortThresh and isInSession
slShort = close * (1 + slPercent / 100)
tpShort = close * (1 - tpPercent / 100)
// === TRADE EXECUTION ===
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=slLong, limit=tpLong)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=slShort, limit=tpShort)
// === VISUAL TP/SL LINES ===
plot(strategy.position_size > 0 ? slLong : na, title="Long SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size > 0 ? tpLong : na, title="Long TP", color=color.green, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size < 0 ? slShort : na, title="Short SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(strategy.position_size < 0 ? tpShort : na, title="Short TP", color=color.green, style=plot.style_linebr, linewidth=1)
// === PLOT EMAs ===
plot(emaFast, color=color.green, title="EMA 9")
plot(emaSlow, color=color.red, title="EMA 21")
// === ALERTS (OPTIONAL) ===
alertcondition(longCondition, title="Long Entry Alert", message="LONG Entry Triggered")
alertcondition(shortCondition, title="Short Entry Alert", message="SHORT Entry Triggered")