
Strategi ini adalah sistem perdagangan dalam talian pendek harian berdasarkan petunjuk teknikal, yang digunakan untuk menentukan isyarat perdagangan dengan menggunakan hubungan antara purata bergerak indeks 20 kitaran ((EMA 20) dan purata purata purata purata purata purata ((VWAP) berdasarkan perhitungan harga tipikal. Strategi ini menggunakan hentian dinamik dan tetapan keuntungan sasaran, dengan ukuran ATR (rata-rata gelombang sebenar) dan badan senjata (bumbung isyarat) untuk mengira nisbah risiko dan pulangan dengan tepat, untuk mencapai keseimbangan antara kawalan risiko dan pengoptimuman keuntungan.
Prinsip-prinsip utama strategi ini adalah berdasarkan hubungan silang antara dua garis rata-rata (EMA 20 dan VWAP yang ditetapkan) dan interaksi harga dengan garis rata-rata ini. Secara khusus:
Sistem penjanaan isyarat masuk:
Penggunaan harga tipikalStrategi: Menggunakan harga tipikal ((harga tinggi + harga rendah + harga penutupan) / 3 untuk mengira VWAP, yang memberikan maklumat harga yang lebih komprehensif daripada hanya menggunakan harga penutupan.
VWAP ditetapkan dalam masa terdekat:VWAP diset semula pada permulaan setiap hari perdagangan, memastikan indikator mencerminkan hubungan harga dan jumlah dagangan pada hari itu, sesuai untuk digunakan oleh peniaga dalam hari tersebut.
Pengurusan risiko dinamik:
Nisbah risiko-balasStrategi ini menggunakan nisbah ganjaran risiko 1:3 secara lalai, iaitu keuntungan yang berpotensi adalah tiga kali ganda daripada risiko yang berpotensi, yang sesuai dengan standard pengurusan risiko peniaga profesional.
Keunggulan penggabungan penunjuk teknikal komprehensifGabungan antara keupayaan EMA untuk mengesan trend dan kelebihan berat VWAP menjadikan isyarat lebih dipercayai.
Hentikan Kerosakan Dinamis Untuk Menghadapi Ketidakstabilan PasaranDengan menggunakan ATR untuk mengira kedudukan hentian, titik hentian dapat disesuaikan secara automatik dengan keadaan pasaran yang sebenarnya berfluktuasi, mengelakkan ketidakcocokan titik hentian tetap dalam persekitaran yang berfluktuasi yang berbeza.
Sasaran berdasarkan saiz badanMenggunakan saiz sebenar tanda tanda untuk menentukan harga sasaran, kaedah ini dapat menyesuaikan diri dengan ciri-ciri turun naik pasaran semasa, menetapkan sasaran yang lebih jauh pada turun naik yang besar, menetapkan sasaran yang lebih dekat pada turun naik yang kecil.
Pengiraan semula VWAP dalam sehariVWAP dikira semula setiap hari perdagangan, mengelakkan gangguan data sejarah pada hari perdagangan semasa, dan memberikan rujukan harga dalam hari yang lebih jelas.
Mekanisme pengesahan bergandaKeperluan gabungan antara persilangan garis rata dan persilangan harga mengurangkan kemungkinan isyarat palsu dan meningkatkan ketepatan perdagangan.
Kesan visual yang intuitifStrategi menyediakan tanda-tanda grafik yang jelas, termasuk isyarat beli dan jual, berhenti dan garis harga sasaran, yang membolehkan peniaga memahami dan melaksanakan keputusan perdagangan secara intuitif.
Risiko ketinggalan rata-rataWalaupun EMA bertindak balas lebih cepat daripada purata bergerak sederhana, terdapat beberapa ketidakselesaan yang boleh menyebabkan kehilangan titik masuk terbaik atau menghasilkan isyarat kelewatan dalam pasaran yang berubah dengan cepat.
Pengiraan VWAP bergantung kepada jumlah transaksiDalam keadaan yang tidak normal dalam jumlah transaksi, seperti transaksi besar oleh institusi besar, VWAP mungkin mengalami penyimpangan yang mempengaruhi ketepatan isyarat.
Risiko frekuensi daganganDalam pasaran yang bergolak, garis rata mungkin sering bercampur, menyebabkan perdagangan berlebihan dan meningkatkan kos transaksi.
Hentikan risiko pemicu kerosakan: Pasaran mungkin akan mengalami kenaikan harga dalam jangka pendek, dan selepas mencetuskan stop loss, ia akan kembali ke arah trend asal, menyebabkan kerugian yang tidak perlu.
Batasan yang ditetapkan oleh harga sasaranPenetapan sasaran berdasarkan saiz badan tunggal mungkin tidak mencukupi untuk semua keadaan pasaran, terutamanya apabila struktur pasaran berubah.
Penyelesaian:
Optimumkan parameter:
Tambah penapis persekitaran pasaran:
Penapisan masa:
Pengoptimuman Stop Loss:
Integrasi analisis pelbagai kerangka masa:
Pelaksanaan arah pengoptimuman ini dapat meningkatkan kestabilan dan keuntungan strategi dengan ketara, tetapi perlu berhati-hati agar pengoptimuman berlebihan tidak menyebabkan masalah overfit. Setiap penambahbaikan harus disahkan keberkesanannya melalui pengujian kembali dan pengujian ke hadapan yang ketat.
Strategi Kuantitatif Hentian Hilang Dinamis Dalam Hari VWAP adalah sistem perdagangan komprehensif yang menggabungkan pelbagai alat analisis teknikal. Ia mengenal pasti peluang perdagangan yang berpotensi melalui hubungan antara EMA 20 dan VWAP yang dikira pada harga tipikal, dan menggunakan mekanisme pengurusan risiko dinamik berdasarkan ATR dan saiz badan kerucut untuk mengawal risiko dan mengoptimumkan keuntungan.
Kelebihan utama strategi ini adalah keupayaannya untuk menyesuaikan diri dengan turun naik pasaran, dan kebolehpercayaan isyarat yang disediakan dalam kombinasi pelbagai petunjuk teknikal. Walau bagaimanapun, ia juga menghadapi risiko seperti ketinggalan rata-rata dan perdagangan berlebihan, yang perlu dikurangkan dengan syarat penapisan tambahan dan pengoptimuman parameter.
Bagi peniaga harian, strategi ini menyediakan kerangka perdagangan yang sistematik, yang sangat sesuai untuk peniaga yang ingin menangkap peluang pasaran jangka pendek sambil mengekalkan kawalan risiko yang wajar. Dengan pengesanan, pengoptimuman dan amalan yang berterusan, peniaga dapat memperbaiki strategi ini menjadi sistem perdagangan yang diperibadikan dan stabil, berdasarkan kebolehan risiko dan matlamat perdagangan mereka.
/*backtest
start: 2024-07-25 00:00:00
end: 2025-07-23 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("EMA 20 and Anchored VWAP with Typical Price", overlay=true)
// === INPUTS ===
emaLength = input.int(20, title="EMA Length")
atrMultiplier = input.float(2.0, title="Stop Loss Multiplier (x ATR)", minval=1)
riskRewardRatio = input.float(3.0, title="Risk/Reward Ratio", minval=1, step=0.1) // 1:3 Risk/Reward Ratio
// === CALCULATIONS ===
// EMA 20
ema20 = ta.ema(close, emaLength)
// === TYPICAL PRICE ===
typicalPrice = (high + low + close) / 3
// === VWAP CALCULATION (ANCHOR PERIOD = SESSION) ===
// Reset at the start of each session (new day)
var float cumPriceVol = na
var float cumVol = na
if (dayofweek != dayofweek[1]) // Reset at the start of each day
cumPriceVol := typicalPrice * volume
cumVol := volume
else
cumPriceVol := cumPriceVol + (typicalPrice * volume)
cumVol := cumVol + volume
vwap = cumPriceVol / cumVol // VWAP = cumulative price-volume / cumulative volume
// ATR Calculation
atr = ta.atr(14)
// === BUY CONDITIONS ===
// EMA 20 above VWAP and close crosses EMA 20 from below, OR EMA 20 crosses VWAP from below
buyCondition = (ema20 > vwap and ta.crossover(close, ema20)) or ta.crossover(ema20, vwap)
// === SELL CONDITIONS ===
// EMA 20 below VWAP and close crosses EMA 20 from above, OR EMA 20 crosses VWAP from above
sellCondition = (ema20 < vwap and ta.crossunder(close, ema20)) or ta.crossunder(ema20, vwap)
// === STOP LOSS and TARGET ===
// Buy Stop Loss and Target calculation (Weapon Candle is the signal candle)
buyStopLoss = close - atr * atrMultiplier
// Weapon Candle (signal candle) for Buy
weaponCandleSize = high - low
buyTarget = high + 2 * weaponCandleSize // Target = High of weapon candle + 2 * candle size
// Sell Stop Loss and Target calculation (Weapon Candle is the signal candle)
sellStopLoss = close + atr * atrMultiplier
// Weapon Candle (signal candle) for Sell
weaponCandleSizeSell = high - low
sellTarget = low - 2 * weaponCandleSizeSell // Target = Low of weapon candle - 2 * candle size
// === EXECUTE STRATEGY (Buy and Sell) ===
// Buy order entry
if (buyCondition)
strategy.entry("Buy", strategy.long, stop=buyStopLoss, limit=buyTarget)
// Sell order entry
if (sellCondition)
strategy.entry("Sell", strategy.short, stop=sellStopLoss, limit=sellTarget)
// === PLOTS ===
// Plot EMA 20
plot(ema20, color=color.blue, title="EMA 20", linewidth=2)
// Plot VWAP
plot(vwap, color=color.orange, title="Session Anchored VWAP", linewidth=2)
// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// === BACKGROUND COLORS ===
bgcolor(buyCondition ? color.new(color.green, 90) : na, title="Buy Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, title="Sell Background")