Strategi Keuntungan Efektif Swing Momentum adalah strategi perdagangan kuantitatif yang direka untuk menangkap peluang yang menguntungkan di pasaran kewangan jangka menengah dengan mengintegrasikan prinsip perdagangan swing dan penunjuk momentum. Strategi ini menggunakan gabungan penunjuk teknikal termasuk purata bergerak, isyarat silang, dan analisis jumlah untuk menjana isyarat beli dan jual. Matlamatnya adalah untuk mengenal pasti trend pasaran dan memanfaatkan momentum harga untuk keuntungan.
Isyarat beli ditentukan oleh pelbagai faktor termasuk A1, A2, A3, XG dan WeeklySlope.
A1 Keadaan: Pemeriksaan untuk hubungan harga tertentu, mengesahkan nisbah harga tertinggi kepada harga penutupan adalah kurang daripada 1.03, nisbah harga pembukaan kepada harga terendah adalah kurang daripada 1.03, dan nisbah harga tertinggi kepada harga penutupan sebelumnya adalah lebih daripada 1.06. Keadaan ini mencari corak tertentu yang menunjukkan potensi momentum kenaikan.
A2 Keadaan: Pemeriksaan untuk hubungan harga yang berkaitan dengan harga penutupan, mengesahkan nisbah harga penutupan kepada harga pembukaan lebih besar daripada 1.05 atau nisbah harga penutupan kepada harga penutupan sebelumnya lebih besar daripada 1.05. Keadaan ini mencari tanda-tanda pergerakan harga dan momentum menaik.
A3 Keadaan: Memfokuskan pada jumlah, memeriksa sama ada jumlah semasa melintasi jumlah tertinggi dalam 60 tempoh terakhir.
Keadaan XG: Menggabungkan keadaan A1 dan A2 dan memeriksa sama ada ia benar untuk kedua-dua bar semasa dan sebelumnya. Ia juga mengesahkan nisbah harga penutupan kepada salib EMA 5 tempoh di atas SMA 9 tempoh nisbah yang sama. Keadaan ini membantu mengenal pasti isyarat beli berpotensi apabila beberapa faktor sejajar, menunjukkan momentum menaik yang kuat dan titik kemasukan yang berpotensi.
Faktor Trend Mingguan: Mengira kemiringan SMA 50-periode pada jangka masa mingguan. Ia memeriksa sama ada kemiringan adalah positif, menunjukkan trend menaik secara keseluruhan setiap minggu. Keadaan ini memberikan pengesahan tambahan bahawa stok berada dalam trend menaik.
Apabila semua syarat-syarat ini dipenuhi, syarat beli dicetuskan, menunjukkan masa yang baik untuk memasuki kedudukan panjang.
Syarat jualannya agak mudah dalam strategi:
Isyarat Jual: Syarat jual hanya memeriksa jika harga penutupan melintasi di bawah EMA 10 tempoh. Apabila syarat ini dipenuhi, ia menunjukkan pembalikan atau melemahnya momentum harga menaik, dan isyarat jual dihasilkan.
Strategi Keuntungan Efektif Swing Momentum mengintegrasikan prinsip perdagangan swing dan penunjuk momentum melalui pengoptimuman parameter dan integrasi keadaan, mencapai keuntungan yang cukup besar dalam backtest. Ia menangkap trend jangka pertengahan dengan baik tetapi harus menyedari risiko pembalikan trend. Pengoptimuman lanjut boleh meningkatkan ketahanan dan prestasi langsung.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © fzj20020403 //@version=5 strategy("Slight Swing Momentum Strategy.", overlay=true) // Position Status Definition var inPosition = false // Moving Average Definition ma60 = ta.sma(close, 60) // A1 Condition Definition A1 = high / close < 1.03 and open / low < 1.03 and high / close[1] > 1.06 // A2 Condition Definition A2 = close / open > 1.05 or close / close[1] > 1.05 // A3 Condition Definition highestVol = ta.highest(volume, 60) A3 = ta.crossover(volume, highestVol[1]) // B1 Condition Definition ema5 = ta.ema(close, 5) B1 = close / ema5 // XG Condition Definition A1andA2 = (A1 and A2) and (A1[1] and A2[1]) XG = ta.crossover(B1, ta.sma(B1, 9)) // Weekly Trend Factor Definition weeklyMa = ta.sma(close, 50) weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0 // Buy Signal using XG Condition buySignal = A1 and close > ma60 or A2 and A3 and XG and close > ma60 and weeklySlope // Sell Signal Condition sellSignal = close < ta.ema(close, 10) // Buy and Sell Conditions buyCondition = buySignal and not inPosition sellCondition = sellSignal and inPosition // Execute Buy and Sell Operations if (buyCondition) strategy.entry("Buy", strategy.long) inPosition := true if (sellCondition) strategy.close("Buy") inPosition := false // Stop Loss and Take Profit Levels stopLoss = strategy.position_avg_price * 0.5 takeProfit = strategy.position_avg_price * 1.30 // Apply Stop Loss and Take Profit Levels if inPosition strategy.exit("Long Stop Loss", "Buy", stop=stopLoss) strategy.exit("Long Take Profit", "Buy", limit=takeProfit) // Plot Buy and Sell Signal Shapes plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small) plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small) // EMA Variable Definition ema = ta.ema(close, 5) // Plot Indicator Line plot(ema, color=color.green, title="EMA")