
Strategi penembusan harga VWMA dinamik atas ke bawah adalah sistem perdagangan kuantitatif berdasarkan purata bergerak bertimbangan kuantitatif (VWMA) pada masa perdagangan dalam hari. Strategi ini sangat sesuai untuk jangka masa 1 minit, menghasilkan isyarat beli dan jual dengan memantau hubungan antara harga dan VWMA yang disetel semula setiap hari perdagangan. Logik teras strategi adalah untuk mencetuskan isyarat perdagangan apabila harga benar-benar menembusi VWMA. Secara khusus, isyarat beli dihasilkan apabila harga terendah di carta adalah lebih tinggi daripada VWMA dan isyarat jual dihasilkan apabila harga teratas di carta adalah lebih rendah daripada VWMA.
Prinsip teras strategi ini adalah menggunakan VWMA yang dikira semula setiap hari perdagangan sebagai garis rujukan dinamik untuk mengenal pasti peluang perdagangan yang berpotensi melalui hubungan harga dengan kedudukan relatif garis rujukan tersebut. Prinsip kerja terperinci strategi adalah seperti berikut:
Pengiraan VWMA pada masa daganganStrategi: Menggunakan penunjuk VWMA dengan panjang 55, tetapi tidak seperti VWMA tradisional, penunjuk ini disusun semula pada permulaan setiap hari perdagangan untuk memastikan VWMA lebih tepat mencerminkan sentimen pasaran pada hari itu.
Mekanisme penjanaan isyarat:
Logik kawalan transaksiStrategi ini mewujudkan mekanisme kawalan perdagangan pintar untuk mengelakkan masuk semula isyarat yang sama, iaitu, selepas membeli isyarat mesti ada isyarat yang dijual untuk membeli lagi, dan sebaliknya.
Penutupan simpanan automatikStrategi: Secara automatik, semua pegangan anda akan dipadamkan pada pukul 15:29 setiap hari (waktu India), memastikan bahawa anda tidak memegang kedudukan malam, dan mengelakkan risiko malam.
Pengurusan pelbagai kedudukanStrategi: Membantu penambahan simpanan seperti piramid sehingga 10 tingkat, pengurusan wang menggunakan 10% daripada kepentingan akaun untuk mengawal kedudukan.
Setelah menganalisis kod secara mendalam, strategi ini menunjukkan kelebihan yang ketara:
Kebolehan beradaptasiDengan menetapkan semula perhitungan VWMA pada setiap hari dagangan, strategi dapat menyesuaikan diri dengan lebih baik dengan keadaan pasaran harian dan tidak terlalu dipengaruhi oleh data sejarah.
Isyarat masuk yang jelasStrategi yang memerlukan harga untuk menembusi VWMA sepenuhnya sebelum mencetuskan isyarat, mengurangkan kesalahan dalam penembusan palsu dan pergerakan goyah.
Kawalan arahMelalui logik kawalan perdagangan, strategi mengelakkan kemasukan berturut-turut dalam arah yang sama, dan memerlukan perubahan arah untuk masuk semula, yang berkesan mengurangkan risiko perdagangan yang kerap.
Kawalan RisikoMekanisme penutupan automatik pada waktu tetap setiap hari berkesan mengelakkan risiko malam hari, sesuai untuk peniaga garis pendek pada siang hari.
Potensi kadar kemenangan yang tinggiMenurut penerangan strategi, terutamanya isyarat jual-menjual yang berprestasi baik, mempunyai kadar kemenangan lebih daripada 65%, memberikan peluang yang lebih tinggi kepada peniaga untuk berjaya.
Pengurusan kedudukan yang fleksibel: Menyokong strategi menaikkan kedudukan seperti piramid, yang dapat meningkatkan kedudukan dan memaksimumkan potensi keuntungan apabila trend berterusan.
Walaupun terdapat banyak kelebihan, strategi ini mempunyai risiko yang berpotensi:
Keterbatasan jangka masaStrategi ini menyatakan dengan jelas bahawa 1 minit adalah tempoh masa yang paling sesuai, dan ia mungkin tidak berfungsi dengan baik pada tempoh masa yang lain, yang mengehadkan senario penggunaan strategi.
Sinyal pembelian agak lemahGambaran strategi: Sinyal beli perlu menetapkan titik berhenti dan berhenti yang tetap, yang bermaksud bahawa sinyal beli kurang dipercayai daripada sinyal jual, yang boleh menyebabkan keuntungan operasi beli terhad.
Keperluan pasaranVWMA sebagai penunjuk utama mungkin menghasilkan banyak isyarat palsu dalam pasaran yang bergolak, dan strategi mungkin lebih baik dalam pasaran yang sedang tren.
Risiko penutupan masa tetap: Tetap pada kedudukan kosong pada 15:29 mungkin menyebabkan keluar awal dalam keadaan yang menguntungkan, kehilangan sebahagian peluang keuntungan.
Kepekaan ParameterPanjang VWMA: 55 adalah parameter tetap, keadaan pasaran yang berbeza mungkin memerlukan tetapan parameter yang berbeza, dan parameter tetap mungkin tidak sesuai untuk semua keadaan pasaran.
Cara untuk mengurangkan risiko:
Berdasarkan analisis kod, strategi ini boleh dioptimumkan dalam beberapa arah:
Menambah penapisan persekitaran pasaran: Memperkenalkan indikator kadar turun naik atau kekuatan trend sebagai syarat penapisan, menghasilkan isyarat hanya dalam keadaan pasaran yang sesuai, contohnya dengan penunjuk ATR atau ADX untuk menentukan sama ada pasaran semasa sesuai untuk strategi tersebut.
Optimumkan parameter VWMA: Mampu menyesuaikan diri dengan panjang VWMA, menyesuaikan parameter mengikut dinamik turun naik pasaran, menjadikan strategi lebih sesuai dengan keadaan pasaran yang berbeza. Ini boleh dicapai dengan menghubungkan panjang VWMA dengan kadar turun naik pasaran.
Mekanisme pengesahan isyarat yang dipertingkat: memperkenalkan penunjuk teknikal tambahan atau model harga sebagai syarat pengesahan, meningkatkan kualiti isyarat. Sebagai contoh, pengesahan isyarat boleh dilakukan dengan penunjuk seperti RSI, MACD.
Peningkatan strategi penyelesaianSebagai tambahan kepada kedudukan terpadat tetap, tambah peraturan kedudukan terpadat dinamik berdasarkan keadaan pasaran, seperti penarikan balik keuntungan, pencapaian sasaran atau pembalikan petunjuk teknikal.
Pemprosesan isyarat jual beli yang berbezaPembangunan strategi pengurusan yang disasarkan untuk ciri-ciri prestasi yang berbeza untuk isyarat membeli dan menjual, seperti pengurusan kedudukan yang lebih konservatif dan strategi berhenti yang lebih ketat untuk isyarat membeli.
Pengurusan wang yang lebih baik: Mempunyai mekanisme pengurusan dana yang lebih fleksibel, menyesuaikan peratusan dana untuk setiap urus niaga mengikut kekuatan isyarat, turun naik pasaran dan pergerakan sejarah.
Arahan pengoptimuman ini bertujuan untuk meningkatkan kestabilan dan kebolehlakuan strategi, sambil mengekalkan ciri-ciri kemenangan yang tinggi.
Strategi penembusan harga dinamik VWMA ke atas dan ke bawah pada masa perdagangan adalah sistem perdagangan dalam hari yang direka dengan baik, menghasilkan isyarat perdagangan dengan menggunakan VWMA yang disusun semula setiap hari sebagai garis rujukan dinamik, digabungkan dengan syarat harga sepenuhnya menembusi garis rujukan tersebut. Strategi ini sangat sesuai untuk jangka masa 1 minit, dan isyarat jualannya sangat baik, dengan kadar kemenangan lebih dari 65%.
Kelebihan utama strategi adalah kesesuaian dengan keadaan pasaran pada hari itu, syarat kemasukan yang jelas dan mekanisme kawalan risiko yang berkesan. Walau bagaimanapun, strategi juga mempunyai risiko yang berpotensi seperti batasan jangka masa, isyarat pembelian yang agak lemah dan ketergantungan pada keadaan pasaran.
Strategi ini mempunyai potensi untuk meningkatkan lagi kestabilan dan keuntungan dengan menambah penapisan keadaan pasaran, mewujudkan parameter penyesuaian, meningkatkan mekanisme pengesahan isyarat, dan meningkatkan strategi kedudukan kosong. Secara keseluruhan, ini adalah strategi perdagangan yang jelas dan logik, yang sangat sesuai untuk pedagang dalam sehari yang mencari kemenangan yang tinggi dan mengawal risiko.
Bagi peniaga yang ingin menggunakan strategi ini, disarankan untuk terlebih dahulu menguji sepenuhnya dalam persekitaran simulasi, memberi perhatian khusus kepada prestasi isyarat beli, dan menyesuaikan tetapan parameter dan peraturan pengurusan wang mengikut kebolehan risiko dan matlamat perdagangan mereka.
/*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("SVWMA Lx", overlay=true, initial_capital=100000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=10, calc_on_every_tick=true)
//──────────────────────────────
// Session VWMA Inputs
//──────────────────────────────
vwmaLen = input.int(55, title="VWMA Length", inline="VWMA", group="Session VWMA")
vwmaColor = input.color(color.orange, title="VWMA Color", inline="VWMA", group="Session VWMA", tooltip="VWMA resets at the start of each session (at the opening of the day).")
//──────────────────────────────
// Session VWMA Calculation Function
//──────────────────────────────
day_vwma(_start, s, l) =>
bs_nd = ta.barssince(_start)
v_len = math.max(1, bs_nd < l ? bs_nd : l)
ta.vwma(s, v_len)
//──────────────────────────────
// Determine Session Start
//──────────────────────────────
newSession = ta.change(time("D")) != 0
//──────────────────────────────
// Compute Session VWMA
//──────────────────────────────
vwmaValue = day_vwma(newSession, close, vwmaLen)
plot(vwmaValue, color=vwmaColor, title="Session VWMA")
//──────────────────────────────
// Define Signal Conditions (only on transition)
//──────────────────────────────
bullCond = low > vwmaValue // Bullish: candle low above VWMA
bearCond = high < vwmaValue // Bearish: candle high below VWMA
// Trigger signal only on the bar where the condition first becomes true
bullSignal = bullCond and not bullCond[1]
bearSignal = bearCond and not bearCond[1]
//──────────────────────────────
// **Exit Condition at 15:29 IST**
//──────────────────────────────
sessionEnd = hour == 15 and minute == 29
// Exit all positions at 15:29 IST
if sessionEnd
strategy.close_all(comment="Closing all positions at session end")
//──────────────────────────────
// **Trade Control Logic** (Prevents consecutive same-side signals)
//──────────────────────────────
var bool lastTradeWasBuy = false // Track last trade direction **Reset Direction At Session End**
var bool lastTradeWasSell = false // Track last trade direction **Reset Direction At Session End**
// Reset at new session
if newSession
lastTradeWasBuy := true
lastTradeWasSell := true
//──────────────────────────────
// **Position Management: Entry & Labels**
//──────────────────────────────
if bullSignal and not lastTradeWasBuy //
if strategy.position_size < 0
strategy.close("Short", comment="Exit Short on Bull Signal")
strategy.entry("Long", strategy.long, comment="Enter Long: Buy Call & Sell Put at ATM")
else
strategy.entry("Long", strategy.long, comment="Add Long: Buy Call & Sell Put at ATM")
// Add BUY Label above entry candle
label.new(x=bar_index, y=low - ta.atr(5) * 0.5, text="BUY", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_up, xloc=xloc.bar_index)
lastTradeWasBuy := true // Mark that the last trade was a Buy
if bearSignal and lastTradeWasBuy //
if strategy.position_size < 0
strategy.close("Long", comment="Exit Long on Bear Signal")
strategy.entry("Short", strategy.short, comment="Enter Short: Buy Put & Sell Call at ATM")
else
strategy.entry("Short", strategy.short, comment="Add Short: Buy Put & Sell Call at ATM")
// Add SELL Label below candle
label.new(x=bar_index, y=high + ta.atr(5) * 0.5, text="SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_down, xloc=xloc.bar_index)
lastTradeWasBuy := false // Mark that the last trade was a Sell
//──────────────────────────────
// **Updated Alert Conditions**
//──────────────────────────────
alertcondition(bullSignal and not lastTradeWasBuy,
title="Long Entry Alert",
message="Bullish signal: BUY CALL & SELL PUT at ATM. Entry allowed.")
alertcondition(bearSignal and lastTradeWasBuy,
title="Short Entry Alert",
message="Bearish signal: BUY PUT & SELL CALL at ATM. Entry allowed.")