
Strategi perdagangan kuantitatif ini adalah sistem perdagangan berbasis tren yang menggabungkan beberapa kondisi penyaringan dan mekanisme manajemen risiko yang ketat. Strategi ini dirancang untuk menggunakan harga dan garis rata yang bersilang sebagai sinyal masuk utama, serta mengintegrasikan indikator volatilitas ATR untuk mengoptimalkan waktu masuk, dan untuk membangun mekanisme penyaringan tren melalui kombinasi garis rata EMA50 dan EMA200 untuk memastikan hanya membuka posisi di lingkungan tren yang kuat. Strategi ini juga menetapkan tujuan stop loss dan profit yang tetap, dan memiliki kemampuan untuk menyesuaikan posisi stop loss sesuai dengan dinamika pasar yang bergejolak.
Strategi ini didasarkan pada operasi sistem sinyal multidimensi, dengan persyaratan masuk inti sebagai berikut:
Sinyal penembusan dihasilkan: Identifikasi peluang terobosan tren potensial melalui persilangan antara harga dengan rata-rata SMA tinggi / rendah ditambah penurunan nilai ATR. Ta.crossover: rata-rata SMA tinggi ditambah ATR, dan ta.crossunder: rata-rata SMA rendah dikurangi ATR.
Mekanisme penyaringan trenStrategi menggunakan kombinasi garis rata EMA50 dan EMA200 untuk membangun sistem penilaian lingkungan tren. Multicore meminta harga berada di atas EMA50 dan EMA50 berada di atas EMA200, untuk mengkonfirmasi tren naik; kepala kosong meminta harga berada di bawah EMA50 dan EMA50 berada di bawah EMA200, untuk mengkonfirmasi tren turun.
Filter waktuStrategi membatasi waktu perdagangan antara 2AM dan 2PM waktu New York, dengan fokus pada periode ketika pasar lebih aktif dan berfluktuasi.
Mekanisme pendinginan transaksiUntuk mencegah over-trading dan mengurangi efek sinyal palsu yang disebabkan oleh kebisingan pasar.
Sistem manajemen risiko:
Strategi mengubah poin menjadi perubahan harga aktual melalui pipSize, memastikan bahwa aturan manajemen risiko dapat diterapkan dengan benar pada varietas yang berbeda.
Sistem Filtrasi BerbagaiKombinasi dengan harga terobosan, konfirmasi tren, waktu penyaringan dan mekanisme pendinginan perdagangan, secara signifikan mengurangi sinyal palsu, meningkatkan kualitas perdagangan. Strategi hanya akan membuka posisi jika memenuhi beberapa kondisi, meningkatkan keandalan sinyal secara signifikan.
Pengendalian risiko adaptasiDengan menggabungkan target stop loss / profit tetap dengan penyesuaian dinamis ATR, memungkinkan strategi untuk beradaptasi dengan berbagai lingkungan pasar yang berfluktuasi. Multiplikasi ATR (<1.2) Secara otomatis memperluas perlindungan selama fluktuasi tinggi dan menyusut selama fluktuasi rendah, untuk mencapai manajemen risiko yang cerdas.
Mekanisme keseimbangan keuntungan dan kerugian: Stop loss akan secara otomatis dipindahkan ke sekitar titik biaya ketika keuntungan perdagangan mencapai tingkat tertentu (<50 poin), melindungi margin keuntungan dan memungkinkan tren untuk berlanjut, mengoptimalkan rasio risiko / keuntungan.
Perlindungan Transaksi yang Terlalu BesarPengaturan periode pendinginan perdagangan (15 K-line) yang efektif untuk mencegah penutupan posisi berturut-turut dalam kondisi pasar yang serupa, mengurangi frekuensi perdagangan dan biaya perdagangan, dan menghindari seringnya kerugian di pasar yang bergoyang.
Kontrol waktu transaksi berkualitas tinggiTerbataskan perdagangan antara 2AM dan 2PM waktu New York, fokus pada jam-jam pasar yang ideal untuk likuiditas dan volatilitas, dan hindari jam-jam likuiditas rendah dan fluktuasi yang tidak biasa.
Kinerja yang luar biasaStrategi ini menunjukkan tingkat kemenangan lebih dari 74% dan faktor keuntungan 2.4 dalam jangka waktu 15 menit, menunjukkan bahwa ia memiliki profitabilitas yang kuat dan karakteristik pengembalian risiko yang baik.
Mencegah risiko terjun payungDalam situasi pasar yang melonjak tinggi, stop loss tetap mungkin tidak dapat dieksekusi dengan sempurna, dan kerugian yang sebenarnya mungkin lebih besar dari yang diharapkan. Solusi adalah mempertimbangkan untuk meningkatkan zona penangguhan atau memperkenalkan sistem stop loss dinamis berdasarkan volatilitas.
Penundaan untuk mengidentifikasi tren: Menggunakan EMA50 dan EMA200 sebagai filter tren dapat menyebabkan kehilangan peluang masuk pada tahap awal tren, atau tetap berada di posisi setelah tren berakhir. Dapat dioptimalkan dengan memperkenalkan indikator tren yang lebih sensitif atau analisis jangka waktu yang lebih banyak.
Parameter SensitivitasKinerja strategi sangat bergantung pada pengaturan parameter kunci seperti length (<10), cooldownBars (<15) dan lain-lain. Perubahan kondisi pasar dapat menyebabkan parameter optimal tidak berfungsi dan perlu dioptimalkan kembali secara berkala atau memperkenalkan mekanisme penyesuaian parameter adaptif.
Pembatasan target laba tetapTarget profit tetap pada pukul 00:00 dapat membatasi potensi profit dengan menutup perdagangan lebih awal di pasar yang sedang tren kuat. Pertimbangkan untuk menerapkan strategi profit atau stop loss yang bergerak untuk mengoptimalkan kinerja dalam situasi tren kuat.
Pembatasan filter waktu: Jendela perdagangan dari 2AM hingga 2PM waktu New York mungkin melewatkan peluang perdagangan di periode lain, terutama untuk pasar yang diperdagangkan 24 jam di seluruh dunia. Anda dapat mempertimbangkan untuk menyesuaikan jendela waktu perdagangan untuk zona waktu atau karakteristik pasar yang berbeda.
Stabilitas ATR: Perubahan mendadak dalam nilai ATR dapat menyebabkan ketidakstabilan kondisi masuk dan posisi stop loss. Dianjurkan untuk menggunakan ATR yang lebih lama untuk menghitung atau memperlancar nilai ATR untuk mengurangi dampak volatilitas jangka pendek pada strategi.
Sistem target keuntungan dinamis: Mengganti target keuntungan tetap ((100 poin) dengan target dinamis berdasarkan volatilitas, dapat menyesuaikan ukuran target keuntungan secara otomatis sesuai dengan kondisi pasar. Implementasi konkret dapat menggunakan nilai ATR ganda sebagai jarak target, menetapkan tujuan yang lebih besar dalam lingkungan yang berfluktuasi tinggi, menetapkan tujuan yang lebih konservatif dalam lingkungan yang berfluktuasi rendah.
Sistem peringkat intensitas tren: Mengoptimalkan mekanisme penyaringan tren yang ada, memperkenalkan sistem penilaian intensitas tren, menyesuaikan ukuran posisi atau parameter risiko sesuai dengan intensitas tren yang berbeda. Faktor-faktor seperti sudut rata-rata, harga dan jarak rata-rata dapat digabungkan untuk membangun penilaian komprehensif, dan memungkinkan keputusan perdagangan yang lebih halus.
Konfirmasi multi-frame waktu: Menambahkan mekanisme pengesahan tren pada kerangka waktu yang lebih tinggi untuk memastikan bahwa arah perdagangan konsisten dengan tren yang lebih besar. Misalnya, mengkonfirmasi arah tren pada grafik 1 jam atau 4 jam sebelum perdagangan pada grafik 15 menit, meningkatkan kualitas sinyal.
Mekanisme keuntungan sebagian: Membuat strategi multi-level profit, yang memungkinkan sebagian dari posisi kosong ketika mencapai tingkat keuntungan tertentu, baik mengunci sebagian dari keuntungan dan mempertahankan kemungkinan untuk terus mendapatkan keuntungan. Dapat dirancang untuk posisi kosong 50% ketika keuntungan mencapai 50, dan sisanya menggunakan tracking stop loss untuk terus memegang.
Adaptasi untuk periode pendinginan: Mengubah periode pendinginan 15 K Line yang tetap menjadi periode pendinginan dinamis berdasarkan volatilitas pasar. Di pasar yang berfluktuasi tinggi, periode pendinginan dapat dipersingkat untuk menangkap lebih banyak peluang, sementara di pasar yang berfluktuasi rendah, periode pendinginan diperpanjang untuk menghindari overtrading.
Pengujian Ulang yang Meningkat: Memperluas jangkauan retrospektif, memverifikasi strategi yang kuat di berbagai pasar dan periode waktu, dengan fokus khusus pada kinerja di berbagai kondisi pasar. Melakukan optimasi bertahap dan simulasi Monte Carlo, menilai sensitivitas parameter dan robustitas strategi.
Strategi pelacakan tren beradaptasi multi-dimensi dan manajemen risiko adalah sistem perdagangan kuantitatif yang dirancang dengan baik, yang mencapai tingkat kemenangan yang tinggi dan faktor keuntungan yang sangat baik dengan mengintegrasikan sinyal terobosan harga, penyaringan tren, kontrol waktu, dan mekanisme manajemen risiko berlapis. Strategi ini berfokus khusus pada kontrol risiko, melindungi dana dengan menggunakan stop loss tetap yang dikombinasikan dengan penyesuaian dinamis ATR, sambil menggunakan mekanisme neraca kerugian untuk mengunci sebagian dari keuntungan. Strategi ini cocok untuk perdagangan tren jangka pendek dan menengah, terutama dalam kerangka waktu 15 menit.
Meskipun ada ruang untuk perbaikan dalam pengoptimalan parameter dan pengelolaan keuntungan, strategi ini telah menunjukkan keunggulan inti dari perdagangan sistematis: disiplin yang kuat, risiko yang dapat dikendalikan dan logika perdagangan yang dapat diulang. Dengan menerapkan langkah-langkah optimasi yang disarankan, terutama target keuntungan dinamis dan sistem konfirmasi multi-frame waktu, strategi ini diharapkan untuk mempertahankan kinerja yang stabil dalam berbagai lingkungan pasar dan meningkatkan lebih lanjut kemampuan keuntungan secara keseluruhan.
/*backtest
start: 2025-01-26 00:00:00
end: 2025-02-24 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Optimized Target Trend Strategy v2", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Inputs
length = input.int(10, "Trend Length")
useTrendFilter = input.bool(true, "Use Trend Filter")
cooldownBars = input.int(15, "Cooldown Between Trades") // Increased cooldown to prevent overtrading
// Fixed Risk Management
fixedSL = 50 // 60 pips/ticks stop loss
fixedTP = 100 // 100 pips/ticks take profit
breakEvenTrigger = 50 // Move stop to break even after 50 pips/ticks in profit
// ATR Calculation for Dynamic Stop Buffer
atrMultiplier = 1.2
atr_value = ta.atr(14) * atrMultiplier
// Moving Averages for Trend Filter
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
strongTrendFilter = useTrendFilter ? (close > ema50 and ema50 > ema200) : true
weakTrendFilter = useTrendFilter ? (close < ema50 and ema50 < ema200) : true
// Time Filter - Trading Only Between 2 AM to 2 PM New York Time
timeAllowed = (hour >= 2 and hour < 14)
// Cooldown Logic (Prevents Overtrading)
var float lastTradeBar = na
canTrade = na(lastTradeBar) or (bar_index - lastTradeBar) > cooldownBars
// Entry Conditions with Stronger Filtering
longCondition = ta.crossover(close, ta.sma(high, length) + atr_value) and strongTrendFilter and timeAllowed and canTrade
shortCondition = ta.crossunder(close, ta.sma(low, length) - atr_value) and weakTrendFilter and timeAllowed and canTrade
// Convert Pips to Price Movement
pipSize = syminfo.mintick
SL_Price = fixedSL * pipSize
TP_Price = fixedTP * pipSize
BE_Price = breakEvenTrigger * pipSize
if (longCondition)
strategy.entry("Long", strategy.long)
lastTradeBar := bar_index
strategy.exit("Take Profit", from_entry="Long", limit=close + TP_Price, stop=close - SL_Price - atr_value)
if (shortCondition)
strategy.entry("Short", strategy.short)
lastTradeBar := bar_index
strategy.exit("Take Profit", from_entry="Short", limit=close - TP_Price, stop=close + SL_Price + atr_value)
// Move Stop Loss to Break Even After 50 Pips Profit
longBreakEven = close + BE_Price
shortBreakEven = close - BE_Price
if (strategy.position_size > 0 and high >= longBreakEven)
strategy.exit("Break Even Long", from_entry="Long", stop=close + 2 * pipSize) // Small buffer to avoid premature stop-out
if (strategy.position_size < 0 and low <= shortBreakEven)
strategy.exit("Break Even Short", from_entry="Short", stop=close - 2 * pipSize)
// Plot Trend Filter
plot(useTrendFilter ? ema50 : na, color=color.blue, title="EMA 50")
plot(useTrendFilter ? ema200 : na, color=color.red, title="EMA 200")