
Ini adalah strategi perdagangan kuantitatif yang didasarkan pada konsep pelacakan tren, terutama untuk meningkatkan akurasi perdagangan dengan sinyal pemfilteran multi-indikator. Strategi ini berjalan pada jangka waktu 5 menit, menggunakan 200 garis rata-rata dan 21 garis rata-rata sebagai filter tren utama, digabungkan dengan RSI dan MACD untuk konfirmasi sinyal perdagangan.
Inti dari strategi ini adalah membangun sistem pengakuan tren yang komprehensif dengan menggunakan beberapa indikator teknis, dengan penyaringan bertingkat untuk menghindari terobosan palsu dan menangkap peluang tren probabilitas tinggi. Prinsip implementasi spesifiknya adalah sebagai berikut:
Konfirmasi arah tren: Menggunakan 200-period Index Moving Average ((EMA) sebagai indikator tren jangka panjang, 21-period EMA sebagai indikator tren jangka menengah. Harga harus berada di sisi yang sama dari dua garis rata-rata untuk dipertimbangkan masuk.
Konfirmasi momentum: Menggunakan indeks relatif kuat lemah ((RSI) sebagai filter momentum tambahan. Dalam kasus multipel, RSI harus lebih besar dari 50; Dalam kasus kosong, RSI harus kurang dari 50, memastikan konsistensi dengan arah tren keseluruhan.
Trigger masuk: bergantung pada MACD ((12,26,9) indikator sinyal silang sebagai input akhir untuk memicu kondisi. Masuk multihead memerlukan MACD line melalui sinyal, dan MACD nilai positif. Masuk kosong membutuhkan MACD line melalui sinyal, dan MACD nilai negatif.
Manajemen RisikoSetiap perdagangan menggunakan setelan Stop Loss (15 poin) dan Stop Loss (22.5 poin) yang tetap, menciptakan rasio risiko-pengembalian 1:1.5, yang merupakan setelan yang masuk akal untuk menyeimbangkan risiko dan pengembalian.
Bantuan visualStrategi ini mencakup visualisasi label perdagangan dan garis horisontal stop loss / stop loss untuk pemantauan dan analisis feedback.
Pemberitahuan otomatisTermasuk: kondisi peringatan bawaan, dapat mengatur fungsi pemberitahuan otomatis melalui platform, untuk mencapai transaksi semi otomatis.
Dalam analisis lebih mendalam dari implementasi kode dari strategi ini, beberapa keuntungan yang menonjol dapat ditemukan:
Sistem Filtrasi BerbagaiDengan menggabungkan tiga jenis indikator berbeda, yaitu Mean Line, RSI, dan MACD, strategi ini membangun sistem penyaringan sinyal yang ketat, yang secara signifikan mengurangi sinyal palsu dan meningkatkan akurasi perdagangan.
Pengendalian Risiko yang Jelas: Menggunakan Stop Loss dan Stop Loss yang tetap, risiko setiap perdagangan ditentukan sebelumnya, untuk memfasilitasi manajemen dana dan pengendalian risiko. Rasio risiko / pengembalian 1: 1.5 diatur secara wajar, sesuai dengan prinsip perdagangan profesional.
Logika perdagangan beruntunStrategi ini dirancang untuk memastikan bahwa perdagangan dilakukan hanya dalam arah tren yang telah dikonfirmasi, menghindari risiko tinggi dari operasi berlawanan.
Sistem umpan balik visual: Dengan tampilan visual dari label dan garis, pedagang dapat secara langsung mengetahui status operasi dan kinerja historis dari strategi.
Manajemen dana yang fleksibelStrategi: Menggunakan persentase ekuitas akun untuk manajemen posisi, dapat disesuaikan secara dinamis dengan ukuran akun, cocok untuk operasi jangka panjang.
Memfasilitasi otomatisasiKondisi peringatan yang dibangun membuat strategi ini mudah diintegrasikan dengan sistem perdagangan otomatis, mengurangi gangguan emosional dan kesalahan manusia.
Meskipun strategi ini dirancang dengan baik, ada beberapa risiko dan keterbatasan potensial:
Stop loss tetap: Menggunakan stop loss dengan nilai tetap mungkin tidak cukup dalam pasar yang sangat fluktuatif, terutama ketika volatilitas pasar meningkat secara tiba-tiba, yang dapat menyebabkan stop loss yang mudah disentuh. Cara yang lebih baik adalah dengan mempertimbangkan untuk menggunakan ATR (Average True Range) untuk secara dinamis menyesuaikan tingkat stop loss.
Kurang Mengidentifikasi Titik PeralihanStrategi ini bekerja dengan baik pada tren yang kuat, tetapi mungkin bereaksi terlambat pada titik-titik perubahan tren, yang menyebabkan masuk ke dalam arah tren awal. Anda dapat mempertimbangkan untuk menambahkan indikator kekuatan tren seperti ADX untuk menghindari masuk ke dalam tren yang lemah.
Kondisi ganda mungkin terlalu berlebihanKondisi ganda, meskipun meningkatkan kualitas sinyal, juga dapat menyebabkan kehilangan beberapa peluang perdagangan yang baik. Dalam aplikasi praktis, kualitas dan frekuensi sinyal perlu diseimbangkan berdasarkan hasil pengukuran.
Optimasi untuk 5 menit waktu frame: Strategi ini dirancang untuk jangka waktu 5 menit, parameter mungkin perlu disesuaikan kembali pada jangka waktu lain. Penggunaan sederhana pada jangka waktu yang berbeda dapat menyebabkan penurunan kinerja.
Kurangnya adaptasi kondisi pasarStrategi tidak membedakan antara pasar penarikan dan pasar tren, yang dapat menghasilkan perdagangan kerugian yang sering terjadi pada tahap penarikan horizontal. Anda dapat mempertimbangkan untuk menambahkan filter volatilitas atau logika identifikasi struktur pasar.
Berdasarkan analisis kode, strategi ini memiliki beberapa kemungkinan optimasi:
Manajemen risiko dinamis: Menggantikan stop loss dan stop loss dengan stop loss dan stop loss dinamis berbasis ATR, memungkinkan strategi untuk menyesuaikan parameter risiko secara otomatis sesuai dengan volatilitas pasar. Keuntungan dari melakukan hal ini adalah mempertahankan celah risiko yang relatif konsisten dalam lingkungan tingkat fluktuasi yang berbeda.
Filter intensitas tren meningkat: Tambahkan ADX sebagai indikator kekuatan tren, hanya masuk saat kekuatan tren lebih besar dari titik terendah tertentu (seperti 25) dan hindari perdagangan di pasar yang lemah atau bergolak.
Optimalkan waktu masukAnda dapat mempertimbangkan untuk menunggu sinyal konfirmasi untuk kembali ke harga di dekat garis rata-rata untuk mendapatkan harga masuk yang lebih baik dan jarak stop loss yang lebih kecil, meningkatkan pengembalian risiko
Menambahkan filter waktu transaksiAnalisis kinerja dari waktu perdagangan yang berbeda, mungkin menemukan bahwa beberapa waktu tertentu (seperti periode overlap waktu perdagangan Eropa-Amerika) berkinerja lebih baik, dan strategi dapat diaktifkan hanya dalam periode ini.
Implementasi mekanisme penguncian laba parsialKetika perdagangan mencapai tingkat keuntungan tertentu (misalnya 50% dari target), stop loss akan dipindahkan ke harga masuk atau margin, memastikan setidaknya sebagian dari keuntungan disimpan.
Meningkatkan penilaian pasar: menilai kondisi pasar melalui bandwidth Brin atau indikator serupa ((trend atau konsolidasi), menggunakan logika perdagangan yang berbeda atau pengaturan parameter dalam kondisi yang berbeda
Optimasi parameter dan pengukuran kembali: Mengoptimalkan pengembalian siklus garis rata-rata, nilai RSI, parameter MACD, dan lain-lain untuk menemukan kombinasi parameter dengan kinerja historis terbaik, tetapi berhati-hatilah untuk menghindari over-fit.
Ini adalah strategi pelacakan tren yang dirancang secara rasional, dengan sistem penyaringan sinyal yang ketat yang dibangun melalui aplikasi komprehensif dari beberapa indikator teknis, yang meningkatkan kualitas sinyal perdagangan. Pengaturan manajemen risiko yang ditetapkan memberikan kerangka kontrol risiko yang stabil untuk strategi, yang cocok untuk digunakan oleh pedagang intraday dan pelacak tren.
Meskipun strategi dapat bekerja dengan baik dalam lingkungan tren yang kuat, strategi dapat menghadapi tantangan dalam lingkungan konversi dan volatilitas pasar yang tinggi. Strategi dapat ditingkatkan lebih lanjut untuk stabilitas dan adaptasi dengan menerapkan langkah-langkah optimasi yang disarankan, terutama peningkatan manajemen risiko dinamis dan adaptasi dengan kondisi pasar.
Strategi ini secara keseluruhan mencerminkan prinsip-prinsip inti dari perdagangan sistematis: persyaratan masuk yang ketat, aturan keluar yang jelas, dan manajemen risiko yang konsisten, sangat cocok untuk pedagang yang ingin mengurangi gangguan emosional dan menerapkan sistem perdagangan secara ketat.
/*backtest
start: 2024-07-31 00:00:00
end: 2025-07-29 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("TPC Strategy XAUUSD - M5 with Fixed SL/TP", overlay=true)
// === INPUTS ===
ema200 = ta.ema(close, 200)
ema21 = ta.ema(close, 21)
rsi = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// === CONDITIONS ===
longCondition = close > ema200 and close > ema21 and rsi > 50 and macdLine > signalLine and ta.crossover(macdLine, signalLine)
shortCondition = close < ema200 and close < ema21 and rsi < 50 and macdLine < signalLine and ta.crossunder(macdLine, signalLine)
// === TRADE PARAMETERS ===
sl_pips = 15.0
tp_pips = 22.5
sl = sl_pips * syminfo.mintick * 10
tp = tp_pips * syminfo.mintick * 10
// === TRADE ENTRIES ===
var float long_entry_price = na
var float short_entry_price = na
if (longCondition)
strategy.entry("Long", strategy.long)
long_entry_price := close
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
if (shortCondition)
strategy.entry("Short", strategy.short)
short_entry_price := close
label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
// === STRATEGY EXITS ===
strategy.exit("Long TP/SL", from_entry="Long", stop=close - sl, limit=close + tp)
strategy.exit("Short TP/SL", from_entry="Short", stop=close + sl, limit=close - tp)
// === PLOTS ===
plot(ema200, color=color.red, title="200 EMA")
plot(ema21, color=color.blue, title="21 EMA")
// === PLOT SL & TP LINES ===
plot(long_entry_price ? long_entry_price - sl : na, title="Long SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(long_entry_price ? long_entry_price + tp : na, title="Long TP", color=color.green, style=plot.style_linebr, linewidth=1)
plot(short_entry_price ? short_entry_price + sl : na, title="Short SL", color=color.red, style=plot.style_linebr, linewidth=1)
plot(short_entry_price ? short_entry_price - tp : na, title="Short TP", color=color.green, style=plot.style_linebr, linewidth=1)
// === ALERT CONDITIONS ===
alertcondition(longCondition, title="Buy Signal", message="📈 XAUUSD Buy Setup (M5) detected!")
alertcondition(shortCondition, title="Sell Signal", message="📉 XAUUSD Sell Setup (M5) detected!")