Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 73
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
Artem, tu as tort. Le tableau déclaré au niveau global est visible dans toutes les parties du programme et il n'est pas nécessaire de le passer de quelque part. Il suffit de le remplir à un endroit du programme, de le trier à un autre, et de le lire au troisième, peu importe.
La même fonction peut trier et/ou rechercher avec succès des données dans différents tableaux. N'est-ce pas ? Et si c'est le cas, il est préférable de transmettre le tableau par référence - pour l'avenir. Et lorsque vous appelez la fonction, il n'y a pas de mal à voir avec quel tableau elle fonctionnera.
Je fais juste ces considérations. Où ai-je tort ?
La même fonction peut trier et/ou rechercher avec succès des données dans différents tableaux. N'est-ce pas ? Et si c'est le cas, il est préférable de transmettre le tableau par référence - pour l'avenir. Et lorsque vous appelez la fonction, vous devez également être en mesure de voir le tableau avec lequel elle va fonctionner.
Je n'ai raison que sur ce point. Où est le mal ?
Je l'ai. Vos conseils sont destinés aux programmeurs de lego. Vous ne faites pas cette perversion vous-même.
Il reste donc une erreur, à savoir que le tableau doit être déclaré globalement.
Je suis heureux que nous nous comprenions.
Je l'ai. Vos conseils sont pour les programmeurs de lego. Vous ne faites pas de telles perversions vous-même.
Il ne reste plus qu'une chose à faire, à savoir que le tableau doit être déclaré globalement.
Heureux que nous nous comprenions.
Ce que je veux dire dans ce contexte est ceci :
Pour cette raison, il serait préférable d'avoir des tableaux globaux - pour les ordres et les positions fermés et ouverts. À chaque nouveau tick, nous transmettons une fois la quantité nécessaire d'ordres/positions, en remplissant deux tableaux avec eux. Et ensuite, nous obtenons d'eux toutes les données nécessaires sur le même tic-tac. Notez que non seulement le dernier ordre/position fermé/ouvert et toutes ses données sont calculés, mais aussi tous les ticks parents et enfants de toutes les positions sont recherchés en cas de clôture partielle. Ainsi, à tout moment, je peux voir de quel ticket provient telle ou telle position, si elle a été partiellement fermée plus d'une fois - tout cela fonctionne déjà dans une classe qui tourne dans un timer. J'ai besoin de nombreuses autres données avec un petit nombre total de cycles. La profondeur d'historique requise pour les tableaux est définie pour le testeur.
Et ainsi de suite...
Dans ce contexte, mon point de vue est le suivant :
Pour cette raison, il serait préférable d'avoir des tableaux globaux - pour les ordres et les positions fermés et ouverts. À chaque nouveau tick, nous transmettons une fois la quantité nécessaire d'ordres/positions, en remplissant deux tableaux avec eux. Et ensuite, nous obtenons d'eux toutes les données nécessaires sur le même tic-tac. Notez que non seulement le dernier ordre/position fermé/ouvert et toutes ses données sont calculés, mais aussi tous les ticks parents et enfants de toutes les positions sont recherchés en cas de clôture partielle. Ainsi, à tout moment, je peux voir quel ticket provient de telle ou telle position, s'il a été fermé partiellement plus d'une fois - tout cela fonctionne déjà dans une classe qui s'exécute dans un timer. J'ai besoin de nombreuses autres données avec un petit nombre total de cycles. Pour le testeur, la profondeur d'historique souhaitée est définie pour les tableaux.
Et ainsi de suite...
Donc, nous ne nous comprenons pas bien.
Si le tableau est global, pourquoi le passer dans une fonction par référence s'il est déjà visible dans cette fonction ?
Alors on ne se comprend pas bien.
Si le tableau est global, pourquoi le passer dans une fonction par référence, s'il est déjà visible dans cette fonction ?
Surcharge de fonctions - cette notion existe ;)
Si vous devez effectuer les mêmes actions avec différents tableaux dans une seule fonction, alors...
Cependant - nous discutons de différents cas particuliers...
Surcharge de fonctions - ce concept existe ;)
Si vous devez effectuer les mêmes actions avec différents tableaux dans une seule fonction, alors...
Cependant - nous discutons de différents cas particuliers...
Eh bien, Dieu merci, je comprends ce que tu penses. Mais ils ressemblent beaucoup à des conseils aux programmeurs de lego.
Il serait très étrange d'avoir en stock un grand nombre de fonctions fonctionnant à 100% et de les réécrire à chaque fois. Ce n'est pas un conseil pour construire des maisons en dés. Il est conseillé d'accumuler vos propres bibliothèques de fonctions et classes. Et qu'y a-t-il de mal à ce qu'une fonction gère plusieurs tableaux en fonction de celui qui lui est passé par référence ? Et qu'est-ce qui ne va pas avec les modèles de fonctions ?
Si vous avez du code pour trier un tableau, pourquoi écrire une fonction distincte pour chaque type de tableau ? Vous pouvez simplement surcharger et trier n'importe quel type. Comment pensez-vous que ArraySort() fonctionne ? Vous y passez différents types de tableaux, et à la sortie vous recevez le tableau trié qui a été passé - ou les méta quotas sont aussi des lego-codeurs ou quoi ?
Il serait très étrange d'avoir en stock un grand nombre de fonctions fonctionnant à 100% et de les réécrire à chaque fois. Ce n'est pas un conseil pour construire des maisons avec des cubes. Il est conseillé d'accumuler vos propres bibliothèques de fonctions et classes. Et qu'y a-t-il de mal à ce qu'une fonction gère plusieurs tableaux en fonction de celui qui lui est passé par référence ? Et qu'est-ce qui ne va pas avec les modèles de fonctions ?
S'il existe un code pour trier un tableau, pourquoi devrions-nous écrire une fonction distincte pour chaque type de tableau ? Vous pouvez simplement faire une surcharge et trier n'importe quel type. Comment pensez-vous que ArraySort() fonctionne ? Vous passez différents types de tableaux ici, et la sortie est un tableau trié, que vous avez passé - ou des métaquotes aussi des lego-codeurs, ou quoi ?
L'essentiel est de ne pas en arriver là.
https://www.mql5.com/ru/forum/165468/page3#comment_3978059
L'essentiel est de ne pas en arriver là.
https://www.mql5.com/ru/forum/165468/page3#comment_3978059
il existe une variable
int Niveau = 0 ;
Pendant que le programme est en cours, il est en constante évolution. Aidez-moi à écrire une condition : si le niveau n'a PAS changé, ne faites rien, si le niveau a changé (peu importe s'il a changé plus ou moins), effectuez une action { opérateur }.