Momentum Swing Effective Profit Strategy adalah strategi perdagangan kuantitatif yang dirancang untuk menangkap peluang menguntungkan di pasar keuangan jangka menengah dengan mengintegrasikan prinsip perdagangan swing dan indikator momentum. Strategi ini menggunakan kombinasi indikator teknis termasuk moving average, sinyal crossover, dan analisis volume untuk menghasilkan sinyal beli dan jual. Tujuannya adalah untuk mengidentifikasi tren pasar dan memanfaatkan momentum harga untuk keuntungan.
Sinyal beli ditentukan oleh beberapa faktor termasuk A1, A2, A3, XG dan WeeklySlope.
A1 Kondisi: Memeriksa hubungan harga tertentu, memverifikasi rasio harga tertinggi terhadap harga penutupan kurang dari 1,03, rasio harga pembukaan terhadap harga terendah kurang dari 1,03, dan rasio harga tertinggi terhadap harga penutupan sebelumnya lebih dari 1,06. Kondisi ini mencari pola tertentu yang menunjukkan momentum bullish potensial.
A2 Kondisi: Memeriksa hubungan harga yang terkait dengan harga penutupan, memverifikasi rasio harga penutupan terhadap harga pembukaan lebih besar dari 1,05 atau rasio harga penutupan terhadap harga penutupan sebelumnya lebih besar dari 1,05. Kondisi ini mencari tanda-tanda pergerakan dan momentum harga naik.
Kondisi A3: Berfokus pada volume, memeriksa apakah volume saat ini melintasi volume tertinggi selama 60 periode terakhir. Kondisi ini bertujuan untuk mengidentifikasi peningkatan minat pembelian dan berpotensi mengkonfirmasi kekuatan pergerakan harga naik potensial.
Kondisi XG: Menggabungkan kondisi A1 dan A2 dan memeriksa apakah mereka benar untuk bar saat ini dan sebelumnya. Hal ini juga memverifikasi rasio harga penutupan untuk EMA 5 periode melintasi di atas SMA 9 periode dari rasio yang sama. Kondisi ini membantu mengidentifikasi sinyal beli potensial ketika beberapa faktor sejajar, menunjukkan momentum bullish yang kuat dan titik masuk potensial.
Faktor Tren Mingguan: Menghitung kemiringan SMA 50-periode pada jangka waktu mingguan. Ini memeriksa apakah kemiringan positif, menunjukkan tren kenaikan keseluruhan setiap minggu. Kondisi ini memberikan konfirmasi tambahan bahwa saham berada dalam tren kenaikan.
Ketika semua kondisi ini terpenuhi, kondisi beli dipicu, menunjukkan waktu yang menguntungkan untuk memasuki posisi panjang.
Kondisi penjualan relatif sederhana dalam strategi:
Sinyal Jual: Kondisi jual hanya memeriksa apakah harga penutupan melintasi di bawah EMA 10 periode. Ketika kondisi ini terpenuhi, itu menunjukkan potensi pembalikan atau melemahnya momentum harga naik, dan sinyal jual dihasilkan.
Momentum Swing Effective Profit Strategy mengintegrasikan prinsip perdagangan swing dan indikator momentum melalui optimasi parameter dan integrasi kondisi, mencapai keuntungan yang cukup besar dalam backtest.
/*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")