Stratégie de trading quantitative : stratégie de rupture de la double moyenne mobile


Date de création: 2024-02-21 14:28:28 Dernière modification: 2024-02-21 14:28:28
Copier: 0 Nombre de clics: 669
1
Suivre
1617
Abonnés

Stratégie de trading quantitative : stratégie de rupture de la double moyenne mobile

Aperçu

Cette stratégie est appelée la stratégie de rupture de la double ligne uniforme de la stratégie de négociation quantifiée. L’idée principale de cette stratégie est d’utiliser les signaux croisés des moyennes mobiles rapides et des moyennes mobiles lentes pour juger de la tendance des prix et ensuite prendre des décisions d’achat et de vente.

Principe de stratégie

Les indicateurs centraux de la stratégie sont les moyennes mobiles rapides et les moyennes mobiles lentes. La stratégie utilise la relation croisée des moyennes mobiles rapides et des moyennes mobiles lentes pour déterminer la tendance des prix et pour prendre des décisions d’achat et de vente.

Plus précisément, le paramètre de la moyenne mobile rapide est réglé sur 24 cycles et le paramètre de la moyenne mobile lente sur 100 cycles. Lorsque la moyenne mobile rapide croise la moyenne mobile lente du côté inférieur, indiquant que le prix est entré dans une tendance à la hausse, la stratégie émet un signal d’achat.

Ainsi, en déterminant la direction de l’intersection des moyennes mobiles rapides et lentes, il est possible de capturer efficacement les changements de tendance des prix et d’aider à la prise de décisions d’achat et de vente.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. Le principe est simple, facile à comprendre et à mettre en œuvre. Le double croisement homogène est l’un des indicateurs techniques les plus fondamentaux, facile à comprendre et à appliquer.

  2. Les paramètres sont réglables et adaptatifs. Les paramètres des moyennes mobiles rapides et des moyennes mobiles lentes peuvent être ajustés en fonction de la situation réelle, ce qui rend la stratégie plus flexible.

  3. La capacité de capturer les changements de tendance est plus forte. Les croisements bi-homogènes sont souvent utilisés pour capturer les points de basculement des prix de la consolidation vers la tendance.

  4. Il permet de filtrer efficacement les tremblements de terre et de réduire les transactions invalides. La double ligne uniforme peut être utilisée pour identifier les zones de tremblement de terre et éviter la répétition des positions pendant les tremblements de terre.

Risque stratégique

Cette stratégie comporte aussi des risques:

  1. Les signaux de croisement biuniversaux peuvent être en retard. Les signaux de croisement biuniversaux sont souvent en retard sur une période donnée, en tant qu’indicateur de suivi de la tendance. Cela peut entraîner un certain coût d’opportunité.

  2. Les faux signaux sont plus fréquents en cas de choc. Les meilleurs scénarios pour la performance de la bi-équilibre sont ceux où il y a une tendance évidente.

  3. Une mauvaise configuration des paramètres peut affecter la performance de la stratégie. Si les paramètres de la moyenne lente et rapide sont mal configurés, cela affectera la sensibilité de la capture des tendances croisées.

La réponse:

  1. Réduire de manière appropriée le cycle de la médiane et améliorer la sensibilité des signaux croisés.

  2. Ajouter des indicateurs de volatilité ou de volume de transactions pour filtrer et réduire les transactions inefficaces dans les marchés en crise.

  3. Optimisation des paramètres, recherche de la meilleure combinaison de paramètres. Ajout d’optimisation automatique des méthodes telles que l’apprentissage automatique.

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. L’utilisation d’indicateurs de moyennes mobiles plus avancés, tels que les moyennes mobiles linéaires pondérées, remplace les moyennes mobiles simples et améliore la capacité de suivi et de prévision des indicateurs.

  2. Ajouter plus d’indicateurs auxiliaires, tels que les indicateurs de volume d’achat, les indicateurs de volatilité, etc. pour un filtrage combiné, réduisant les signaux inefficaces.

  3. Optimiser les paramètres de la moyenne lente, améliorer l’adaptabilité des paramètres. Des méthodes telles que l’apprentissage automatique et l’optimisation aléatoire peuvent être utilisées pour trouver les paramètres optimaux.

  4. La stratégie permet de concevoir des points d’arrêt et des points d’arrêt mobiles pour contrôler les pertes individuelles. En ajoutant des techniques d’optimisation des bénéfices, assurez-vous d’obtenir un profit suffisant.

  5. Les nouvelles technologies telles que l’apprentissage en profondeur peuvent être utilisées pour identifier des modèles de prix plus complexes et aider les acheteurs et les vendeurs à prendre des décisions plus éclairées en vue d’obtenir de meilleurs résultats.

Résumer

Cette stratégie est généralement classique et simple, elle est basée sur des indices bi-homogènes pour juger de la tendance des prix et des opportunités de transition des prix de la volatilité à la tendance. L’avantage est que l’idée est claire, simple et pratique.

Code source de la stratégie
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)

//OBV
src = close
obv = ta.cum(math.sign(ta.change(src)) * volume)
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 20, minval = 1, maxval = 100, group="Smoothing")
Limit = input.float(title = "Limit", defval = 1, minval = 0.1, maxval = 10, group="Smoothing")
smoothingLine_ma = ma(obv,smoothingLength, typeMA)
obv_diff = (obv-smoothingLine_ma)*100/obv

//PVT
var cumVolp = 0.
cumVolp += nz(volume)
if barstate.islast and cumVolp == 0
    runtime.error("No volume is provided by the data vendor.")
srcp = close
vt = ta.cum(ta.change(srcp)/srcp[1]*volume)
smoothingLine_map = ma(vt,smoothingLength, typeMA)
pvt_diff = (vt-smoothingLine_map)*100/vt

// plot(obv_diff+close+100 ,title="OBV_DIFF", color = color.rgb(255, 118, 54))
// plot(pvt_diff+close+80 ,title="PVT_DIFF", color = color.rgb(223, 61, 255))

indicator = (pvt_diff+obv_diff)/2
goLongCondition1 = ta.crossover(indicator,Limit)
timePeriod = time >= timestamp(syminfo.timezone, 2023,1, 1, 0, 0)  // Backtesting Time
notInTrade = strategy.position_size <= 0
if goLongCondition1 and timePeriod and notInTrade
    stopLoss = low * 0.99 // -2%
    takeProfit = high * 1.05 // +5%
    strategy.entry('long', strategy.long )
    strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)






// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 100)
// goLongCondition1 = ta.crossover(fastEMA, slowEMA)
// timePeriod = time >= timestamp(syminfo.timezone, 2018, 12, 15, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
//     stopLoss = low * 0.97
//     takeProfit = high * 1.12
//     strategy.entry('long', strategy.long)
//     strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
// plot(fastEMA, color=color.new(color.blue, 0))
// plot(slowEMA, color=color.new(color.yellow, 0))