La stratégie d'effet de levier est une stratégie de trading quantitative conçue pour saisir les opportunités rentables sur les marchés financiers à moyen terme en intégrant les principes du swing trading et les indicateurs de dynamique.
Le signal d'achat est déterminé par plusieurs facteurs, dont A1, A2, A3, XG et weeklySlope.
A1 Condition: Vérifie les relations de prix spécifiques, vérifiant que le rapport entre le prix le plus élevé et le prix de clôture est inférieur à 1,03, le rapport entre le prix d'ouverture et le prix le plus bas est inférieur à 1,03, et le rapport entre le prix le plus élevé et le prix de clôture précédent est supérieur à 1,06. Cette condition recherche un modèle spécifique indiquant une dynamique haussière potentielle.
A2 Condition: Vérifie les relations de prix liées au prix de clôture, vérifiant que le rapport entre le prix de clôture et le prix d'ouverture est supérieur à 1,05 ou que le rapport entre le prix de clôture et le prix de clôture précédent est supérieur à 1,05.
A3 Condition: se concentre sur le volume, en vérifiant si le volume actuel dépasse le volume le plus élevé au cours des 60 dernières périodes.
Condition XG: Combine les conditions A1 et A2 et vérifie si elles sont vraies pour les barres actuelles et précédentes. Il vérifie également le rapport entre le prix de clôture et les croisements de l'EMA de 5 périodes au-dessus de la SMA de 9 périodes du même ratio. Cette condition aide à identifier les signaux d'achat potentiels lorsque plusieurs facteurs s'alignent, indiquant une forte dynamique haussière et un point d'entrée potentiel.
Facteur de tendance hebdomadaire: Calcule la pente de la SMA à 50 périodes sur une période hebdomadaire. Il vérifie si la pente est positive, indiquant une tendance globale à la hausse sur une base hebdomadaire. Cette condition fournit une confirmation supplémentaire que le stock est dans une tendance à la hausse.
Lorsque toutes ces conditions sont remplies, la condition d'achat est déclenchée, indiquant un moment favorable pour entrer dans une position longue.
La condition de vente est relativement simple dans la stratégie:
Signal de vente: la condition de vente vérifie simplement si le prix de clôture dépasse l'EMA à 10 périodes. Lorsque cette condition est remplie, elle indique un renversement ou un affaiblissement potentiel de la dynamique haussière des prix et un signal de vente est généré.
La Stratégie de profit effectif de swing de moment intègre les principes de swing trading et les indicateurs de momentum grâce à l'optimisation des paramètres et à l'intégration des conditions, obtenant des profits considérables dans les backtests.
/*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")