Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 351

 

Bonne journée !

Le problème a surgi de nulle part, l'Expert Advisor fonctionnait, sans problème, mais dès que j'ai inséré une nouvelle fonction (trailing stop), OrderSelect ne fonctionnait pas dans tout mon EA et l'erreur 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Valeur invalide des paramètres de la fonction. Au début, je n'ai pas compris, j'ai pensé que j'avais peut-être modifié quelque chose quelque part, j'ai supprimé le stop suiveur et j'ai tout renvoyé tel quel, mais OrderSelect génère toujours une erreur.

Voici le code, au cas où :

         for(int i = OrdersTotal(); i > 0; i--)
           {
            if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
              {
               if(OrderType() == OP_SELL)
                 {
                  if(!OrderClose(OrderTicket(), Lots, Ask, slippage, clrRed))
                    {Print("Error Order Close SELL = ", GetLastError());}
                 }
              }
            else
              {Print("Error order select, try order close SELL = ", GetLastError());}
           }


 
Vitaliy Sendyaev:

Bonne journée !

Le problème a surgi de nulle part, l'Expert Advisor fonctionnait, sans problème, mais dès que j'ai inséré une nouvelle fonction (trailing stop), OrderSelect ne fonctionnait pas dans tout mon EA et l'erreur 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Valeur invalide des paramètres de la fonction. Au début, je n'ai pas compris, j'ai pensé que j'avais peut-être changé quelque chose quelque part, j'ai supprimé le stop suiveur et j'ai tout renvoyé tel quel, mais OrderSelect génère toujours une erreur.

Voici le code, au cas où :



Ce n'est pas le code complet. Il est probable qu'une parenthèse a été enlevée quelque part.
 
Vitaliy Sendyaev: OrderSelect génère l'erreur 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Valeur non valide d'un paramètre de fonction

Voici le code au cas où : for(int i = OrdersTotal() ; i > 0 ; i--)

nous avons besoin pour (int i = OrdersTotal() -1; i>=0 ; i--) les commandes sont numérotées à partir de zéro, donc le plus grand nombre est 1 de moins que le nombre

 
STARIJ:

nous avons besoin pour (int i = OrdersTotal() -1; i>=0 ; i--) les commandes sont numérotées à partir de zéro et donc le nombre le plus élevé est 1 de moins que le nombre

Exactement ! Je n'avais pas remarqué... J'ai besoin de plus de sommeil


 
STARIJ:

Nous avons besoin pour (int i = OrdersTotal() -1; i>=0 ; i--) les commandes sont numérotées à partir de zéro et donc le plus grand nombre est 1 de moins que le nombre


Merci !

 
Valerius:

Ce n'est pas sérieux... Que sont-elles (input et extern) pour ensuite....

Qu'est-ce qui n'est pas sérieux ? Vous avez posé une question dans la branche du code et obtenu une réponse appropriée.
Eh bien, si vous n'avez pas pensé à redémarrer le terminal, on vous a déjà répondu - servicedesk.

 
Valerius: Que dois-je faire si, par exemple, j'ai défini les paramètres de l'EA aujourd'hui, puis le lendemain, certains des paramètres sont vides ?

C'est difficile de deviner comment vous avez fait ça. Je ne veux pas vous montrer le code de l'Expert Advisor, et je suis trop paresseux pour le parcourir en entier. Faites une copie sous un nom différent, supprimez tout sauf les paramètres et la fonction vide OnTick (ou Start ? ??). L'effet est-il toujours là ? Montrer le code résultant

 
Vitaliy Sendyaev: Merci !

Est-ce que ça a aidé ? Comment cela fonctionnait-il avant ?

 

Je suis désolé, mais je ne comprends pas pourquoi oncalculate devrait passer les valeurs des variables prédéfinies si elles sont globales et également disponibles.

 
ijonhson:

Bonjour, je veux faire un EA basé sur un indicateur, j'ai copié le code de l'indicateur dans ontick, il me manque les variables de la fonction onCalculate, je dois tout obtenir par copytime copyhigh copylow, etc. ou y a-t-il un moyen plus facile et plus rapide ?

iCustom à la rescousse

iCustom - Технические индикаторы - Справочник MQL4
iCustom - Технические индикаторы - Справочник MQL4
  • docs.mql4.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию.
Raison: