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
Voici un exemple d'écriture et de lecture d'un tableau
Exécutez-le deux fois en mode débogage et voyez combien de temps il faut pour écrire et lire le tableau. La première exécution écrira le tableau dans le fichier, et la seconde le lira et commencera à imprimer les dates du tableau. Ensuite, déterminez la partie mise en évidence, si IS_DEBUG_MODE doit être supprimé, et si IsOptimization() doit être inséré dans la condition.
Il existe une fonction, quelque chose comme FileWriteInteger(). Identifier par emplacement, la variable doit être au début du fichier, après l'avoir lue le pointeur se déplacera à son extrémité, c'est-à-dire au début du tableau, après avoir lu le tableau le pointeur sera avant la variable suivante...
Un article sur le travail avec les fichiers sera publié prochainement.
Je voulais vous écrire qu'il n'y a pas d'article sur les opérations de classement. Vous les rendez instructifs et lucides. Je ne manquerai pas de les lire lorsqu'ils paraîtront.
J'ai essayé de déclarer un tableau au niveau global (code mql4)
datetime T[];
remplissez-le dans l'inite
Lorsqu'il n'est pas défini au départ, il imprime la date de 1971, c'est-à-dire que le tableau est vide.
Si je remplis le tableau au début, les valeurs apparaissent. Peut-être que la raison est que le tableau est réinitialisé à chaque fois, mais sans lui le code ne compile pas ?
Le tableau disparaît. Qu'est-ce que je fais de mal ?
J'ai essayé de déclarer un tableau au niveau global (code mql4)
remplissez-le dans l'inite
Lorsqu'il n'est pas défini au départ, il imprime la date de 1971, c'est-à-dire que le tableau est vide.
Si je remplis le tableau au début, les valeurs apparaissent. Peut-être que la raison est que le tableau est réinitialisé à chaque fois, mais sans lui le code ne compile pas ?
Le tableau disparaît. Qu'est-ce que je fais de mal ?
Regardez ce que dit le compilateur.
Avec un geste aussi simple, vous avez défini un tableau local T qui disparaîtra à la sortie de OnInit...
vérifiez l'avertissement que le compilateur génère.
Avec un déplacement aussi facile, vous avez défini un tableau local T qui sera perdu lorsque vous quitterez OnInit...
Il indique qu'il existe déjà une déclaration globale)
la déclaration de 'T' cache la déclaration globale à la ligne 40
Mais, comment le faire correctement. Je n'avais jamais déclaré un tableau en utilisant des accolades auparavant. Je l'ai initialisé avec zéro et défini sa taille, puis je l'ai rempli avec la boucle. Y a-t-il un autre moyen de le faire ?
Si j'efface la date dans l'inite, le code ne compile pas, mais écrit deux erreurs :
'{' - expression attendue
'=' - utilisation d'une opération illégale
Il indique qu'il existe déjà une déclaration globale)
la déclaration de 'T' cache la déclaration globale à la ligne 40
Mais, comment le faire correctement. Je n'avais jamais déclaré un tableau en utilisant des accolades auparavant. Je l'ai initialisé avec zéro et défini sa taille, puis je l'ai rempli avec la boucle. Y a-t-il un autre moyen de le faire ?
Si j'efface la date dans l'inite, le code ne compile pas, mais écrit deux erreurs :
'{' - expression attendue
'=' - utilisation d'une opération illégale
La déclaration du tableau et l'initialisation des constantes pourraient (et devraient) être effectuées au niveau global.
Il indique qu'il existe déjà une déclaration globale)
la déclaration de 'T' cache la déclaration globale à la ligne 40
Mais, comment le faire correctement. Je n'avais jamais déclaré un tableau en utilisant des accolades auparavant. Je l'ai initialisé avec zéro et défini sa taille, puis je l'ai rempli avec la boucle. Y a-t-il un autre moyen de le faire ?
Si j'efface la date dans l'inite, le code ne compile pas, mais écrit deux erreurs :
'{' - expression attendue
'=' - utilisation d'une opération illégale
La déclaration du tableau et l'initialisation des constantes auraient pu (et dû) être effectuées au niveau global.
Oui, j'ai essayé et ça marche. Et vous ne pouvez pas le faire sans niveau global, je l'ai juste fait pour réduire le coût de calcul, pour remplir le tableau une fois dans l'init et ensuite utiliser les valeurs du tableau ?
Bien que logiquement, les variables du niveau global soient toujours constantes, le calcul est donc effectué une fois au début du programme ?
Oui, j'ai essayé et ça marche. Et vous ne pouvez pas le faire sans niveau global, je l'ai juste fait pour réduire le coût de calcul, pour remplir le tableau une fois dans l'init et ensuite utiliser les valeurs du tableau ?
Bien que logiquement les variables au niveau global soient toujours constantes, le calcul est donc effectué une fois au début du programme ?
Il indique qu'il existe déjà une déclaration globale)
la déclaration de 'T' cache la déclaration globale à la ligne 40
Mais, comment le faire correctement. Je n'avais jamais déclaré un tableau en utilisant des accolades auparavant. Je l'ai initialisé avec zéro et défini sa taille, puis je l'ai rempli avec la boucle. Y a-t-il un autre moyen de le faire ?
Si j'efface la date dans l'inite, le code ne compile pas, mais écrit deux erreurs :
'{' - expression attendue
'=' - utilisation d'une opération illégale