Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Bibliothèque

Bibliothèque de classes traînantes StopLoss pour MQL5 - bibliothèque pour MetaTrader 5

Vues:
169
Note:
(6)
Publié:
\MQL5\Include\Trailings\
Trailings.mqh (107.4 KB) afficher
\MQL5\Experts\Trailings\
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

Bibliothèque de classes universelle pour l'implémentation de diverses stratégies de StopLoss dans les robots de trading. La bibliothèque vous permet de gérer de manière flexible le StopLoss des positions ouvertes par une distance fixe du prix, ainsi que par les valeurs des indicateurs populaires : Parabolic SAR, AMA, DEMA, FRAMA, MA, TEMA, VIDYA et un niveau arbitraire.

La bibliothèque fournit un moyen pratique d'ajouter plusieurs types de StopLoss différents à votre conseiller expert MQL5. Il suffit de brancher la classe requise, de configurer les paramètres et d'appeler la méthode Run() dans OnTick().

En-tête

#include <Trailings\Trailings.mqh>

Structure de la classe

Classe Objectif Exemples d'utilisation
CSimpleTrailing classe de base du suivi des prix (suivi simple)
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CSimpleTrailing trail;

//--- Dans OnInit() :
trail.SetSymbol(_Symbol);
trail.SetMagicNumber(123);
trail.SetStopLossOffset(100);
trail.SetActive(true);

//--- Dans OnTick() :
trail.Run();

CTrailingByInd classe de base du suivi par indicateur Utilisée par les classes héritées
CTrailingBySAR suivi par l'indicateur SAR parabolique
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingBySAR trailSAR;

//--- Dans OnInit() :
trailSAR.Initialize(_Symbol, PERIOD_M15, 0.02, 0.2);
trailSAR.SetActive(true);

//--- Dans OnTick() :
trailSAR.Run();

CTrailingByAMA Trailing by Adaptive Moving Average (moyenne mobile adaptative)
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByAMA trailAMA;

//--- Dans OnInit() :
trailAMA.Initialize(_Symbol, PERIOD_H1, 9, 2, 30, 0, PRICE_CLOSE);
trailAMA.SetActive(true);

//--- Dans OnTick() :
trailAMA.Run();

CTrailingByDEMA Trailing Double Exponential Moving Average (moyenne mobile double exponentielle)
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByDEMA trailDEMA;

//--- Dans OnInit() :
trailDEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailDEMA.SetActive(true);

//--- Dans OnTick() :
trailDEMA.Run();

CTrailingByFRAMA Suivi par moyenne mobile adaptative fractale
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByFRAMA trailFRAMA;

//--- Dans OnInit() :
trailFRAMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailFRAMA.SetActive(true);

//--- Dans OnTick() :
trailFRAMA.Run();

CTrailingByMA Moyenne mobile de suivi
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByMA trailMA;

//--- Dans OnInit() :
trailMA.Initialize(_Symbol, PERIOD_H1, 20, 0, MODE_EMA, PRICE_CLOSE);
trailMA.SetActive(true);

//--- Dans OnTick() :
trailMA.Run();

CTrailingByTEMA Moyenne mobile triple exponentielle à la traîne
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByTEMA trailTEMA;

//--- Dans OnInit() :
trailTEMA.Initialize(_Symbol, PERIOD_H1, 14, 0, PRICE_CLOSE);
trailTEMA.SetActive(true);

//--- Dans OnTick() :
trailTEMA.Run();

CTrailingByVIDYA Moyenne dynamique à indice variable suiveuse
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByVIDYA trailVIDYA;

//--- Dans OnInit() :
trailVIDYA.Initialize(_Symbol, PERIOD_H1, 9, 12, 0, PRICE_CLOSE);
trailVIDYA.SetActive(true);

//--- Dans OnTick() :
trailVIDYA.Run();

CTrailingByValue Suivi sur un niveau spécifié
//--- Connexion 
#include <Trailings\Trailings.mqh>

//--- Globalement
CTrailingByValue trailValue;

//--- Dans OnInit() :
trailValue.SetSymbol(_Symbol);
trailValue.SetActive(true);

//--- Dans OnTick() :
trailValue.Run(customSLBuy, customSLSell);


Paramètres de réglage :

  • SetSymbol(symbole) - définit le symbole de négociation ;
  • SetMagicNumber(magic) - définit le nombre magique ;
  • SetStopLossOffset(offset) - définit le StopLoss par rapport au prix/indicateur ;
  • SetTrailingStart(start) - Définit le profit minimum pour l'activation du suivi ;
  • SetTrailingStep(step) - définit l'étape du mouvement du StopLoss ;
  • SetSpreadMultiplier(value) - définit le multiplicateur de spread pour StopLevel ;
  • SetActive(flag) - activation/désactivation du trailing.

Pour les classes d'indicateurs - paramètres supplémentaires de l'indicateur (périodes, types de prix, méthodes, etc.).

Voici un exemple du fonctionnement du chalut SAR parabolique connecté avec le Conseiller Expert standard \MQL5\Experts\Advisors\ExpertMACD.mq5 :


Plus de détails sur le sujet de ces trawls peuvent être trouvés dans les articles suivants

  1. Comment ajouter un Trailing Stop sur l'indicateur Parabolic SAR
  2. Comment créer n'importe quel type de Trailing Stop et le connecter à un Expert Advisor

Trailings.mqh est un moyen simple d'ajouter un StopLoss suiveur à votre Expert Advisor MQL5.
Connectez la classe nécessaire, configurez les paramètres et appelez *.Run() dans OnTick.

Si votre EA a un cycle d'énumération de ses positions, vous pouvez appeler la méthode Run() de trailing avec le ticket de la position sélectionnée :

Run(const ulong pos_ticket);

Dans le cas le plus simple, ce sera le cas dans le gestionnaire OnTick() :

for(int i=PositionsTotal()-1; i>=0; i--) 
  { 
   trailing_simple.Run(PositionGetTicket(i)); 
  } 



Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/63926

IncForceOnArray IncForceOnArray

La classe CForceOnArray est destinée au calcul des valeurs des indicateurs de l'indice de force par les tampons d'indicateurs.

Signal_Tendance_HTF_argent Signal_Tendance_HTF_argent

L'indicateur SilverTrend_HTF_Signal affiche la direction de la tendance ou un signal pour une transaction de l'indicateur SilverTrend_Signal sous la forme d'un objet graphique avec une indication colorée de la tendance ou de la direction de la transaction et émet des alertes ou des signaux sonores.

Pinbar Detector Pinbar Detector

Cet indicateur MQL5 identifie les barres d'épingle ascendantes (haussières) et descendantes (baissières), affichées avec des flèches personnalisables (citron vert pour la hausse, rouge pour la baisse). Il permet d'affiner les paramètres de détection tels que le ratio du corps de queue et la protrusion. Des alertes pop-up et des notifications push signalent les nouvelles pinbars. Idéal pour les traders à la recherche d'une détection précise des schémas d'inversion.

IncVHFOnArray IncVHFOnArray

La classe CVHFOnArray est destinée au calcul des valeurs des indicateurs du filtre vertical horizontal (VHF) par les tampons d'indicateurs.