Questions des débutants MQL5 MT5 MetaTrader 5 - page 547

 
Boris:
Il y a beaucoup d'exemples dans la base de code ! Et tout d'abord, vous devez ajuster votre logique dans tout ce que vous faites ! Pourquoi, par exemple, représenter Magik en externe, optimiser la valeur de Magik pour augmenter la rentabilité ? ;)

De quelle Magik parlons-nous ?

Et dans le code, je suppose que ce sont les chiffres avec un moins qui causent l'erreur ?

 
edutak:

Et dans le code, je suppose que ce sont les chiffres avec un moins qui causent l'erreur ?

Oui.

Vous pouvez l'écrire comme ceci : a_200 = b ; Mais a-200 = b ; - vous obtiendrez une erreur.

 
Alexey Kozitsyn:

Oui.

Vous pouvez écrire : a_200 = b ; Mais a-200 = b ; - vous obtiendrez une erreur.

Merci.
 
edutak:

De quelle Magick parlons-nous ?

Le vôtre !
 
Alexey Kozitsyn:

Oui.

Vous pouvez écrire : a_200 = b ; Mais a-200 = b ; - vous obtiendrez une erreur.

Mais : b = a-200 ; ne donnera pas d'erreur.
 
Boris:
Mais : b = a-200 ; ne donnera pas d'erreur.
Ici, il suffit de comprendre que le signe égal n'est pas un "égal" comme en mathématiques, mais une opération d'affectation. C'est-à-dire que la partie gauche (variable) est affectée à la valeur de la partie droite (expression ou variable).
 
S'il vous plaît, dites-moi.

Si le compilateur ne donne aucune erreur, mais que les ordres ne s'ouvrent pas correctement, tous en même temps. Cela pourrait être dû à une logique défectueuse de l'algorithme.

Pour être plus précis, si vous désactivez le bloc de fermeture des ordres, les ordres s'ouvrent correctement ; si vous activez le bloc de fermeture des ordres, les ordres s'ouvrent en une seule fois sur chaque tick.

 
edutak:
S'il vous plaît, dites-moi.

Si le compilateur ne donne aucune erreur, mais que les ordres ne s'ouvrent pas correctement, tous en même temps. Cela pourrait être dû à une logique défectueuse de l'algorithme.

Pour être plus précis, si nous désactivons le bloc de fermeture des ordres, les ordres s'ouvrent correctement ; si nous activons le bloc de fermeture des ordres, les ordres s'ouvrent en une seule fois sur chaque tick.

Sans le code, vous ne serez pas aidé.
 
edutak:
S'il vous plaît, dites-moi.

Si le compilateur ne donne aucune erreur, mais que les ordres ne s'ouvrent pas correctement, tous en même temps. Cela pourrait être dû à une logique défectueuse de l'algorithme.

Pour être plus précis, si vous désactivez le bloc de fermeture des ordres, les ordres s'ouvrent correctement ; si vous activez le bloc de fermeture des ordres, les ordres s'ouvrent en une seule fois sur chaque tick.

Les erreurs sont de trois types.

Les erreurs de syntaxe - elles sont détectées au stade de la compilation.

Logique - ils sont détectés pendant le débogage et les tests.

Exécution - les erreurs d'exécution sont généralement causées par des données incorrectes, par exemple unedivision par zéro ou un dépassement de tableau.

 
Vladislav Andruschenko:
Vous n'obtiendrez aucune aide sans le code.

Je ne voudrais pas montrer le code, car la première version s'est avérée très résistante. Il a survécu pendant 10 ans sans optimisation. Maintenant, je veux le rendre un peu plus complexe et rentable.

Le code est très simple.

Néanmoins, des ordres peuvent être ouverts à chaque tick en raison d'erreurs dans la logique.

Raison: