Problème de validation de l'EA sur le marché - page 7

 
Sergey Gritsay:

Bonjour à tous ! qui a pu contourner la vérification avec un solde de 1 $, j'ai dans mon code est de vérifier si pas assez d'argent les opérations de commerce ne fonctionnent pas. En conséquence, j'obtiens le journal de validation suivant

test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
there are no trading operations
test on GBPUSDcheck,M30
there are no trading operations
test on XAUUSDcheck,Daily
there are no trading operations


Et si je vérifie mon solde pendant l'initialisation et que je vérifie la marge minimale requise pour le lot minimum, et si je n'ai pas assez d'argent, je devrais simplement ne pas démarrer mon Conseiller Expert ?
 
Alexey Kozitsyn:
Et si, au stade de l'initialisation, vous vérifiez le solde, la marge minimale requise pour le lot minimum et, si elle n'est pas suffisante, vous ne lancez pas le conseiller expert ?
J'ai essayé, mais cela ne sert à rien
 
Sergey Gritsay:
J'ai essayé, mais cela ne sert à rien

Intéressant, étant donné qu'en fait, la sortie à l'étape d'initialisation signifie que les paramètres d'entrée, qui dans ce cas pourraient inclure la balance...

Le conseiller expert émet-il une erreur dans ce cas ? Ou bien il "part" en silence ?

 
Alexey Kozitsyn:

Intéressant, étant donné qu'en fait, la sortie à l'étape d'initialisation signifie que les paramètres d'entrée, qui dans ce cas pourraient inclure la balance...

Le conseiller expert émet-il une erreur dans ce cas ? Ou bien il "part" en silence ?

J'ajoute ce code

   if(IsTesting())
     {
     if(AccountFreeMarginCheck(_Symbol,OP_BUY,SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN))<=0.0)
     {
      return(INIT_PARAMETERS_INCORRECT);
     }

Je reçois cette réponse

test on EURUSD,H1
there are no trading operations
test on NZDUSD,H1
2016.02.01 00:00  exp_martin_new NZDUSD,H1: initialization failed (32767)
there are no trading operations


La validation a encore échoué.

 
Sergey Gritsay:

J'ajoute ce code

MT5 ? Apparemment MT4. Et pourquoi ne contrôler que le testeur ?
 

Il existe d'ailleurs un article sur le sujet. Et il y a un code :

bool CheckMoneyForTrade(string symb, double lots,int type)
  {
   double free_margin=AccountFreeMarginCheck(symb,type,lots);
   //-- если денег не хватает
   if(free_margin<0)
     {
      string oper=(type==OP_BUY)? "Buy":"Sell";
      Print("Not enough money for ", oper," ",lots, " ", symb, " Error code=",GetLastError());
      return(false);
     }
   //-- проверка прошла успешно
   return(true);
  }

Donc si quelqu'un n'aime pas quelque chose, faites un lien vers cet article.

 
Alexey Kozitsyn:
MT5 ? Apparemment MT4. Pourquoi ne contrôler que le testeur ?
Que voulez-vous dire dans le testeur ? Lorsque je négocie, j'ai le contrôle organisé dans la fonction d'ouverture de l'ordre.
 
Sergey Gritsay:
Que voulez-vous dire dans le testeur ? Lorsque je négocie, j'ai le contrôle organisé dans la fonction d'ouverture de l'ordre.
if(IsTesting())
Je ne sais pas vraiment à quoi sert cette condition alors ?
 
Alexey Kozitsyn:

Il existe d'ailleurs un article sur le sujet. Et il y a un code :

bool CheckMoneyForTrade(string symb, double lots,int type)
  {
   double free_margin=AccountFreeMarginCheck(symb,type,lots);
   //-- если денег не хватает
   if(free_margin<0)
     {
      string oper=(type==OP_BUY)? "Buy":"Sell";
      Print("Not enough money for ", oper," ",lots, " ", symb, " Error code=",GetLastError());
      return(false);
     }
   //-- проверка прошла успешно
   return(true);
  }

Donc si quelqu'un n'aime pas quelque chose, faites un lien vers cet article.

si vous utilisez cette fonction, vous obtenez une erreur de validation ; iln'y a pas d'opérations commerciales et la façon de contourner cette erreur n'est pas claire.
 
Sergey Gritsay:
si vous utilisez cette fonction, vous obtenez une erreur de validation; il n'y a pas d'opérations commerciales et la façon de contourner cette erreur n'est pas claire.
Posez une question au modérateur de la place de marché...
Raison: