Rejoignez notre page de fans
- Vues:
- 46
- Note:
- Publié:
-
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 :
- Tri à bulles;
- Tri par sélection;
- Tri par insertion;
- Tri par coquille;
- Méthode detri àla cire / tri rapide;
- méthode de sélection utilisant les fonctions ArrayMinimum() et ArrayMaximum().
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 ;

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
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
Un filtre de volatilité basé sur 3 ATR : un ATR rapide, un ATR moyen et un ATR lent.
EMA_STD_VA
Moyenne exponentielle adaptative en fonction de la valeur de l'écart-type.
EMA_ATR_VA
Moyenne mobile exponentielle adaptative - ATR Volatilité ajustée par Jose Silva sur la base de l'indicateur ATR.