
Strategi isyarat kosong SPY yang dipertingkatkan adalah sistem perdagangan kuantitatif yang berasaskan bingkai masa 5 minit yang direka khas untuk pasaran SPY. Strategi ini menangkap isyarat penurunan pasaran dengan menganalisis hubungan harga dengan tahap rintangan, RSI, MACD, dan faktor pelbagai dimensi seperti jumlah dagangan. Apabila harga mendekati tahap rintangan dan memenuhi syarat-syarat kenaikan harga tertentu (RSI di bawah 45, MACD bergerak ke bawah, jumlah dagangan), sistem akan mencetuskan isyarat perdagangan kosong.
Prinsip operasi strategi ini adalah berdasarkan pengesahan serentak terhadap pelbagai petunjuk teknikal, dan ia terdiri daripada beberapa elemen utama:
Pengiktirafan bit rintangan: Sistem menentukan tahap rintangan dengan mengira harga tertinggi dalam tempoh pengulangan yang ditetapkan (default 20 kitaran). Apabila harga mendekati tahap rintangan (berada dalam 1% di bawah tahap rintangan) atau melintasi tahap rintangan ke bawah, syarat kemasukan pertama dipenuhi.
Penapis RSIStrategi memerlukan RSI ((20 kitaran) di bawah had yang ditetapkan (default 45), memastikan pasaran berada dalam keadaan yang relatif oversold atau neutral bias.
Kemajuan MACD disahkan: Menggunakan MACD ((12,26,9) petunjuk untuk menentukan arah momentum, apabila garis MACD di bawah garis isyarat, menunjukkan harga mempunyai momentum ke bawah, sesuai dengan arah strategi kosong.
Pengesahan kuantitiStrategi memerlukan jumlah kali ganda tertentu daripada purata bergerak sederhana untuk jumlah dagangan semasa melebihi 20 kitaran dagangan (default 1.5 kali ganda) untuk memastikan kehadiran pasaran yang mencukupi untuk menyokong pergerakan harga.
Mekanisme Keluar Dinamik: Menggunakan indikator ATR 14 kitaran untuk mengira tahap berhenti dan berhenti yang dinamik. Sasaran berhenti ditetapkan sebagai harga masuk tolak ATR kali ganda keuntungan (default 1.5) dan tahap berhenti sebagai harga masuk ditambah ATR kali ganda kerugian (default 1.0)
Apabila semua syarat dipenuhi pada masa yang sama, strategi mencetuskan isyarat masuk kosong dan menguruskan perdagangan mengikut keadaan keluar dinamik yang telah ditetapkan.
Pengesahan isyarat multidimensiStrategi menggabungkan harga, petunjuk teknikal dan jumlah transaksi untuk analisis pelbagai dimensi, menyaring isyarat palsu dengan berkesan, meningkatkan kualiti perdagangan. Harga berhampiran dengan paras rintangan, RSI yang lebih rendah, MACD ke bawah dan peningkatan jumlah transaksi.
Waktu masuk yang tepatDengan mengenal pasti hubungan antara harga dan titik rintangan, strategi ini dapat meningkatkan kebarangkalian keuntungan dengan tepat memasuki titik perubahan teknikal.
Pengurusan risiko dinamikMenggunakan mekanisme hentian hentian dinamik berasaskan ATR untuk membolehkan pengurusan risiko menyesuaikan diri dengan turun naik pasaran, memberikan hentian yang lebih longgar dalam persekitaran yang bergelombang tinggi, pengetatan hentian dalam persekitaran yang bergelombang rendah, mengoptimumkan nisbah keuntungan risiko.
Kebolehan menyesuaikan diri: Parameter strategi boleh disesuaikan, pengguna boleh menyesuaikan parameter seperti nilai RSI, kelipatan jumlah transaksi dan kelipatan ATR, sesuai dengan keadaan pasaran dan keutamaan risiko peribadi, untuk mencapai optimasi strategi yang fleksibel.
Fokus pada transaksi berkualitiKeadaan strategi lebih ketat, mengelakkan perdagangan berlebihan, memberi tumpuan kepada menangkap peluang shorting yang berkemungkinan tinggi, mengurangkan kos perdagangan dan gangguan emosi.
Risiko penembusan palsu: Harga mungkin akan bangkit semula dengan cepat selepas pecah rintangan sementara, menyebabkan isyarat yang salah. Penyelesaian adalah dengan menambah penapis masa, yang memerlukan harga untuk bertahan di bawah rintangan untuk jangka masa tertentu, atau menambah isyarat pengesahan seperti analisis bentuk serpihan.
Risiko dagangan berlawanan: Meletakkan mata dalam pasaran yang kuat mungkin menghadapi cabaran kenaikan berterusan. Disyorkan untuk menambah penapis trend jangka panjang, melumpuhkan atau meningkatkan had isyarat dalam trend menaik.
Kepekaan ParameterPrestasi strategi sensitif terhadap perubahan parameter seperti nilai RSI, kelipatan jumlah transaksi. Adalah disyorkan untuk melakukan analisis sejarah dan sensitiviti yang komprehensif untuk mencari kombinasi parameter terbaik, dan memeriksa keberkesanan parameter secara berkala.
Risiko kecairanPada masa-masa apabila jumlah dagangan rendah, syarat untuk memecahkan jumlah dagangan mungkin tidak boleh dipercayai. Penyelesaian adalah untuk menambah sekatan pada pilihan masa dagangan, mengelakkan masa-masa kurangnya kecairan pasaran.
Kerosakan Dinamika KurangPekali ATR tunggal mungkin tidak cukup dioptimumkan dalam keadaan pasaran yang berbeza. Pekali ATR yang menyesuaikan diri berdasarkan kadar turun naik boleh dipertimbangkan, atau menyesuaikan tahap stop loss secara dinamik dengan kekuatan trend.
Penapis trendMenambah mekanisme penghakiman trend jangka panjang, seperti perbandingan purata 20⁄50 kitaran atau penunjuk trend untuk kitaran yang lebih lama, memastikan strategi berjalan ke arah trend keseluruhan pasaran, dan mengelakkan perdagangan berlawanan. Ini dapat meningkatkan peluang menang dan mengurangkan kerugian yang tidak perlu.
Penapisan masaMenambah penapis masa untuk mengelakkan masa-masa pasaran tertentu seperti 30 minit sebelum pembukaan atau semasa pengumuman data ekonomi utama, di mana turun naik biasanya tidak dapat diramalkan dan boleh menyebabkan strategi tidak berfungsi dengan baik.
Parameter penyesuaianMekanisme penyesuaian parameter berdasarkan turun naik pasaran, seperti meningkatkan nilai RSI atau kelipatan jumlah transaksi apabila turun naik meningkat, membolehkan strategi lebih sesuai dengan perubahan keadaan pasaran.
Pengesahan isyarat tambahanPertimbangkan untuk menambah analisis corak grafik atau pengenalan corak tingkah laku harga sebagai isyarat pengesahan tambahan untuk meningkatkan ketepatan kemasukan. Sebagai contoh, minta corak corak penurunan seperti “bintang senja” atau “corak penelan penurunan” muncul berhampiran titik kemasukan.
Strategi berpasukan: Mengoptimumkan mekanisme keluar tunggal semasa, untuk melaksanakan strategi keluar berpelbagai. Sebagai contoh, apabila harga mencapai tahap keuntungan tertentu, pelupusan sebahagian daripada kedudukan, sambil memindahkan kerugian sisa kedudukan ke garis kos atau kedudukan keuntungan, mengunci sebahagian daripada keuntungan dan membiarkan keuntungan terus berkembang.
Analisis pelbagai kerangka masaPengesahan isyarat: Mengintegrasikan isyarat yang lebih tinggi dalam jangka masa (seperti 15 minit, 1 jam), memastikan isyarat jangka pendek selaras dengan trend dalam jangka masa yang lebih besar, meningkatkan kestabilan strategi.
Strategi isyarat kepala kosong yang dipertingkatkan SPY adalah sistem perdagangan kuantitatif yang cekap berdasarkan pelbagai petunjuk teknikal dan syarat kemasukan yang tepat. Dengan menganalisis hubungan harga dan rintangan, pergerakan RSI, MACD dan perubahan jumlah transaksi, strategi dapat menangkap peluang shorting yang berkemungkinan tinggi di pasaran.
Kelebihan utama strategi ini adalah penapisan syarat kemasukan yang ketat dan pengendalian masa yang tepat, mengelakkan perdagangan berlebihan dan gangguan emosi. Pada masa yang sama, kemampuan strategi untuk menyesuaikan diri dan parameter yang boleh disesuaikan menjadikannya dapat menyesuaikan diri dengan keadaan pasaran yang berbeza. Walau bagaimanapun, pengguna masih perlu berhati-hati terhadap risiko yang berpotensi seperti penembusan palsu, perdagangan berlawanan, dan kepekaan parameter, dan mengoptimumkan secara khusus berdasarkan prestasi perdagangan sebenar.
Strategi ini dapat ditingkatkan lagi dengan menambah langkah-langkah pengoptimuman seperti penapisan trend, penapisan masa, parameter penyesuaian diri dan analisis jangka masa berbilang. Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang jelas, logik dan mempunyai nilai aplikasi praktikal yang sesuai untuk pedagang berpengalaman untuk digunakan dalam perdagangan langsung dengan pengurusan risiko yang sesuai.
/*backtest
start: 2024-03-31 00:00:00
end: 2025-03-29 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("SPY Enhanced Short Signals – Fixed", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ===== Inputs =====
length = input.int(20, "Lookback Period", minval=5)
rsiThreshold = input.float(45, "RSI Threshold", minval=1, maxval=50)
volMultiplier = input.float(1.5, "Volume Spike Multiplier", step=0.1)
// ATR multipliers for dynamic exits
atrProfitMultiplier = input.float(1.5, "ATR Profit Multiplier", step=0.1)
atrLossMultiplier = input.float(1.0, "ATR Stop Loss Multiplier", step=0.1)
// ===== Level Calculations =====
support = ta.lowest(low, length)
resistance = ta.highest(high, length)
// ===== Short Entry Conditions =====
// nearResistance: Price is within 1% *below* resistance.
nearResistance = close >= resistance * 0.99
// bearishRSI: RSI (period 20) must be below the specified threshold.
bearishRSI = ta.rsi(close, 20) < rsiThreshold
// MACD for momentum
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
bearishMomentum = macdLine < signalLine
// Volume spike: volume exceeds the 20-period SMA times the multiplier.
volSMA = ta.sma(volume, 20)
volumeSpike = volume > volSMA * volMultiplier
// Compute the crossunder result once and assign it to a global variable.
crossunderRes = ta.crossunder(close, resistance)
// Combine conditions: Enter short if either nearResistance or a crossunder occurs, and RSI, MACD, and volume conditions are met.
enterShort = (nearResistance or crossunderRes) and bearishRSI and bearishMomentum and volumeSpike
// ===== Dynamic Exit Conditions =====
dynamicATR = ta.atr(14)
dynamicProfit = dynamicATR * atrProfitMultiplier
dynamicLoss = dynamicATR * atrLossMultiplier
// ===== Execute Short Trade =====
if (enterShort)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", limit = strategy.position_avg_price - dynamicProfit, stop = strategy.position_avg_price + dynamicLoss)
// ===== Plotting =====
plot(resistance, title="Resistance", color=color.red, linewidth=2)
plot(support, title="Support", color=color.green, linewidth=2)
plotshape(enterShort, title="SELL Signal", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, text="SELL")