Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1409
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Question sur mql4, plus précisément sur la fonction ArraySort()
Voici mon code
Lorsque LoY[0][0] a obtenu la valeur Bid( 1.6134) après l'ouverture de l'ordre, la fonction ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND) a trié le tableau par ordre croissant selon la première dimension et a déplacé l'élément du tableau ayant la plus grande valeur vers le haut du tableau. Ainsi, LoY[0][0] avec sa valeur devient LoY[30][0] dans le tableau trié par ordre croissant. C'est logique et je suis donc d'accord avec cela.
Ce qui, à mon avis, n'est pas logique ou acceptable pour moi ? Pourquoi ArraySort() LoY[15][0] a-t-il placé 0 sous l'index, malgré le fait que sa valeur (1,61040) soit égale aux valeurs de tous les autres éléments du tableau sauf le trentième. La même chose n'est pas claire, pourquoi ArraySort()LoY[30][0] a mis l'indice 15, malgré le fait que sa valeur (1.61040) est égale aux valeurs de tous les autres éléments du tableau sauf le trentième.
UNE QUESTION : comment faire en sorte qu'un élément avec l'indice 0 soit LoY[1][0] sur ce tick , qu'un élément avec l'indice 15 soitLoY[15][0] et qu'un élément avec l'indice 29 soit LoY[30][0]
. En d'autres termes, comment faire en sorte qu'une fonction ne trie pas plus loin les éléments avec la même valeur ? Ce n'est pas logique et c'est insensé.
Merci pour votre aide.
Il s'agit probablement de l'algorithme de tri. Il existe quelques permutations des éléments du tableau.
Essayez d'autres options de tri.
Il s'agit probablement de l'algorithme de tri. Il existe quelques permutations des éléments du tableau.
Essayez d'autres options de tri.
Merci beaucoup pour les conseils. Pourriez-vous me dire s'il existe d'autres options de tri dans mql4 ? Si oui, où peut-on les trouver dans l'annuaire ?
Essayez-le :
bien que la fonction soit pour un tableau unidimensionnel, mais elle peut être retravaillée
Essayez-le :
Il est vrai que la fonction est destinée à un tableau unidimensionnel, mais elle peut être retravaillée.
Merci beaucoup.
Un conseil, s'il vous plaît,
Le code recherche les graphiques ouverts et crée une étiquette avec le nom du symbole, mais si deux graphiques ont le même symbole,
Je ne crée une étiquette que sur un seul graphique, qu'est-ce que je fais de travers ?
Un conseil, s'il vous plaît,
Le code recherche les graphiques ouverts et crée une étiquette avec le nom du symbole, mais si deux graphiques ont le même symbole,
Je ne crée l'étiquette que sur un seul graphique, qu'est-ce que je fais de travers ?
Les ID des graphiques (ChartID()) d'un même symbole sont différents. Utilisez-les.
Les identifiants ChartID() d'un même symbole sont différents. Utilisez-les.
ChartFirst()+i
c'est-à-dire en passant en revue tous les graphiques ouverts
Ou est-ce que je vous ai mal compris ? Y a-t-il un moyen de le rendre clair, sous forme de code ?
Très étrange, sur tous les nouveaux graphiques ouverts met une marque, seul un graphique est ignoré (
Lisez attentivement la documentation et le code d'exemple. Votre boucle n'est pas organisée correctement.
Ne me dites pas que les boucles for et while fonctionnent de la même façon. Ce n'est pas le problème, ce sont les lignes en surbrillance.