[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 131
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
Suite du thème
Précédent ici https://www.mql5.com/ru/forum/111497
J'essaie de remplir un tableau unidimensionnel ValueArr[].
Je ne suis pas sûr que ce soit correct.
À chaque tic-tac, la fonction GetValue() produit une valeur int. Comment remplir ValueArr[]?
Ma tentative est-elle correcte ?
La taille du tableau doit être augmentée de un à chaque tic ? Sa taille sera alors limitée par la mémoire disponible de l'ordinateur.
Augmentez la taille du tableau ValueArr[] à l'aide de la fonction ArrayResize() et ajoutez les nouvelles données dans le tableau. Encore une fois - où voulez-vous les ajouter ? Au début ou à la fin ?
Si au début, vous devez déplacer les données précédemment écrites, sinon elles seront écrasées par les données nouvellement écrites.
Si à la fin, alors :
On définit d'abord la taille du tableau = zéro, et au départ on l'augmente de 1 (taille++), puis on redimensionne le tableau ( ArrayResize(ValueArr, taille) ;) et on écrit les données dans la cellule ValueArr[] indexée par taille-1 (ValueArr[taille-1]), obtenue par GetValue() ; (ValueArr[taille-1]=GetValue() ;).
Voulez-vous que la taille du tableau augmente d'une unité à chaque tic ? Sa taille sera alors limitée par la mémoire disponible de l'ordinateur.
À chaque tick, augmentez la taille du tableau ValueArr[] à l'aide de la fonction ArrayResize() et ajoutez de nouvelles données dans le tableau. Encore une fois - où voulez-vous les ajouter ? Au début ou à la fin ?
Si au début, vous devez déplacer les données précédemment écrites, sinon elles seront écrasées par les données nouvellement écrites.
Définissez d'abord la taille du tableau = zéro, et au début augmentez-la de 1 (taille++), puis redimensionnez le tableau ArrayResize(ValueArr, taille) ; et ajoutez les données obtenues par la fonction GetValue() dans la cellule du tableau ValueArr[] indexée par la taille-1 (ValueArr[taille-1]) ;
Oui, les données de GetValue() seront écrites à chaque tick dans le tableau ValueArr[].
La taille du tableau est augmentée à chaque tic, mais elle peut être définie en une seule fois, par exemple [10000].
Leséléments du tableau sont disposés dans l'ordre d'arrivée, c'est-à-dire que le premier élément écrit est le premier dans la "file d'attente générale",
le deuxième élément est le deuxième dans la file d'attente.
Si j'ai bien compris, cela ressemble à ceci :
J'espère vous avoir bien compris.
Les éléments du tableau sont classés par ordre d'arrivée, c'est-à-dire que le premier écrit est le premier dans la "file d'attente générale",
pourquoi ne pas utiliser un tableau chronologique ?
J'essaie de remplir un tableau unidimensionnel ValueArr[].
Je ne suis pas sûr que ce soit correct.
À chaque tic-tac, la fonction GetValue() produit une valeur int. Comment remplir ValueArr[]?
Ma tentative est-elle correcte ?
int ValueArr[size];
vous ne pouvez pas. Lorsque vous déclarez un tableau, vous pouvez soit spécifier une constante comme taille, soit rien, et le tableau est alors considéré comme dynamique.
La méthode correcte est la suivante
int ValueArr[]; int init() { ArrayResize(ValueArr,size); }
Veuillez me conseiller ! Existe-t-il une fonction dans MT4, qui prendrait en compte le résultat d'une transaction précédente pour en ouvrir une nouvelle ? Si oui, comment puis-je le spécifier correctement ?
Veuillez me conseiller ! Existe-t-il une fonction dans MT4, qui prendrait en compte le résultat d'une transaction précédente pour en ouvrir une nouvelle ? Si oui, comment puis-je le spécifier correctement ?
Il n'y a pas de telle fonction intégrée, vous devez l'écrire vous-même, j'ai montré un exemple ici: https://www.mql5.com/ru/forum/131277/page113.
C'est...
tu ne peux pas. Lors de la déclaration d'un tableau, soit une constante est spécifiée comme taille, soit rien, et le tableau est alors considéré comme dynamique.
La méthode correcte est la suivante
Alors je suppose que c'est tout :
C'est bien ça ?