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

 
Renat Akhtyamov:

des énigmes ;)

Ce n'est pas que les tests sont étranges, il y a des erreurs de logique de base. Quel genre d'énigmes sont-elles ?

S'il n'y avait pas de marge pour l'ouverture, la fermeture ne sera pas prise en compte. OrderSelect ne fonctionnera plus.

J'ai peur de voir ce qu'il y a "dans le robot principal, qui fonctionne à 100%, voire 100500 sur démo et en réel".

 
Andrey Kaunov:

Cela fait une semaine que j'émiette ce code ! !! Suppression de tout ce qui pouvait provoquer une erreur ou empêcher l'ouverture d'une transaction. Laissez-moi vous envoyer le code source et voyez par vous-même ce qui ne va pas. Je suis sûr que rien ne doit interférer.

Même un simple EA peut grincer des dents. Il y a eu un passage, si vous vous souvenez, où il n'y a pas eu de transactions sur deux paires.


Ils te donnent tout ce que tu veux.

Au minimum, les conditions commerciales auraient été décrites dans le rapport,

ou c'est plus facile à deviner, je ne sais pas.

 
Maxim Kuznetsov:

Ce n'est pas que les tests sont bizarres, c'est la logique de base qui est fausse. Quel genre d'énigmes y a-t-il ?

S'il n'y avait pas de marge pour l'ouverture, la fermeture ne sera pas non plus prise en compte. OrderSelect ne le laisse pas travailler davantage.

J'ai peur de voir qu'il existe "un robot de base qui fonctionne à 100%, voire à 100500 sur démo et en réel".

Oui, je vois tout.

une seule chose vous empêche de mettre le bon code - le testeur l'avale entièrement

Je t'ai déjà dit de compter d'abord le nombre de transactions, sans regarder les tickets, mais tu ne comprends pas...
 
Renat Akhtyamov:

Il s'avère qu'il n'y a pas eu de transactions en NZD ou en GBP.

Hmm, intéressant

parce que tout fonctionne dans le testeur d'Andrew.

Dans le testeur, tout fonctionne sur toutes les paires. Les paramètres d'entrée, qui créent les conditions d'entrée(je veux dire le gros, l'EA principal), qui à certaines valeurs rendraient impossible l'ouverture de la transaction, j'ai simplement supprimé les paramètres externes et leur ai donné une valeur constante. C'était la première étape. Ensuite, j'ai supprimé toutes les conditions d'ouverture de la transaction, à l'exception des plus simples, pour éviter la création d'une transaction après l'autre. Cependant, le code ne passe toujours pas la vérification.

Que dois-je faire ? écrire un conseiller expert nu sans aucune condition, comme ce simple conseiller, pour passer la validation ?

 
Andrey Kaunov:

Cela fait une semaine que j'émiette ce code ! !! Suppression de tout ce qui pouvait provoquer une erreur ou empêcher l'ouverture d'une transaction. Laissez-moi vous envoyer le code source et voyez par vous-même ce qui ne va pas. Je suis sûr que rien ne doit interférer.

Même un simple EA peut grincer des dents. Il y a eu un passage, si vous vous souvenez, où il n'y a pas eu de transactions sur deux paires.


Il n'est pas nécessaire d'essayer d'obtenir des transactions sur chacun des symboles testés.

Il est nécessaire de traiter correctement leurs erreurs d'ouverture.

Peu importe que des transactions aient lieu ou non sur l'un des symboles. Il est important que la non-ouverture de la position soit traitée correctement par le Conseiller Expert. Dans votre cas - un message au journal, car il est impossible d'ouvrir une position avec le lot minimum avec un solde d'un dollar.

Tu entends ce que je te dis ? Ne forcez pas l'ouverture de positions sur tous les symboles négociés. Le Validator allume intentionnellement un écolier stupide et observe comment votre Expert Advisor réagit à des paramètres stupides.

Je commence déjà à invoquer discrètement les mauvais esprits........ :(((

 
Renat Akhtyamov:

Oui, je vois tout.

La seule chose qui m'empêche de poster le bon code est que le testeur l'avale entièrement.

Je vous l'ai déjà dit - vous devez compter le nombre de transactions, mais vous l'avez manqué...

Non, Renat, le validateur génère une certaine erreur sur cela aussi. J'ai essayé


 
Andrey Kaunov:

Non, Renat, le validateur génère une certaine erreur sur cela aussi. J'ai essayé


sOr=bOr=0;

      for (i=OrdersTotal()-1;i>=0;i--)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol())
         {
            if(OrderType()==OP_BUY)bOr=bOr+1;
            if(OrderType()==OP_SELL)sOr=sOr+1;
         }
      }

if(sOr==0)

{

//open sell

}

if(bOr==0)

{

//open buy

}

 
Artyom Trishkin:

Il n'est pas nécessaire d'essayer par tous les moyens de réaliser des transactions sur chacun des symboles testés.

Il est nécessaire de traiter correctement leurs erreurs d'ouverture.

Il importe peu que des transactions aient été effectuées ou non sur l'un des symboles. Il est important que la non-ouverture de la position soit traitée correctement par le Conseiller Expert. Dans votre cas - un message au journal, car il est impossible d'ouvrir une position avec le lot minimum avec un solde d'un dollar.

Tu entends ce que je te dis ? Ne forcez pas l'ouverture de positions sur tous les symboles négociés. Le validateur allume intentionnellement un écolier stupide et observe comment votre conseiller expert réagit à des paramètres stupides.

Je commence déjà à invoquer discrètement les mauvais esprits........ :(((

Artyom, j'ai demandé pour la énième fois et je n'ai pas eu de réponse cohérente (sans vouloir vous offenser). Pourquoi est-ce qu'il fait toujours des sottises pour le NZDUSD, et après cela il se met dans une sorte de pépin avec une attente interminable. C'est le validateur qui se bloque, pas le conseiller expert. Il n'y a pas d'endroit où l'EA peut s'écraser. Je vous paierai 50 $, Artem, si vous réparez le code pour qu'il passe la validation tout le temps, plutôt qu'une fois tous les 20-30 essais, comme maintenant.

D'accord ? Dois-je envoyer le code ?

 
Andrey Kaunov:

Dans le testeur, tout fonctionne sur toutes les paires. Les paramètres d'entrée, qui créent les conditions d'entrée(je veux dire le gros, l'EA principal), qui, à certaines valeurs, rendraient impossible l'ouverture d'une transaction, j'ai simplement supprimé les paramètres externes et les ai fixés à une valeur constante. C'était la première étape. Ensuite, j'ai supprimé toutes les conditions d'ouverture de la transaction, à l'exception des plus simples, pour éviter la création d'une transaction après l'autre. Cependant, le code ne passe toujours pas la vérification.

Que devez-vous faire, écrire un conseiller expert nu sans aucune condition, comme ce simple conseiller, pour passer la validation ?

Vous n'avez pas besoin de saisir de paramètres précis. Tous les paramètres doivent être calculés à partir des conditions commerciales. Dans les paramètres, laissez le lot à ouvrir. Si le lot est calculé, alors en cas de manque de fonds, même au lot minimum, afficher un message à ce sujet. Tous les autres paramètres de la transaction doivent également être vérifiés, contrôlés et corrigés. Si la correction est impossible, vous en serez informé.

Cependant, s'il y a beaucoup de conditions et qu'elles dépendent toutes de l'état actuel du commerce et des signaux, il est probable qu'il n'y aura pas d'accord dans le validateur. Dans ce cas, une approche individuelle du test de cette EA est nécessaire.

 
Andrey Kaunov:

Artyom, c'est la deuxième fois que je pose la question et je n'ai pas reçu de réponse intelligible (sans vouloir vous offenser). Pourquoi est-ce qu'il s'allume toujours sur le NZDUSD et ensuite se plante dans un pépin avec une attente interminable. C'est le validateur qui se bloque, pas le conseiller expert. Il n'y a pas d'endroit où l'EA peut s'écraser. Je vous paierai 50 $, Artem, si vous réparez le code pour qu'il passe la validation tout le temps, plutôt qu'une fois tous les 20-30 essais, comme maintenant.

D'accord ? Vous voulez que je vous envoie le code ?

Non. Je n'ai pas besoin de l'argent de quelqu'un d'autre pour que celui qui l'a payé ne comprenne pas par lui-même. Ce n'est pas l'argent qui est le plus important, c'est votre résultat.