
Strategi perdagangan kuantitatif penembusan dua dasar ATR yang mengikuti stop loss adalah sistem perdagangan yang menggabungkan identifikasi tren teknologi klasik dengan manajemen risiko kuantitatif modern. Strategi ini berfokus pada identifikasi tren reversal dua dasar di pasar, dan memanfaatkan ATR yang dinamis (rata-rata amplitudo real) untuk melacak mekanisme stop loss untuk melindungi keuntungan dan membatasi kerugian. Strategi ini juga mengintegrasikan 50 siklus indeks moving average (EMA) sebagai filter tren untuk memastikan arah perdagangan konsisten dengan tren utama, sehingga meningkatkan tingkat keberhasilan perdagangan.
Prinsip inti dari strategi ini adalah berdagang berdasarkan bentuk dua dasar dalam struktur harga, bentuk analisis teknis klasik yang biasanya mengindikasikan bahwa tren turun mungkin akan segera berakhir dan bergeser ke atas. Pelaksanaan strategi terutama mencakup beberapa komponen kunci berikut:
Identifikasi bentuk dua dasar: Menggunakan teknologi Pivot Low untuk mendeteksi secara otomatis struktur double bottom di pasar. Strategi ini dilakukan dengan melacak tiga low yang paling baru, dan mengkonfirmasi bahwa bentuk double bottom telah terbentuk ketika tingkat harga dari low pertama dan ketiga mendekati (perbedaan dalam ruang lingkup yang ditetapkan) dan low kedua lebih tinggi dari kedua low tersebut.
Filter tren EMAOpsional menggunakan 50 siklus EMA sebagai alat konfirmasi tren. Hanya ketika harga berada di atas EMA, lebih banyak masuk yang diizinkan, memastikan arah perdagangan sesuai dengan tren yang lebih besar.
Penilaian Volatilitas ATRStrategi untuk menghitung dan memantau indikator ATR, hanya untuk mempertimbangkan masuk ketika pasar turun naik mencapai titik terendah, untuk menghindari sinyal palsu di pasar yang terlalu rendah volatilitas.
Tracking Stop Loss Dinamis: Menggunakan mekanisme tracking stop loss berbasis ATR, tingkat stop loss akan disesuaikan secara otomatis dengan kenaikan harga, memberikan ruang istirahat yang cukup untuk harga sambil melindungi keuntungan. Jarak stop loss ditentukan oleh nilai ATR saat ini dikalikan dengan kelipatan yang ditentukan oleh pengguna, sehingga dapat beradaptasi dengan karakteristik fluktuasi dalam lingkungan pasar yang berbeda.
Pengendalian jangka waktu: Strategi memiliki kontrol jangka waktu yang terintegrasi untuk memungkinkan pengguna untuk menentukan rentang sejarah yang dapat digunakan untuk mengevaluasi kinerja strategi di berbagai tahap pasar.
Konsentrasi dari bentuk dan trenDengan menggabungkan identifikasi pola dua dasar dan pemfilteran tren EMA, strategi ini mampu memfilter sinyal perdagangan berkualitas tinggi, dan hanya masuk jika tren mendukung, yang secara signifikan meningkatkan tingkat kemenangan.
Adaptasi Manajemen RisikoATR-based dynamic tracking stop loss mechanism adalah fitur utama dari strategi ini, yang dapat secara otomatis menyesuaikan level stop loss sesuai dengan kondisi pasar saat ini yang bergejolak, memberikan kontrol risiko yang tepat dalam lingkungan yang berbeda.
Filter fluktuasiDengan menetapkan ATR terendah, strategi ini menghindari perdagangan di pasar yang tidak terlalu volatil dan mengurangi kemungkinan sinyal false breakout yang mungkin terjadi selama volatilitas rendah.
Kustomisasi TinggiStrategi ini menyediakan beberapa parameter yang dapat disesuaikan, termasuk siklus pivot, persentase toleransi, panjang ATR, penggandaan stop loss, dan lain-lain, yang memungkinkan pengguna untuk menyesuaikan secara optimal sesuai dengan varietas perdagangan yang berbeda dan preferensi risiko pribadi.
Sistem peringatan waktu nyataFitur peringatan JSON yang dibangun memungkinkan kebijakan untuk berintegrasi dengan sistem eksternal (seperti platform perdagangan otomatis atau layanan pemberitahuan) dengan mudah untuk pemantauan dan pelaksanaan secara real-time.
Visual Tracking Stop LossStrategi memberikan tampilan visual dari garis stop loss yang membantu trader memahami secara intuitif tingkat risiko saat ini dan potensi titik keluar.
Risiko Penembusan PalsuMeskipun menggunakan filter tren dan persyaratan volatilitas, bentuk dua dasar masih dapat menghasilkan sinyal false breakout, terutama dalam lingkungan yang lebih tinggi dari zona penyusunan horizontal atau pasar yang berisik. Solusi termasuk menambahkan persyaratan konfirmasi bentuk atau menunda konfirmasi panggilan balik setelah masuk ke titik penembusan.
Parameter SensitivitasPerforma strategi sangat sensitif terhadap pengaturan parameter (misalnya periode pivot, persentase toleransi, dan ATR). Pengaturan parameter yang tidak tepat dapat menyebabkan overtrading atau kehilangan sinyal yang efektif.
Kecenderungan trenStrategi ini bekerja paling baik di pasar dengan tren yang jelas, dan mungkin tidak bekerja dengan baik di pasar yang sering berubah. Strategi ini dapat dioptimalkan dengan menambahkan logika identifikasi jenis pasar, menggunakan parameter perdagangan yang berbeda dalam kondisi pasar yang berbeda, atau menghentikan perdagangan.
Pembatasan transaksi satu arahStrategi saat ini hanya mendukung banyak perdagangan dan tidak dapat menangkap peluang di pasar yang turun. Ini dapat menyebabkan kehilangan peluang potensial untuk mendapatkan keuntungan di pasar beruang atau dalam tren turun jangka panjang.
Mencegah risiko terjun payung: Setelah pasar yang bergejolak atau siaran pers penting, harga mungkin melompati bukaan dan langsung melampaui level stop loss, menyebabkan harga stop loss yang sebenarnya jauh di bawah tingkat yang diharapkan, meningkatkan kerugian perdagangan.
Ekspansi perdagangan dua arahStrategi saat ini hanya memungkinkan untuk melakukan multi-fungsi, yang dapat dilakukan dengan menambahkan logika identifikasi bentuk dua puncak untuk melakukan fungsi shorting, sehingga strategi dapat sama efektifnya di pasar yang turun, sehingga meningkatkan peluang perdagangan secara keseluruhan dan meningkatkan efisiensi pemanfaatan dana.
Analisis multi-frame waktuMenggunakan analisis multi-frame dapat secara signifikan meningkatkan stabilitas strategi. Sebagai contoh, menggunakan arah tren pada frame waktu yang lebih tinggi sebagai kondisi penyaringan utama, dan mencari sinyal masuk pada frame waktu yang lebih rendah, metode “atas ke bawah” ini biasanya dapat meningkatkan kualitas sinyal.
Konfirmasi Tambahan Integrasi IndeksAnda dapat mempertimbangkan untuk mengintegrasikan indikator teknis tambahan sebagai alat konfirmasi, seperti RSI (Relative Strength Index), Stochastic (Random Scale Index) atau analisis volume transaksi, yang memerlukan konfirmasi bersama dari beberapa indikator untuk melakukan perdagangan, sehingga mengurangi risiko false breakout.
Manajemen Posisi DinamisImplementasi sistem manajemen posisi dinamis berdasarkan volatilitas pasar dan kepercayaan perdagangan, meningkatkan posisi ketika sinyal kuat atau kondisi pasar lebih menguntungkan, sebaliknya mengurangi paparan, dapat mengoptimalkan efisiensi modal dan pengembalian yang disesuaikan dengan risiko.
Adaptasi kondisi pasar: Mengembangkan modul pengenalan status pasar, sehingga strategi dapat secara otomatis membedakan apakah pasar saat ini berada dalam tren, getaran atau transisi, dan menyesuaikan parameter perdagangan atau menghentikan perdagangan sesuai dengan kondisi yang berbeda, meningkatkan kemampuan adaptasi strategi terhadap lingkungan.
Optimalisasi Pembelajaran MesinPertimbangkan untuk mengoptimalkan pilihan parameter dan proses pengenalan bentuk menggunakan teknologi pembelajaran mesin. Misalnya, model dapat dilatih untuk mengidentifikasi karakteristik bentuk dua dasar yang paling mungkin berhasil, atau memilih kombinasi parameter terbaik secara otomatis untuk kondisi pasar yang berbeda.
Strategi Stop Loss yang Lebih RinciStrategi stop loss bertahap dapat diterapkan, seperti meningkatkan stop loss ke garis biaya setelah perdagangan mencapai tingkat keuntungan tertentu atau mengatur mekanisme penguncian keuntungan, memberikan ruang yang cukup untuk harga berfluktuasi sambil melindungi keuntungan.
Strategi perdagangan kuantitatif penembusan dua dasar ATR yang disesuaikan sendiri adalah metode perdagangan sistematis yang menggabungkan konsep analisis teknis tradisional dengan teknologi perdagangan kuantitatif modern. Ini menghasilkan sinyal multitasking berkualitas tinggi dengan mengidentifikasi reversal dua dasar di pasar dan menggabungkan penyaringan tren EMA dan penilaian volatilitas ATR.
Meskipun ada beberapa keterbatasan dari strategi ini, seperti hanya mendukung perdagangan satu arah dan sensitivitas terhadap pengaturan parameter, batasan ini dapat diatasi secara efektif dengan arah optimasi yang disarankan seperti ekspansi perdagangan dua arah, analisis multi-frame waktu, dan manajemen posisi dinamis. Kustomisasi yang tinggi dari strategi ini membuatnya dapat beradaptasi dengan berbagai varietas perdagangan dan lingkungan pasar, terutama cocok untuk pedagang yang mencari peluang berbalik di pasar dengan tren yang jelas.
Dengan pemahaman yang mendalam tentang prinsip-prinsip strategi dan penyesuaian yang tepat sesuai dengan gaya perdagangan individu, pedagang dapat mengembangkan strategi ini menjadi sistem perdagangan yang solid, menangkap peluang berbalik di pasar sambil mempertahankan kontrol risiko yang wajar.
/*backtest
start: 2024-06-24 00:00:00
end: 2025-06-22 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Double Bottom Strategy (Long Only, ATR Trailing Stop + Alerts)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === INPUTS === //
prd = input.int(5, "Pivot Period")
tolerance = input.float(15.0, "Tolerance %", step=0.1)
atrLen = input.int(14, "ATR Length")
atrMult = input.float(1.5, "Trailing Stop ATR Multiplier")
minAtr = input.float(0.1, "Minimum ATR to enter trade")
useEMAFilter= input.bool(true, "Use 50 EMA Trend Filter?")
showTrail = input.bool(true, "Show Trailing Stop Line")
// === INDICATORS === //
atr = ta.atr(atrLen)
ema50 = ta.ema(close, 50)
trail_offset = atr * atrMult
// === BACKTEST DATE RANGE === //
startYear = input.int(2020, "Start Year")
startMonth = input.int(1, "Start Month")
startDay = input.int(1, "Start Day")
endYear = input.int(2025, "End Year")
endMonth = input.int(12, "End Month")
endDay = input.int(31, "End Day")
inDateRange = (time >= timestamp(startYear, startMonth, startDay, 00, 00)) and
(time <= timestamp(endYear, endMonth, endDay, 23, 59))
// === PIVOT LOWS === //
pl = ta.pivotlow(low, prd, prd)
// === TRACK LAST 3 LOWS === //
var float p1 = na
var float p2 = na
var float p3 = na
var int i1 = na
var int i2 = na
var int i3 = na
if not na(pl)
p1 := p2
p2 := p3
p3 := pl
i1 := i2
i2 := i3
i3 := bar_index
// === TRAILING STOP LINE HANDLE === //
var line trailLine = na
// === DOUBLE BOTTOM LOGIC === //
doubleBottom = not na(p1) and not na(p2) and not na(p3) and
(math.abs(p1 - p3) / p1 * 100 <= tolerance) and
(p2 > p1 and p2 > p3)
// === ENTRY CONDITIONS === //
isTrendOk = not useEMAFilter or (close > ema50)
isVolatilityOk = atr >= minAtr
entryCondition = doubleBottom and isTrendOk and isVolatilityOk
// === STRATEGY ENTRY + ALERT === //
if inDateRange and entryCondition and strategy.position_size == 0
strategy.entry("Long", strategy.long)
strategy.exit("Trailing Stop", from_entry="Long", trail_price=high, trail_offset=trail_offset)
// === EXIT ALERT === //
exitCondition = strategy.closedtrades > 0 and strategy.closedtrades.exit_bar_index(strategy.closedtrades - 1) == bar_index