Strategi terobosan dagangan kuantitatif: Henti rugi ATR dan strategi pengoptimuman cerun EMA untuk tempoh pertama

ATR VWAP EMA SL TP
Tarikh penciptaan: 2025-02-28 09:46:26 Akhirnya diubah suai: 2025-02-28 09:46:26
Salin: 1 Bilangan klik: 584
2
fokus pada
319
Pengikut

Strategi terobosan dagangan kuantitatif: Henti rugi ATR dan strategi pengoptimuman cerun EMA untuk tempoh pertama Strategi terobosan dagangan kuantitatif: Henti rugi ATR dan strategi pengoptimuman cerun EMA untuk tempoh pertama

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan kuantitatif yang direka khusus untuk perdagangan dalam hari, dengan pemikiran teras yang berpusat pada tindakan harga pada jam pertama pasaran. Strategi ini membina sistem perdagangan yang lengkap dengan mengenal pasti titik tinggi dan rendah pada jam pertama pasaran sebagai tahap penembusan utama, digabungkan dengan EMA, VWAP, dan dinamika ATR. Strategi ini memberi tumpuan khusus kepada pilihan untuk kembali ke peluang, yang hanya membenarkan isyarat perdagangan untuk dicetuskan setelah jam pertama pasaran berakhir.

Prinsip Strategi

Logik teras strategi boleh dibahagikan kepada beberapa bahagian utama:

  1. Tempoh tertinggi dan terendah di jam pertamaStrategi: Memantau dan merekodkan harga tertinggi dan terendah pada jam pertama selepas pasaran dibuka (60 minit bermula dari 9:15), dua tahap harga yang akan digunakan sebagai titik penembusan yang berpotensi.

  2. Pengiraan penunjuk teknikal

    • 9 EMA kitaran: sebagai penunjuk laju trend harga
    • VWAP: sebagai rujukan kepada tahap harga keseluruhan pasaran
    • Slip EMA: mengira perbezaan EMA semasa dengan EMA tempoh sebelumnya untuk memastikan arah trend
  3. Syarat kemasukan

    • Masukkan pelbagai mata: Harga mencecah paras tertinggi dalam satu jam pertama, sementara 9 EMA menggunakan VWAP, dan EMA bersandar positif
    • Kemasukan kosong: Harga menembusi paras terendah dalam satu jam pertama, sementara 9 EMA menembusi VWAP, dan kemerosotan EMA negatif
    • Kedua-dua syarat kemasukan memerlukan tempoh satu jam pertama telah tamat.
  4. Strategi keluar

    • Hentikan: Hentikan dinamik berdasarkan ATR, 1 kali ganda ATR secara lalai
    • Hentikan: Tetapkan sasaran peratusan, implisit 1% perubahan harga
  5. Pengurusan wang

    • Strategi menggunakan 10% dana akaun secara lalai untuk setiap urus niaga

Konsep reka bentuk ini menggabungkan perdagangan terobosan, pengesahan trend dan pengurusan risiko dinamik untuk membentuk kaedah perdagangan yang lengkap dan sistematik. Dengan meminta harga terobosan dan pengesahan petunjuk teknikal berlaku pada masa yang sama, strategi ini berkesan mengurangkan risiko terobosan palsu.

Kelebihan Strategik

Dengan mengkaji kod strategi ini secara mendalam, beberapa kelebihan yang jelas dapat dirumuskan:

  1. Masa kemasukan yang tepatDengan menggunakan paras tinggi dan rendah pada jam pertama sebagai tahap penting, strategi dapat menangkap peluang penembusan penting pada hari itu. Jam pertama pasaran sering menetapkan kawasan dagangan pada hari itu, dan penembusan tahap ini biasanya bermaksud dorongan yang kuat.

  2. Mekanisme pengesahan bergandaStrategi ini tidak hanya bergantung pada harga yang terganggu, tetapi juga memerlukan EMA untuk mengesahkan silang dengan VWAP dan kesesuaian arah pada kemerosotan EMA. Penapisan berganda ini mengurangkan banyak isyarat palsu.

  3. Pengurusan risiko dinamikDengan menggunakan ATR sebagai asas berhenti, strategi ini dapat menyesuaikan jarak berhenti secara automatik mengikut turun naik pasaran, memberikan lebih banyak ruang nafas kepada harga apabila turun naik lebih besar, dan mengetatkan berhenti untuk melindungi keuntungan apabila turun naik lebih kecil.

  4. Peraturan perdagangan yang jelasStrategi ini menentukan syarat masuk dan keluar yang jelas, mengurangkan penilaian subjektif, dan membantu mengekalkan disiplin perdagangan.

  5. Fungsi bantuan visual: Kod mengandungi penanda isyarat dan visualisasi tahap penting untuk membantu peniaga memahami logik strategi secara intuitif dan memantau peluang perdagangan dalam masa nyata.

  6. Menyesuaikan diri dengan pasaranDengan hanya membenarkan masuk selepas jam pertama, strategi ini mengelakkan pergerakan yang tidak teratur yang biasa berlaku pada waktu pembukaan dan memberi tumpuan kepada pergerakan yang lebih berkemungkinan berterusan.

Risiko Strategik

Walaupun strategi ini direka dengan baik, terdapat beberapa risiko dan batasan yang berpotensi:

  1. Terlalu bergantung pada satu tempoh masaTerlalu banyak bergantung pada kenaikan dan penurunan yang berlaku pada jam pertama, jika tempoh itu tidak mewakili (misalnya, turun naik yang luar biasa atau dipengaruhi oleh berita sementara), ia boleh menyebabkan penurunan kualiti isyarat perdagangan seterusnya.

  2. Batasan nisbah penangguhan tetapSasaran penangguhan tetap 1: 1% mungkin tidak dapat disesuaikan dengan keadaan pasaran yang berbeza dan aset yang berbeza yang tidak menentu. Pada hari trend yang kuat, ini mungkin menyebabkan keuntungan yang terlalu awal berakhir dan kehilangan potensi keuntungan yang lebih besar.

  3. Risiko kelewatan EMA dan VWAPSebagai penunjuk ketinggalan, isyarat silang EMA dan VWAP mungkin muncul selepas harga telah melangkaui secara ketara, menyebabkan harga masuk tidak sesuai.

  4. Tidak mempertimbangkan keadaan keseluruhan pasaranStrategi tidak memasukkan penilaian persekitaran pasaran yang lebih luas (seperti trend pasaran keseluruhan, persekitaran yang tidak menentu atau analisis hubungan) yang mungkin tidak berfungsi dengan baik dalam keadaan pasaran tertentu.

  5. Cabaran dalam melaksanakan strategi hari iniSebagai strategi dalam hari, ia memerlukan kecekapan pelaksanaan yang lebih tinggi dan titik slippage yang lebih rendah, yang mungkin menjadi cabaran dalam perdagangan sebenar.

Untuk mengurangkan risiko ini, disyorkan untuk:

  • Gabungan dengan syarat penapisan teknikal atau asas lain
  • Menyesuaikan ATR dan sasaran penangguhan mengikut ciri-ciri aset
  • Pertimbangkan untuk menambah penapisan masa untuk mengelakkan dagangan pada masa yang tidak cekap
  • Pengukuran semula secara berkala dan penyesuaian parameter mengikut perubahan pasaran

Arah pengoptimuman strategi

Berdasarkan analisis logik strategi dan potensi risiko, berikut adalah beberapa arah pengoptimuman yang perlu dipertimbangkan:

  1. Penyesuaian parameter

    • Menyesuaikan ATR secara automatik mengikut turun naik sejarah
    • Tetapkan sasaran penangguhan berdasarkan ciri-ciri aset atau keadaan pasaran yang dinamik
    • Pertimbangkan untuk mencapai kitaran EMA yang menyesuaikan diri untuk menyesuaikan diri dengan keadaan pasaran yang berbeza
  2. Menambah penapisan persekitaran pasaran

    • Mengintegrasikan penilaian trend pasaran keseluruhan, seperti arah indeks
    • Menambah penapis turun naik untuk menyesuaikan tingkah laku strategi semasa turun naik yang sangat tinggi atau sangat rendah
    • Pertimbangkan penapisan masa dan elakkan tempoh perdagangan yang kurang cekap
  3. Mengoptimumkan logik jam pertama

    • Uji definisi jam awal yang berbeza (seperti 30 minit, 45 minit atau 90 minit)
    • Pertimbangkan untuk menggunakan struktur harga pada jam pertama dan bukan hanya tinggi dan rendah
    • Meneroka hubungan antara penutupan dan pembukaan hari dagangan sebelumnya sebagai penapis tambahan
  4. Peningkatan mekanisme perlawanan

    • Mempunyai tracking stop loss untuk melindungi keuntungan dan membenarkan trend berterusan
    • Uji based on technical indicators (seperti EMA reverse crossover)
    • Pertimbangkan untuk mengambil bahagian dalam strategi keuntungan, untuk melonggarkan sebahagian daripada kedudukan apabila mencapai matlamat tertentu
  5. Meningkatkan pengurusan risiko

    • Mengubah saiz kedudukan berdasarkan jangkaan turun naik harian
    • Mencapai had kerugian harian untuk mengawal risiko keseluruhan
    • Pertimbangkan pengurusan risiko yang bersesuaian berdasarkan hasil urus niaga yang lalu

Arahan pengoptimuman ini bertujuan untuk mengekalkan logik teras strategi sambil meningkatkan daya serap dan kestabilan yang membolehkan ia kekal berkesan dalam keadaan pasaran yang lebih luas.

ringkaskan

Strategi pengoptimuman hentian ATR dan kemerosotan EMA pada jam pertama adalah sistem perdagangan kuantitatif dalam masa sehari yang tersusun dengan baik, yang menyediakan cara perdagangan yang sistematis kepada peniaga dengan menggabungkan penembusan paras tinggi dan rendah pada jam pertama, pengesahan petunjuk teknikal dan pengurusan risiko dinamik. Kelebihan terbesar strategi ini adalah mekanisme pengesahan berganda dan peraturan perdagangan yang jelas, yang membantu mengurangkan isyarat palsu dan mengekalkan disiplin perdagangan.

Walau bagaimanapun, strategi juga mempunyai beberapa batasan, seperti masalah kesesuaian yang terlalu bergantung pada satu tempoh masa dan sasaran penangguhan tetap. Dengan melaksanakan langkah-langkah pengoptimuman yang disyorkan, seperti penyesuaian parameter yang disesuaikan, peningkatan penapisan keadaan pasaran dan peningkatan mekanisme keluar, peniaga dapat meningkatkan lagi strategi yang kuat dan bersesuaian.

Secara keseluruhannya, ini adalah strategi perdagangan yang kuat dan jelas, yang sangat sesuai untuk pedagang kuantitatif yang berminat untuk berdagang dalam sehari. Dengan penyesuaian dan pengoptimuman parameter yang sesuai, ia berpotensi menjadi alat yang berkesan dalam portfolio perdagangan.

Kod 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)