Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
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
Vues:
46
Note:
(45)
Publié:
ssorttest.mq5 (23.35 KB) afficher
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

Le script permet de trier un tableau de type double en utilisant différentes méthodes :

Il existe deux fonctions pour chaque méthode, pour le tri ascendant (Up) et descendant (Dn) :

  • SortBubbleUp(double & aAr[]) ;
  • SortBubbleDn(double & aAr[]) ;
  • SortSelectUp(double & aAr[]) ;
  • SortSelectDn(double & aAr[]) ;
  • SortInsertUp(double & aAr[]) ;
  • SortInsertDn(double & aAr[]) ;
  • SortShellUp(double & aAr[]) ;
  • SortShellDn(double & aAr[]) ;
  • SortHoareUp(double & aAr[]) ;
  • SortHoareDn(double & aAr[]) ;
  • SortSelectUpFst(double & aAr[]) ;
  • SortSelectDnFst(double & aAr[]).

Le script contient également plusieurs fonctions auxiliaires :

  • Check(double & aAr[]) - vérifie si le tableau est trié par ordre croissant. Si le tableau n'est pas trié, le message "Error" est affiché dans la fenêtre d'alerte.
  • ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - affiche le tableau dans la fenêtre d'alerte sous la forme d'une chaîne de caractères. Paramètres : double & aAr[] - tableau, int aDigits - nombre de décimales lors de l'affichage des valeurs du tableau, string aHeader - message supplémentaire au début de la chaîne. Cette fonction peut être utile à ceux qui souhaitent comprendre plus en détail les différentes méthodes de tri, pour observer visuellement les changements dans le tableau à chaque étape du tri.
  • ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - affiche le tableau dans une colonne d'alerte. Paramètres : double & aAr[] - tableau, int aDigits - nombre de décimales lors de l'affichage des valeurs du tableau, string aHeader - message à partir duquel l'affichage du tableau commence, pour des raisons de commodité.

D'après les résultats de la mesure des performances (figure 1), les fonctions sont classées dans l'ordre suivant :

  • Hoare - 15 ms ;
  • Shell - 318 ms ;
  • SelectFst - 451 ms ;
  • Select - 1318 ;
  • Insert - 1751 ;
  • Bulle - 4513 ;

Fig. 1 : Performances des algorithmes de tri

Figure 1. Résultats de la mesure des performances de différentes fonctions de tri de tableaux

Le leader évident est la méthode de Hoare, mais cette méthode étant récursive, il convient d'être prudent lors de son utilisation.

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

Fonction permettant de calculer la taille du lot à partir du risque par dépôt Fonction permettant de calculer la taille du lot à partir du risque par dépôt

La fonction calcule la taille du lot d'une position ouverte. Le prix d'ouverture d'une transaction, le prix du niveau de stop loss et le risque par transaction en pourcentage du dépôt sont transmis comme paramètres.

ATR Cycles ATR Cycles

Un filtre de volatilité basé sur 3 ATR : un ATR rapide, un ATR moyen et un ATR lent.

EMA_STD_VA EMA_STD_VA

Moyenne exponentielle adaptative en fonction de la valeur de l'écart-type.

EMA_ATR_VA EMA_ATR_VA

Moyenne mobile exponentielle adaptative - ATR Volatilité ajustée par Jose Silva sur la base de l'indicateur ATR.