
La stratégie de gain de momentum est une stratégie de trading quantitative qui vise à saisir les opportunités de profit dans les marchés financiers à moyen terme en intégrant les principes de la négociation et les indicateurs de la dynamique. La stratégie utilise une combinaison d’indicateurs techniques tels que les moyennes mobiles, les signaux de traversée et l’analyse du volume des transactions pour générer des signaux d’achat et de vente.
Le choix du signal d’achat est basé sur une combinaison de facteurs, principalement A1, A2, A3, XG et WeeklySlope.
Condition A1: vérification d’une relation de prix spécifique, pour vérifier que le rapport entre le prix le plus élevé et le prix de clôture est inférieur à 1,03, que le rapport entre le prix d’ouverture et le prix le plus bas est inférieur à 1,03, et que le rapport entre le prix le plus élevé et le prix de clôture de la veille est supérieur à 1,06. Cette condition recherche un modèle spécifique, indiquant un potentiel de mouvement à plusieurs têtes.
Condition A2: Examiner la relation de prix avec le prix de clôture et vérifier 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 de la veille est supérieur à 1,05. Cette condition recherche des signes de mouvement et de dynamique de prix à la hausse.
Condition A3: Observer le volume des transactions, vérifier si le volume des transactions actuelles a dépassé le volume des transactions le plus élevé des 60 derniers cycles. La condition vise à identifier l’augmentation des achats et des ventes et à confirmer que la dynamique ascendante potentielle est forte.
Condition XG: en combinant les conditions A1 et A2, vérifiez si la ligne K actuelle et la ligne K précédente sont satisfaites simultanément. Vérifiez également si le rapport entre le cours de clôture et l’EMA de 5 cycles est supérieur au SMA de 9 cycles du même rapport. Cette condition aide à identifier les signaux d’achat suggérés par plusieurs facteurs simultanément.
Facteur de tendance circulaire: calculer la pente sur le graphique circulaire du SMA à 50 cycles et vérifier si la pente est positive, indiquant que l’ensemble est dans une tendance à la hausse circulaire. Cette condition fournit une confirmation supplémentaire que l’ensemble des actions est dans un canal ascendant.
Lorsque ces conditions sont remplies simultanément, les conditions d’achat sont déclenchées, indiquant que le moment est propice à la possibilité d’un gain supplémentaire.
Les conditions de vente sont plus simples, il suffit de vérifier si le prix de clôture a dépassé l’EMA de 10 cycles. Cette condition indique un renversement ou un affaiblissement de la dynamique multipolaire.
La stratégie d’efficacité et de rentabilité dynamique à travers les marchés utilise l’idée de la négociation entre les marchés et les indicateurs dynamiques. Grâce à l’optimisation des paramètres et à l’intégration des conditions de jugement de todolist, une stratégie de négociation quantitative a été réalisée qui a permis d’obtenir des gains significatifs lors de la revue. Cette stratégie est préférable de saisir les tendances des prix à moyen terme, mais il faut être vigilant contre le risque de renversement de la tendance.
/*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")