Erreurs, bugs, questions - page 2479

 
fxsaber:
Lors de la compilation de ce sprint.


ce journal.


Mise en évidence de deux erreurs. Est-il normal qu'ils n'aillent pas de haut en bas dans le code source ?

Une fonction void peut-elle retourner une valeur ?

void Func() { return(true); }
 
Alexey Viktorov:

Une fonction void peut-elle retourner une valeur ?

L'erreur a été faite spécifiquement pour l'exemple. Je demandais quelque chose d'autre.

 
fxsaber:

Mise en évidence de deux erreurs. Est-il normal qu'ils n'aillent pas de haut en bas du code source ?

Eh bien, vous pouvez décrire n'importe quelle fonction au début du code MQL, ainsi qu'à la fin. La compilation sera toujours construite selon la logique du fabricant du compilateur et seul le développeur sait ce qu'il construit là et dans quelle séquence.

Le web regorge d'articles sur les compilateurs, sur la manière dont ils construisent les tables de liens et sur la manière dont ils relient...

C'est un compilateur, pas un interprète, non ? - Au niveau de l'interpréteur, c'est comme une exécution descendante des commandes ou une lecture du code source par une machine.


PS : vous pouvez vérifier que le compilateur n'inclut pas tout dans le byte-code, écrivez un code de test, compilez-le, voyez la taille du .ex5 puis ajoutez à n'importe quel endroit (en haut ou en bas) un grand nombre de fonctions différentes et ne les appelez pas - la taille du .ex5 ne devrait pas changer, elles n'étaient pas incluses dans le .ex5

 
Igor Makanu:

Eh bien, vous pouvez décrire n'importe quelle fonction au début du code MQL ainsi qu'à la fin. La compilation sera toujours construite selon la logique du compilateur, ce qu'il construit là et dans quel ordre - seul le développeur le sait, apparemment le main() est construit en premier, tous les appels de fonction du main() sont suivis par la compilation des fonctions et ensuite tout ce qui reste.

Le web regorge d'articles sur les compilateurs, sur la manière dont ils construisent les tables de liens et sur la manière dont ils relient...

C'est un compilateur, pas un interprète, non ? - Au niveau de l'interpréteur, c'est comme une exécution descendante des commandes ou une lecture du code source par une machine.


PS : vous pouvez vérifier que le compilateur n'inclut pas tout dans le byte-code, écrivez un code de test, compilez-le, voyez la taille du .ex5 puis ajoutez à n'importe quel endroit (en haut ou en bas) un grand nombre de fonctions différentes et ne les appelez pas - la taille du .ex5 ne devrait pas changer, elles n'étaient pas incluses dans le .ex5

Dans chaque erreur, il y a une entrée concernant le numéro de la ligne et de la colonne. La forme sous laquelle tout se trouve dans le compilateur n'a pas d'importance. Il semble qu'il ait toujours trié les erreurs en fonction du numéro de ligne spécifié.

 
fxsaber:

Il semble avoir toujours trié les erreurs par numéro de ligne.

Je n'ai jamais fait attention, j'ai toujours cliqué sur l'endroit où se trouvait l'erreur, ça ne semblait pas avoir d'importance.

 
Pourquoi la connexion avec MQ-Demo est-elle perdue alors que MQ sort une nouvelle bêta ?
 
fxsaber:
Pourquoi la connexion à MQ-Demo est-elle perdue alors que MQ met en place une nouvelle version bêta ?
Mais il est possible de tester la perte de connexion au serveur. C'est aussi une très bonne chose que la négociation - sa résolution côté serveur - soit fréquemment désactivée/activée. Également bon pour les tests. J'aimerais également que certains paramètres de compte puissent être modifiés dans les deux sens - ce serait idéal pour les tests. Par exemple, l'effet de levier, les niveaux d'appel de marge et de stop out, etc.
 
Artyom Trishkin:
Mais vous pouvez tester la perte de connexion au serveur. C'est aussi une très bonne chose que le trading - sa résolution côté serveur - soit souvent désactivé/activé. Convient également pour les tests. J'aimerais également que certains paramètres de compte puissent être modifiés dans les deux sens - ce serait idéal pour les tests. Par exemple, l'effet de levier, les niveaux d'appel de marge et de stop-out, etc.

Pouvez-vous imaginer la quantité de morve qu'il y aurait de la part de ceux qui n'ont pas besoin de le tester ? Ils ne le comprendront pas.

 
Artyom Trishkin:
Mais vous pouvez tester la perte de communication avec le serveur. C'est aussi très bien que la négociation - sa résolution côté serveur - soit souvent désactivée/activée. Convient également pour les tests. J'aimerais également que certains paramètres de compte puissent être modifiés dans les deux sens - ce serait idéal pour les tests. Par exemple, l'effet de levier, les niveaux d'appel de marge et de stop out, etc.

Tout cela peut être fait via le testeur personnalisé.

 
fxsaber:

Tout cela peut être fait par le biais du testeur personnalisé.

Vous pouvez. Ou vous pouvez ne rien faire du tout :)

Mais vous souhaitez disposer d'un serveur de démonstration interne avec des "éviers de cuisine" - utiles pour la pratique. Et pour le trading non-automatique - également utile.