Trouble de l'erreur il n'y a pas d'opérations commerciales - page 3

 
il s'agit d'une erreur très courante lors de l'affichage sur le marché. vous pourriez même encadrer ce post et l'accrocher ;)
Cela se produit généralement dans des systèmes très complexes avec des entrées peu fréquentes, mais ce n'est pas votre cas.

Cependant, jetons un coup d'oeil à votre code.
il existe un contrôle "AllChecks" pour une partie des erreurs possibles avec un seul résultat en toutes circonstances - faux
si elle est fausse, votre EA n'essaiera pas d'effectuer une transaction.
C'est logique, mais c'est maladroit. Vous ne pouvez pas ouvrir un si petit lot ? D'accord, ouvrons le lot minimum, et ainsi de suite.

Au fait,ENUM_ORDER_TYPE et toutes ses valeurs ne sont pas utilisées dans mql4, bien qu'elles le soient en quelque sorte. Ce sont des constantes énumérées accidentellement reportées de mql5.
Nous pouvons les utiliser, mais ils ne sont pas tout à fait corrects.
 
D'ailleurs, votre signal n'est pas correct non plus.
TopPrice > 80 && LowerPrice >80
vous comparez directement un double avec un int.
Au moins, vous auriez dû l'écrire comme ceci :
TopPrice > 80.0 && LowerPrice >80.0
parce que 80 est un int, alors que 80.0 est un double, vous pouvez le vérifier :
Print(440/80) //5
Print(440/80.0) //5.5
comment comparer correctement un double avec un double Je pense que vous trouverez.

Ce n'est pas crucial dans ce cas, mais cela reste une erreur.
 
Nikolay Khrushchev:
il s'agit d'une erreur très courante lors de l'affichage sur le marché. vous pouvez même encadrer ce post et l'accrocher ;)
cela se produit généralement dans des systèmes très complexes avec des entrées peu fréquentes, mais ce n'est pas le cas pour vous.

Cependant, jetons un coup d'oeil à votre code.
il existe un contrôle "AllChecks" pour une partie des erreurs possibles avec un seul résultat en toutes circonstances - faux
si elle est fausse, votre EA n'essaiera pas d'effectuer une transaction.
C'est logique, mais c'est maladroit. Vous ne pouvez pas ouvrir un si petit lot ? D'accord, ouvrons le lot minimum, et ainsi de suite.

Au fait,ENUM_ORDER_TYPE et toutes ses valeurs ne sont pas utilisées dans mql4, bien qu'elles le soient en quelque sorte. Ce sont des constantes énumérées accidentellement reportées de mql5.
Nous pouvons les utiliser, mais ils ne sont pas tout à fait corrects.

Quelle est l'erreur et comment l'éviter à l'avenir ?

 
Алексей Тарабанов:

Quelle est l'erreur et comment l'éviter à l'avenir ?

effectuer des contrôles plus souples.
J'ai donné l'exemple du lot, si vous ne pouvez pas ouvrir le lot spécifié, ouvrez le lot minimum ou maximum possible, plutôt que d'abandonner l'idée.

 
Nikolay Khrushchev:

Faites des tests plus flexibles.
J'ai donné un exemple avec un lot, si vous ne pouvez pas ouvrir le spécifié - ouvrez le minimum ou le maximum possible, plutôt que de simplement abandonner l'idée.

En d'autres termes, êtes-vous sûr que lorsque vous et moi testons nos EA, Metacquotes fait passer nos transactions au réel. Pour votre (leur) argent.

 
Алексей Тарабанов:

En d'autres termes, êtes-vous sûr que lorsque vous et moi testons nos EA, Metacquotes fait passer nos transactions au réel. Pour votre (leur) argent.

Non, je n'ai pas dit ça du tout.

 
Alors je ne te comprends pas.
 
Алексей Тарабанов:
J'ai donc dû mal vous comprendre.

évidemment)

Tout est serré dans le code de l'homme. Vous ne pouvez pas ouvrir un lot que je veux - je ne le ferai pas. D'ailleurs, il essaie d'ouvrir 0,01 lot.
Il s'avère donc que le conseiller expert dans le compte avec le lot minimum 0.1 (ou dans le testeur chez le courtier avec le lot minimum 0.1) n'ouvre rien.

Dans cette situation, vous avez besoin que l'EA ouvre 0.1 lot, et ensuite tout ira bien.

 
Quelqu'un a-t-il résolu ce problème d'absence d'opérations de trading lors de la publication sur le marché ? C'est juste une crise de colère. J'ai déjà codé en dur et fait en sorte que 100% ouvre 1 position au démarrage de l'EA, mais il me le renvoie toujours... Je me débats avec ce problème depuis deux semaines maintenant, et les versions précédentes ne passent pas non plus la validation, même si elles ont été commercialisées et ont passé la validation auparavant.
 
Roman Gergert:
Les amis, est-ce que quelqu'un a résolu ce problème d'absence d'opérations de trading lors de la publication sur le marché. C'est juste une crise de colère. J'ai déjà codé en dur et fait une ouverture à 100% d'une position au démarrage de l'EA, mais il me la renvoie toujours... Je me débats avec ce problème depuis deux semaines maintenant, et les versions précédentes ne passent pas non plus la validation, même si elles ont été commercialisées et ont passé la validation auparavant.

L'ordinateur est un idiot. © M.M. Botvinnik.

Alors, faites comme si vous étiez un idiot et essayez de faire passer l'algorithme du point de vue d'un idiot et avec les paramètres définis par un idiot. C'est exactement le point de vue dans lequel s'inscrit l'autovalidateur. Faites attention au "retour d'information". Le conseiller expert vous informe-t-il des erreurs ?