Basé sur une stratégie de croisement à double moyenne mobile


Date de création: 2024-02-05 10:34:57 Dernière modification: 2024-02-05 10:34:57
Copier: 0 Nombre de clics: 602
1
Suivre
1617
Abonnés

Basé sur une stratégie de croisement à double moyenne mobile

Aperçu

La stratégie de croisement de deux courbes est une stratégie de négociation quantitative relativement simple. Elle permet de capturer les points de basculement des tendances à moyen terme du marché en calculant la moyenne des 7 courbes K les plus récentes et la moyenne des 20 courbes K les plus récentes.

Principe de stratégie

La logique centrale de cette stratégie est de calculer la moyenne des prix de clôture des 7 dernières lignes de K (sans la ligne de K actuelle) comme moyenne à court terme, et la moyenne des prix de clôture des 20 dernières lignes de K (sans la ligne de K des 7 dernières lignes) comme moyenne à long terme. Lorsque la moyenne à court terme traverse la moyenne à long terme par le bas, le marché est en hausse; lorsque la moyenne à court terme traverse la moyenne à long terme par le haut, le marché est en baisse par le bas.

Après le déclenchement d’un signal de multiplication, ouvrez une position plus grande en fonction du nombre de fonds du compte; après le déclenchement d’un signal de dépréciation, égalisez la position plus grande en fonction du nombre de positions et ouvrez une position plus petite en fonction de ce nombre. Chaque position après l’ouverture sera tenue avec 20-25 lignes K, pendant lesquelles la moitié de la position sera perdue en cas de perte et la moitié de la position sera fermée en cas de profit suffisant.

Analyse des forces stratégiques

Il s’agit d’une stratégie de croisement bi-équilibré très simple dont les principaux avantages sont:

  1. Le concept est simple, facile à comprendre et à mettre en œuvre.
  2. Le point de basculement de la tendance à moyen terme du marché est déterminé par le calcul des intersections de différentes moyennes périodiques, un indicateur technique largement utilisé dans de nombreuses stratégies de quantification.
  3. Il permet de filtrer efficacement le bruit aléatoire du marché et de saisir les tendances à moyen terme.
  4. Cette stratégie est particulièrement adaptée aux transactions sur des lignes longues et moyennes, avec une position de 20 à 25 lignes K par position, permettant d’obtenir de meilleurs marges bénéficiaires et négatives.
  5. La stratégie a des mécanismes de stop-loss et de stop-loss pour contrôler les risques et bloquer les bénéfices.

Analyse des risques

Il s’agit d’une stratégie de suivi des tendances plus simple, mais elle présente aussi des risques potentiels:

  1. Lorsque les marchés entrent dans une zone de choc, des croisements multiples de la moyenne à court terme et de la moyenne à long terme peuvent se produire, entraînant de faux signaux et des transactions excessives;
  2. la possibilité d’un arrêt de perte déclenché par une forte fluctuation de la courte ligne de prix pendant la période de détention;
  3. Il n’est pas possible de juger efficacement le point de basculement de la tendance réelle du marché, et les signaux de négociation peuvent être retardés.

Les risques mentionnés ci-dessus peuvent être optimisés par:

  1. l’ajout de conditions de filtrage permettant de détecter si le prix a franchi un support ou une résistance critique lors d’un croisement de la ligne médiane pour filtrer les fausses signaux;
  2. Ajuster le cycle de détention des positions pour réduire la durée moyenne de détention de chaque position afin de maîtriser les pertes;
  3. Ajout d’autres indicateurs techniques, tels que les indicateurs quantitatifs, les indicateurs de volatilité, etc. pour déterminer le véritable point de retournement du marché.

Orientation de l’optimisation de la stratégie

Il s’agit d’une stratégie de croisement bi-équilibre plus simple, qui peut être optimisée en profondeur dans les domaines suivants:

  1. Optimiser les paramètres de la moyenne, tester différentes combinaisons de moyenne à court et à long terme pour trouver les paramètres optimaux;

  2. l’ajout d’autres indicateurs filtrants, tels que les indicateurs de quantité d’énergie, les indicateurs de volatilité, etc., afin d’éviter les signaux erronés dans les marchés instables;

  3. Optimiser les stratégies de stop-loss, tester différents ratios de stop-loss et déterminer les paramètres optimaux;

  4. tester différents cycles de marché pour optimiser la durée de la position et déterminer quels cycles sont les plus efficaces;

  5. L’ajout d’algorithmes d’apprentissage automatique permettant d’optimiser les paramètres de la stratégie par des tests en arrière-plan, afin de la rendre plus stable.

Résumer

Cette stratégie est une stratégie de croisement bi-homogène relativement simple, qui permet de déterminer les points de basculement de tendance à moyen terme en calculant les croisements homogènes de différentes périodes. La stratégie est très pratique et facile à utiliser.

Code source de la stratégie
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
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/
// © nrathi2211

//@version=5
strategy("Closing Prices", overlay=true)

//variables
closingB7 = ta.highest(close, 7)[7]
closingB14 = ta.highest(close, 7)[20]
highB14 = ta.highest(low, 50)[7]
capital = 50000

//functions
qty_find(float price) => capital / int(price)

profit_take() =>
    profit = strategy.opentrades.profit(strategy.opentrades - 1)
    profit*.95 

if(closingB7 < closingB14)
    if(ta.crossover(close, closingB7))
        strategy.entry("long_buy", strategy.long, qty_find(close))

    current_profit = strategy.opentrades.profit(strategy.opentrades - 1)
    if(current_profit < 0)
        strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50)
    
    else if(current_profit < profit_take())
        strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50)
    
    if(ta.crossunder(close, closingB7))
        strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7)

plot(closingB7, "cl", color.green, 2)
//plot(closingB14, "cl", color.red, 2)
plot(highB14, "cl", color.purple, 2)