Strategi terobosan perdagangan kuantitatif: strategi pengoptimalan stop loss ATR dan kemiringan EMA untuk periode pertama

ATR VWAP EMA SL TP
Tanggal Pembuatan: 2025-02-28 09:46:26 Akhirnya memodifikasi: 2025-02-28 09:46:26
menyalin: 1 Jumlah klik: 584
2
fokus pada
319
Pengikut

Strategi terobosan perdagangan kuantitatif: strategi pengoptimalan stop loss ATR dan kemiringan EMA untuk periode pertama Strategi terobosan perdagangan kuantitatif: strategi pengoptimalan stop loss ATR dan kemiringan EMA untuk periode pertama

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang dirancang khusus untuk perdagangan intraday, dengan ide inti yang berputar di sekitar tindakan harga di jam pertama pasar. Strategi ini membangun sistem perdagangan yang lengkap dengan mengidentifikasi titik tinggi dan rendah di jam pertama pasar sebagai tingkat penembusan utama, menggabungkan EMA (index moving average), VWAP (volume weighted average price) dan ATR (average true range) yang dinamis. Strategi ini berfokus pada pilihan untuk kembali ke kesempatan, yang hanya memungkinkan sinyal perdagangan untuk dipicu setelah jam pertama pasar berakhir.

Prinsip Strategi

Logika inti strategi dapat dibagi menjadi beberapa bagian utama:

  1. Saat ini, harga saham di Indonesia masih berada di level terendah.Strategi: Memantau dan mencatat harga tertinggi dan terendah dalam jam pertama setelah pasar dibuka (untuk 60 menit mulai dari 9:15), dua tingkat harga yang akan digunakan sebagai titik terobosan potensial.

  2. Perhitungan indikator teknis

    • Periode 9 EMA: Indikator cepat untuk tren harga
    • VWAP: Sebagai Referensi Tingkat Harga Pasar Secara Umum
    • Slip EMA: menghitung perbedaan antara EMA saat ini dan EMA periode sebelumnya untuk mengkonfirmasi arah tren
  3. Syarat masuk

    • Multiple entry: Harga mencapai puncaknya di jam pertama, sementara 9 EMA menggunakan VWAP, dan EMA bergeser positif
    • Masuk dengan posisi kosong: Harga melewati titik terendah jam pertama, sementara VWAP di bawah 9 EMA, dan kemiringan EMA negatif
    • Kedua persyaratan masuk memerlukan waktu satu jam pertama yang telah berakhir.
  4. Strategi Keluar

    • Stop loss: Stop loss dinamis berdasarkan ATR, 1 kali lipat dari ATR default
    • Stop loss: target persentase tetap, perubahan harga default 1%
  5. Manajemen dana

    • Strategi menggunakan 10% dari dana akun secara default untuk setiap transaksi

Konsep desain ini menggabungkan perdagangan terobosan, pengakuan tren, dan manajemen risiko dinamis untuk membentuk metode perdagangan yang lengkap dan sistematis. Strategi ini secara efektif mengurangi risiko terobosan palsu dengan meminta terobosan harga terjadi bersamaan dengan pengesahan indikator teknis.

Keunggulan Strategis

Dari analisis kode strategi ini, dapat disimpulkan beberapa keuntungan yang jelas:

  1. Waktu masuk yang tepatDengan menggunakan titik tinggi dan rendah pada jam pertama sebagai tingkat kunci, strategi dapat menangkap peluang terobosan penting dalam hari tersebut. Jam pertama pasar sering menetapkan zona perdagangan hari itu, dan menerobos level ini biasanya berarti ada dorongan dinamis yang kuat.

  2. Mekanisme multiple confirmationStrategi ini tidak hanya bergantung pada harga terobosan, tetapi juga meminta EMA untuk melakukan verifikasi silang dengan VWAP dan konsistensi arah pada kemiringan EMA. Filtrasi ganda ini sangat mengurangi sinyal palsu.

  3. Manajemen risiko dinamisDengan menggunakan ATR sebagai dasar stop loss, strategi ini dapat secara otomatis menyesuaikan jarak stop loss sesuai dengan volatilitas pasar, memberikan lebih banyak ruang napas pada harga saat fluktuasi besar, dan memperketat stop loss untuk melindungi keuntungan saat fluktuasi kecil.

  4. Aturan transaksi yang jelasStrategi ini mendefinisikan persyaratan masuk dan keluar yang jelas, mengurangi penilaian subjektif, dan membantu menjaga disiplin perdagangan.

  5. Fungsi bantuan visual: Kode berisi visualisasi dari sinyal dan level kunci, membantu trader memahami logika strategi secara intuitif dan memantau peluang perdagangan secara real-time.

  6. Beradaptasi dengan Perkembangan PasarDengan hanya mengizinkan masuk setelah jam pertama berakhir, strategi ini menghindari fluktuasi yang tidak teratur yang umum terjadi pada waktu bukaan dan berfokus pada pergerakan yang lebih mungkin untuk berlanjut.

Risiko Strategis

Meskipun strategi ini dirancang dengan baik, ada beberapa risiko dan keterbatasan potensial:

  1. Terlalu Bergantung pada Satu Periode WaktuTerlalu banyak bergantung pada titik tinggi dan rendah yang terbentuk di jam pertama, jika periode ini tidak representatif (misalnya, turun naik yang sangat rendah atau dipengaruhi oleh berita sementara), dapat menyebabkan penurunan kualitas sinyal perdagangan berikutnya.

  2. Keterbatasan rasio penghentian tetapTarget stop loss tetap: 1% mungkin tidak dapat disesuaikan dengan kondisi pasar yang berbeda dan aset yang berbeda. Pada hari-hari tren yang kuat, ini dapat menyebabkan keuntungan yang berakhir terlalu cepat dan kehilangan potensi keuntungan yang lebih besar.

  3. EMA dan VWAP risiko keterlambatanSebagai indikator keterlambatan, sinyal silang EMA dan VWAP mungkin muncul setelah harga telah mengalami terobosan yang signifikan, yang menyebabkan harga masuk yang tidak diinginkan.

  4. Tidak mempertimbangkan kondisi pasar secara keseluruhanStrategi tidak memasukkan penilaian lingkungan pasar yang lebih luas (seperti tren pasar secara keseluruhan, lingkungan volatilitas, atau analisis relevansinya), dan mungkin tidak berkinerja baik dalam kondisi pasar tertentu.

  5. Tantangan dalam melaksanakan strategi sehari-hariSebagai strategi intraday, permintaan untuk efisiensi eksekusi yang lebih tinggi dan slippage yang lebih rendah dapat menjadi tantangan dalam transaksi yang sebenarnya.

Untuk mengurangi risiko ini, disarankan untuk:

  • Kombinasi dengan kondisi penyaringan teknis atau dasar lainnya
  • ATR Multiples dan Stop Loss Target disesuaikan dengan karakteristik aset
  • Pertimbangkan untuk meningkatkan waktu penyaringan dan hindari berdagang pada waktu yang tidak efisien
  • Pengukuran kembali secara berkala dan menyesuaikan parameter sesuai dengan perubahan pasar

Arah optimasi strategi

Berdasarkan analisis logika strategi dan potensi risiko, berikut adalah beberapa arah optimasi yang perlu dipertimbangkan:

  1. Penyesuaian parameter adaptasi

    • Mengatur ATR secara otomatis berdasarkan volatilitas historis
    • Set stop loss target berdasarkan karakteristik aset atau kondisi pasar yang dinamis
    • Mempertimbangkan siklus EMA yang dapat disesuaikan untuk menyesuaikan diri dengan kondisi pasar yang berbeda
  2. Meningkatkan filter lingkungan pasar

    • Termasuk dalam penilaian tren pasar secara keseluruhan, seperti arah indeks
    • Menambahkan filter volatilitas, menyesuaikan perilaku kebijakan selama fluktuasi yang sangat tinggi atau sangat rendah
    • Pertimbangkan penyaringan waktu dan hindari periode transaksi yang tidak efisien
  3. Optimalkan Logika Jam Pertama

    • Uji definisi jam awal yang berbeda (misalnya 30 menit, 45 menit, atau 90 menit)
    • Pertimbangkan untuk menggunakan struktur harga jam pertama, bukan hanya harga tinggi dan rendah
    • Menjelajahi hubungan antara penutupan dan pembukaan hari perdagangan sebelumnya sebagai filter tambahan
  4. Peningkatan mekanisme pertandingan

    • Pelacakan stop loss untuk melindungi keuntungan dan memungkinkan tren berlanjut
    • Tes berdasarkan indikator teknis (seperti EMA reverse crossover)
    • Pertimbangkan strategi untuk mendapatkan sebagian keuntungan, dan tutup sebagian posisi ketika mencapai tujuan tertentu
  5. Meningkatkan manajemen risiko

    • Skala posisi berdasarkan ekspektasi fluktuasi harian
    • Mencapai batas kerugian harian untuk mengendalikan risiko keseluruhan
    • Mempertimbangkan manajemen risiko adaptif berdasarkan hasil transaksi masa lalu

Tujuan dari orientasi optimasi ini adalah untuk mempertahankan logika inti dari strategi dan meningkatkan adaptasi dan stabilitasnya, sehingga dapat tetap efektif dalam kondisi pasar yang lebih luas.

Meringkaskan

Strategi Optimasi Stop Loss ATR dan EMA adalah sistem perdagangan kuantitatif intraday yang terstruktur dengan baik, yang menyediakan metode perdagangan yang sistematis bagi para pedagang dengan menggabungkan penembusan tinggi dan rendah jam pertama, konfirmasi indikator teknis, dan manajemen risiko dinamis. Keuntungan terbesar dari strategi ini adalah mekanisme konfirmasi ganda dan aturan perdagangan yang jelas, yang membantu mengurangi sinyal palsu dan mempertahankan disiplin perdagangan.

Namun, ada juga beberapa keterbatasan dari strategi, seperti ketergantungan yang berlebihan pada satu periode waktu dan masalah adaptasi dari target stop-loss yang tetap. Dengan menerapkan langkah-langkah optimasi yang disarankan, seperti penyesuaian parameter yang disesuaikan, penambahan filter lingkungan pasar, dan perbaikan mekanisme keluar, pedagang dapat meningkatkan lebih lanjut kehandalan dan adaptasi strategi.

Secara keseluruhan, ini adalah strategi perdagangan yang memiliki dasar yang kuat dan jelas, sangat cocok untuk pedagang kuantitatif yang tertarik pada perdagangan intraday. Dengan penyesuaian dan pengoptimalan parameter yang tepat, ini memiliki potensi untuk menjadi alat yang efektif dalam portofolio perdagangan.

Kode Sumber Strategi
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("FnO Intraday Strategy with ATR SL, EMA Slope & Signals", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// INPUTS
atrPeriod      = input.int(14, "ATR Period")
atrMultiplier  = input.float(1.0, "ATR Stop Loss Multiplier", step=0.1)
targetPercent  = input.float(1.0, "Profit Target (%)", step=0.1) * 0.01

// Define session start and first candle period (for Indian market, session starts at 09:15)
sessionStartHour   = input.int(9, "Session Start Hour", minval=0, maxval=23)
sessionStartMinute = input.int(15, "Session Start Minute", minval=0, maxval=59)
firstCandleMins    = 60  // First candle duration in minutes

// Compute today's session start and first candle end timestamps
currYear  = year(time)
currMonth = month(time)
currDay   = dayofmonth(time)
sessionStartTS = timestamp(currYear, currMonth, currDay, sessionStartHour, sessionStartMinute)
sessionEndTS   = sessionStartTS + firstCandleMins * 60 * 1000  // PineScript time is in ms

// INITIALIZE first-hour high/low (reset at the start of each day)
var float firstHourHigh = na
var float firstHourLow  = na
if (ta.change(time("D")))
    firstHourHigh := na, firstHourLow := na

// Update first-hour high/low while within the first candle period
if (time >= sessionStartTS and time <= sessionEndTS)
    firstHourHigh := na(firstHourHigh) ? high : math.max(firstHourHigh, high)
    firstHourLow  := na(firstHourLow)  ? low  : math.min(firstHourLow, low)

// Plot the first-hour high and low once the first candle period is over
plot(time > sessionEndTS ? firstHourHigh : na, title="First Hour High", color=color.green, style=plot.style_linebr)
plot(time > sessionEndTS ? firstHourLow  : na, title="First Hour Low",  color=color.red,   style=plot.style_linebr)

// Calculate indicators: 9 EMA, VWAP, and EMA slope
ema9    = ta.ema(close, 9)
vwapVal = ta.vwap(hlc3)  // Using typical price for VWAP calculation
emaSlope = ema9 - ema9[1]

// Define "first hour complete" flag so entries only occur after the first candle period
firstHourComplete = time > sessionEndTS

// ENTRY CONDITIONS
// Long: Price breaks above first-hour high, and 9 EMA crosses above VWAP with a positive slope.
longBreakout       = ta.crossover(close, firstHourHigh)
longEMAConfirmation = ta.crossover(ema9, vwapVal) and (emaSlope > 0)
longCondition      = firstHourComplete and longBreakout and longEMAConfirmation

// Short: Price breaks below first-hour low, and 9 EMA crosses below VWAP with a negative slope.
shortBreakout       = ta.crossunder(close, firstHourLow)
shortEMAConfirmation = ta.crossunder(ema9, vwapVal) and (emaSlope < 0)
shortCondition      = firstHourComplete and shortBreakout and shortEMAConfirmation

// Generate entries
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Add buy and sell signals on the chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Calculate ATR for dynamic stop loss
atrValue = ta.atr(atrPeriod)

// Set exits using ATR-based stop loss and fixed profit target (1% gain)
if (strategy.position_size > 0)
    longStop   = strategy.position_avg_price - atrValue * atrMultiplier
    longTarget = strategy.position_avg_price * (1 + targetPercent)
    strategy.exit("Long Exit", from_entry="Long", stop=longStop, limit=longTarget)
if (strategy.position_size < 0)
    shortStop   = strategy.position_avg_price + atrValue * atrMultiplier
    shortTarget = strategy.position_avg_price * (1 - targetPercent)
    strategy.exit("Short Exit", from_entry="Short", stop=shortStop, limit=shortTarget)

// Plot EMA and VWAP for visual confirmation
plot(ema9, title="9 EMA", color=color.blue)
plot(vwapVal, title="VWAP", color=color.orange)