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

 

Bonjour à tous. Pouvez-vous me conseiller où écrire sur le bug de MT5 après la mise à jour d'il y a deux semaines ?


Le point est le suivant. Lorsque j'ai ouvert des positions et que j'ai passé la souris sur SL et TP, la fenêtre de données (la fenêtre qui montre le fait de SL et TP) ne s'affiche pas ou s'ouvre très lentement. J'ai essayé avec plusieurs ordinateurs dans des comptes différents. J'ai l'impression que cela ne se produit que lorsque j'ai plus d'une fenêtre dans mon terminal. Je n'avais pas ce problème auparavant.

Je ne sais pas comment l'utiliser et je ne sais pas quoi en faire.

Dossiers :
 
Artyom Trishkin:

Créez une nouvelle variable globale. Donnez-lui la valeur du paramètre d'entrée Inp_element_2542795:

et remplacer toute l'entrée de la chaîne Inp_element_2542795 par cette nouvelle variable g_element_2542795 en utilisant Ctrl + H

La question reste toujours la même. L'EA travaille de son côté. Je n'arrive pas à comprendre en quoi cette variable globale est utile. J'ai essayé de le changer mais le 400 reste le même. J'ai essayé de changer à 200, c'est constant à 200. Mais je veux que l'EA soit capable de décider quel point doit être appliqué.

 
jaffer wilson :

La question reste toujours la même. L'EA travaille de son côté. Je n'arrive pas à comprendre en quoi cette variable globale est utile. J'ai essayé de le changer mais le 400 reste le même. J'ai essayé de changer à 200, c'est constant à 200. Mais je veux que l'EA soit capable de décider quel point doit être appliqué.

Si vous voulez que le conseiller modifie une variable, il doit modifier la variable g_element_2542795. Il obtient la valeur de la variable Inp_element_2542795 lors de l'initialisation, puis dans le conseiller, vous pouvez la modifier comme vous le souhaitez.

 

Pourquoi ça ne marche pas comme ça ?

int massiv[OrdersTotal()];
 
igrok333:

Pourquoi ça ne marche pas comme ça ?

Stroustrup et Ritchie l'ont voulu ainsi.
 
igrok333:

Pourquoi ça ne marche pas ?

Il serait surprenant que ce soit le cas.

 
igrok333:

Pourquoi ça ne marche pas comme ça ?

L'utilisation de arrayresize fonctionnera
 

Aidez-moi, je viens juste de commencer...
Comment faire pour déterminer la taille d'un lot en fonction des conditions ? J'ai écrit ceci, mais ça ne marche pas.

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
(Bid >= L5b1) || (Bid >= L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Bid >= L5b) || (Bid >= L8b))
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2)) ;
return lot ;
}

 
wolder1:

Aidez-moi, je viens juste de commencer...
Comment faire pour déterminer la taille d'un lot en fonction des conditions ? J'ai écrit ça mais quelque chose ne fonctionne pas.

double lot()
{
if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid >= L2b1) ||
(Bid >= L5b1) || (Bid >= L8b1))
lot=(NormalizeDouble(Lots, 2))

if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
(Enchère >= L5b) || (Enchère >= L8b))
lot=(NormalizeDouble((Lots*1.5), 2))

if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
(Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))
lot=(NormalizeDouble((Lots*2.5), 2))
lot de retour ;
}

vous avez une confusion sur les variables et les fonctions, si c'est une fonction, essayez de cette façon :

insérer le code avec ALT + S

double _LOTS()
  {
   double lot=0;
   if((Ask <= L0a3) || (Ask <= L2a3) || (Ask <= L5a3) || (Ask <= L8a3) || (Bid >= L0b1) || (Bid > = L2b1) ||
      (Bid >= L5b1) || (Bid >= L8b1))
      {
       lot=(NormalizeDouble(Lots, 2));
       Print(" lot = ", lot); 
       return(lot);
      }
      
    if((Ask <= L0a) || (Ask <= L2a) || (Ask <= L5a) || (Ask <= L8a) || (Bid >= L0b) || (Bid >= L2b) ||
      (Bid >= L5b) || (Bid > = L8b))
      {
       lot=(NormalizeDouble((Lots*1.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
     
    

   if((Ask <= L0a1) || (Ask <= L2a1) || (Ask <= L5a1) || (Ask <= L8a1) || (Bid >= L0b3) ||
      (Bid >= L2b3) || (Bid >= L5b3) || (Bid >= L8b3))      
      {
       lot=(NormalizeDouble((Lots*2.5), 2));
       Print(" lot = ", lot); 
       return(lot);
      }
  } 
 
Question simple. La chouette ne compile pas. Il y a une erreur à la fin du code. + __FUNCSIG__
+ " : "+Market_Err_To_Str(errIndex)
+ " ; ticket de commande = " + (string)OrderTicket()
+ " ; order type = " + (string)OrderType()
+ " ; ordre Stop Loss = " + DoubleToStr(OrderStopLoss(), Digits())
+ " ; new Stop Loss = " + DoubleToStr(newStopLoss, Digits())
+ " ; Bid = " + DoubleToStr(Bid, Digits())
+ " ; Ask = " + DoubleToStr(Ask, Digits())
) ;
}
}
lastSetNonlosTryTime = TimeLocal();
}


Lance une erreur de compilation. Aidez-nous si vous le pouvez. Merci !

Raison: