
Sistem perdagangan mundur adalah strategi perdagangan garis panjang yang dirancang khusus untuk grafik garis matahari, yang dengan cerdik menggabungkan identifikasi pola perilaku harga dan mekanisme penyaringan tingkat fluktuasi. Gagasan utamanya adalah untuk mencari peluang reversal potensial setelah penurunan pasar berturut-turut, sambil memastikan bahwa pasar memiliki cukup dinamis untuk mendukung perdagangan melalui kondisi tingkat fluktuasi. Strategi ini menggunakan cara “berpikir mundur”, yaitu berdagang ketika kinerja pasar lemah, tetapi hanya dilakukan jika tingkat fluktuasi cukup besar, dan keluar setelah muncul sinyal reversal atau mencapai jumlah hari yang direncanakan untuk memegang posisi.
Sistem perdagangan Forex berdasarkan pada prinsip-prinsip utama berikut:
Syarat masuk:
Kondisi pertandingan:
Pengaturan parameter:
Kode ini mengimplementasikan logika perdagangan yang tepat, termasuk merekam indeks pilar entry untuk menghitung durasi perdagangan, dan memindahkan variabel terkait setelah perdagangan berakhir. Selain itu, strategi ini juga menyediakan elemen visual, seperti penandaan grafis dari sinyal masuk dan keluar, dan kurva ATR saat ini dan rata-rata 30 hari untuk analisis intuitif pedagang.
Setelah menganalisis kode secara mendalam, strategi ini menunjukkan keuntungan yang signifikan:
Logika berpikir terbalikStrategi ini menggunakan pemikiran mundur, masuk setelah pasar terus turun, yang sesuai dengan kebijaksanaan perdagangan klasik “beli dalam kepanikan” yang membantu menangkap peluang oversell untuk rebound.
Filter tingkat fluktuasiDengan meminta ATR saat ini lebih besar dari rata-rata bergerak 30 hari, strategi ini memastikan bahwa perdagangan hanya dilakukan ketika pasar cukup berfluktuasi, menghindari masuk ke pasar yang lebih rendah fluktuasi.
Mekanisme yang jelasStrategi ini menawarkan dua mekanisme keluar, yaitu keluar berdasarkan sinyal reversal dan keluar berdasarkan waktu, yang memungkinkan pedagang untuk mengelola risiko secara fleksibel dan mencegah stagnasi perdagangan yang lama.
Kustomisasi parameterParameter kunci seperti durasi perdagangan maksimum, siklus ATR dan kondisi keluar dapat disesuaikan dengan preferensi pasar dan pedagang yang berbeda.
Manajemen risiko built-in: Setelan durasi perdagangan maksimum membatasi waktu eksposur risiko untuk setiap perdagangan tunggal, bahkan jika pasar tidak memberikan sinyal keluar yang jelas.
Alat identifikasi visualStrategi ini mencakup penanda grafis dari sinyal masuk/keluar dan visualisasi indikator ATR untuk memudahkan trader memantau pelaksanaan strategi.
Sederhana dan BerkesanMeskipun konsepnya sederhana, strategi ini menggabungkan perilaku harga dan analisis volatilitas untuk meningkatkan kualitas keputusan perdagangan, menghindari masalah keterlambatan dan parameter yang terlalu cocok yang dapat disebabkan oleh indikator kompleks.
Meskipun strategi ini dirancang dengan baik, analisis kode menunjukkan risiko potensial sebagai berikut:
Risiko Penembusan PalsuSetelah tiga hari berturut-turut turun, itu tidak selalu berarti bahwa pembalikan akan segera terjadi, dan pasar mungkin akan terus turun, sehingga titik masuknya tidak ideal.
Risiko fluktuasiJika Anda memiliki volatilitas yang tinggi, itu bisa berarti bahwa pasar tidak stabil, dan meskipun ini memberikan peluang perdagangan, itu juga meningkatkan risiko fluktuasi harga yang drastis.
Ketidaktahuan untuk keluar dari waktuPenarikan berdasarkan hari tetap tanpa mempertimbangkan situasi pasar saat ini, dapat menyebabkan penarikan prematur dalam tren menguntungkan atau penarikan terlambat dalam tren negatif.
Parameter SensitivitasPerforma strategi mungkin sangat sensitif terhadap pilihan parameter seperti siklus ATR, durasi perdagangan maksimum.
Kurangnya pengendalian kerugianStrategi saat ini tidak memiliki fungsi stop loss dalam arti tradisional, yang dapat menyebabkan kerugian yang berlebihan ketika pasar sangat berfluktuasi.
Kondisi Pasar TergantungStrategi ini mungkin bekerja dengan baik dalam kondisi pasar tertentu (seperti lingkungan dengan volatilitas tinggi), tetapi mungkin tidak bekerja dengan baik pada fase pasar lainnya.
Berdasarkan analisis kode, berikut adalah arah optimasi potensial dari strategi ini:
Menambahkan filter ATR adaptifDengan menggunakan ATR rata-rata 30 hari yang tetap sebagai acuan volatilitas, pertimbangkan untuk menggunakan siklus adaptasi dan menyesuaikan ATR acuan sesuai dengan dinamika kondisi pasar. Dengan demikian, Anda dapat lebih beradaptasi dengan lingkungan pasar yang berbeda, karena dalam pasar tren dan pasar konsolidasi, acuan ATR yang ideal mungkin berbeda.
Durasi transaksi maksimum untuk mencapai dinamika: Dapat membuat durasi perdagangan maksimum disesuaikan secara dinamis dengan volatilitas pasar atau intensitas tren, memungkinkan waktu kepemilikan yang lebih lama di pasar tren yang kuat, dan waktu kepemilikan yang lebih pendek di pasar tren yang lemah atau berbalik.
Menambahkan mekanisme stop loss: Memperkenalkan pengaturan stop loss berdasarkan ATR ganda untuk membatasi kerugian maksimum dalam satu transaksi dan meningkatkan efisiensi manajemen dana. Misalnya, stop loss dapat diatur sebagai harga masuk dikurangi 2 kali nilai ATR saat ini.
Masukkan filter tren: Menambahkan filter tren yang lebih luas (seperti Moving Average berdasarkan periode yang lebih lama), memastikan bahwa hanya diperdagangkan di arah tren besar, dan menghindari perdagangan yang berbalik ke arah yang berlawanan dari tren besar.
Optimalkan persyaratan masukPertimbangkan untuk menggunakan model harga yang lebih kompleks atau kombinasi indikator teknis (seperti RSI, MACD) untuk mengkonfirmasi sinyal masuk dan meningkatkan kualitas masuk.
Membuat sebagian dari keuntungan terkunciSetelah trading mencapai tingkat keuntungan tertentu, Anda dapat melakukan pelunasan sebagian dari posisi Anda, mengunci sebagian dari keuntungan Anda, dan membiarkan sisa posisi Anda tetap dipegang untuk menangkap potensi tren yang lebih besar.
Meningkatkan Verifikasi Volume Transaksi: Menggunakan volume transaksi sebagai kondisi tambahan untuk konfirmasi sinyal, misalnya dengan meminta volume transaksi untuk hari-hari penurunan berturut-turut berkurang secara bertahap (<<) yang mungkin mengindikasikan peluang reversal yang lebih berkualitas.
Penyesuaian musimanAnalisis dampak dari berbagai musim pasar (misalnya bulan, kuartal) terhadap kinerja strategi, mungkin dengan menonaktifkan atau menyesuaikan parameter strategi pada periode tertentu untuk menanggapi efek musiman.
Sistem perdagangan resesi adalah strategi perdagangan kuantitatif yang menggabungkan pola perilaku harga dan penyaringan volatilitas untuk menangkap peluang rebound setelah oversold jangka pendek di pasar. Strategi ini secara teoritis dapat menyeimbangkan peluang perdagangan dan pengendalian risiko dengan meminta pasar turun selama tiga hari berturut-turut dan volatilitas di atas rata-rata sebagai kondisi masuk, sambil menyiapkan mekanisme keluar berdasarkan sinyal atau waktu yang jelas.
Keunggulan utama dari strategi ini adalah logika yang sederhana dan intuitif, mekanisme manajemen risiko yang dibangun, dan pengaturan parameter yang dapat disesuaikan, yang membuatnya cocok untuk berbagai preferensi pedagang dan lingkungan pasar. Namun, strategi ini juga menghadapi tantangan seperti false breakout, risiko volatilitas, dan sensitivitas parameter, yang perlu dikelola dengan cara seperti menambahkan indikator konfirmasi, menerapkan mekanisme stop loss, dan mengoptimalkan pengaturan parameter.
Strategi dapat ditingkatkan stabilitas dan adaptasi dengan optimasi lebih lanjut seperti menambahkan filter ATR adaptif, mencapai durasi perdagangan maksimum yang dinamis, menambahkan mekanisme stop loss, dan sebagainya. Yang paling penting, trader harus melakukan pengembalian dan optimasi parameter yang memadai sebelum penyebaran aktual untuk memastikan efektivitas strategi dalam kondisi pasar tertentu, dan menyesuaikan parameter sesuai dengan toleransi risiko individu dan tujuan investasi.
Strategi ini memberikan kerangka perdagangan kuantitatif yang berharga dan memberikan cara terstruktur bagi pedagang untuk menangkap peluang reversal pasar dengan menggabungkan analisis teknis dan prinsip manajemen risiko. Ini tidak hanya menunjukkan bagaimana memanfaatkan perilaku harga dan volatilitas untuk merancang sistem perdagangan, tetapi juga menekankan pentingnya strategi keluar dan pengendalian risiko dalam perdagangan yang sukses.
/*backtest
start: 2024-02-25 00:00:00
end: 2024-12-14 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=6
strategy("3 Red / 3 Green Strategy with Volatility Check", overlay=true, initial_capital=100000, currency=currency.USD)
// Input parameters
maxTradeDuration = input.int(title="Maximum Trade Duration (days)", defval=22, minval=1)
useGreenExit = input.bool(title="Use 3 Green Days Exit", defval=true, tooltip = "Exit condition: either 3 consecutive green days (if enabled) or if the trade duration reaches maxTradeDuration days.")
atrPeriod = input.int(title="ATR Period", defval=12, minval=0, step=1, tooltip="Use zero to disable ATR filter")
// Define red and green days based on open vs close prices
redDay = close < open
greenDay = close > open
// Conditions: 3 consecutive red days trigger an entry; 3 consecutive green days trigger an exit.
threeRed = redDay and redDay[1] and redDay[2]
threeGreen = greenDay and greenDay[1] and greenDay[2]
var float currentATR = 0.0
var float averageATR = 0.0
var bool atr_entry = true
// Calculate ATR and its 30-day average
if(atrPeriod>0)
currentATR := ta.atr(atrPeriod)
averageATR := ta.sma(currentATR, 30)
atr_entry := (currentATR > 0 and averageATR > 0) ? (currentATR > averageATR) : true
// Persistent variable to record the bar index when the trade is entered.
var int entryBarIndex = na
// Entry: When no position is open, 3 consecutive red days occur, and current ATR is above its 30-day average, enter a long trade.
if (strategy.position_size == 0 and threeRed and atr_entry)
strategy.entry("Long", strategy.long)
entryBarIndex := bar_index
// Compute trade duration in days using the absolute difference
tradeDuration = not na(entryBarIndex) ? math.abs(bar_index - entryBarIndex) : 0
// Exit condition: either 3 consecutive green days (if enabled) or if the trade duration reaches maxTradeDuration days.
exitCondition = (useGreenExit and threeGreen) or (tradeDuration >= maxTradeDuration)
if (strategy.position_size > 0 and exitCondition)
strategy.close("Long")
// Reset the entry bar index when a trade just closed.
if (strategy.position_size[1] > 0 and strategy.position_size == 0)
entryBarIndex := na
// Optional: Plot signals and ATR values for visual confirmation.
plotshape(threeRed, title="Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(threeGreen, title="Green Exit Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)
plot(currentATR, title="Current ATR", color=color.blue)
plot(averageATR, title="30-Day Average ATR", color=color.orange)