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

 
MakarFX #:

D'après la capture d'écran, les conditions suivantes ne sont pas remplies

//+------------------------------------------------------------------+
//| Открытие ордера                                                  |
//+------------------------------------------------------------------+
void SendFirsOrder(int so=-1)
  {
   double tp=0;
   if(so==0)
     {
      if(OrderSend(Symbol(),OP_BUY, Lots(),Ask,slip,0, 0, "The first purchase order", Magic,0,clrBlue))
        {
         Print("Open Buy: ",_Symbol);
        }
      else
        {
         Print("Error Open Buy: ",_Symbol," / ",GetLastError());
        }
     }
   if(so==1)
     {
      if(OrderSend(Symbol(),OP_SELL, Lots(),Bid,slip,0, 0, "The first sell order", Magic,0,clrRed))
        {
         Print("Open Sell: ",_Symbol);
        }
      else
        {
         Print("Error Open Sell: ",_Symbol," / ",GetLastError());
        }
     }
  }
 
EVGENII SHELIPOV #:

Comment un chalutage peut-il fonctionner si vous avez OrderStopLoss() égal à 0 et dans la condition

        if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderProfit() > 0 && OrderStopLoss() != 0)
 
Nerd Trader #:

Ce n'est pas un problème que tout le monde peut voir.
S'il y a une ligne blanche avant et après le commentaire:

l'id sera inséré



Mais tout cela n'a pas d'importance, nous devons simplement utiliser un autre idéal.

Pourquoi utiliser une ligne vierge entre la ligne de commentaire et la déclaration de fonction ?

 

Bonjour !

Je suis récemment passé à MT5 et j'ai lu beaucoup d'articles, mais je n'ai pas trouvé de réponse à ma question.

Je n'ai pas trouvé de réponse à ma question. MT5 me permet d'activer le type " optimisation lente" (recherche complète des paramètres). Je dois choisir un outil pour l'optimisation.

Est-ce que MT5 a une fonction dans le testeur où l'on peut sélectionner plusieurs symboles et tout optimiser avec eux. C'est-à-dire, essayez d'abord le premier, puis le second, etc. Et à la fin, vous obtiendrez un rapport séparé pour chaque symbole ? Ou peut-être existe-t-il d'autres solutions pour cette question, ou peut-être existe-t-il d'autres programmes pour cela ?

L'idée n'est pas d'attendre près de l'ordinateur lorsque l'outil de test est terminé. Et mettre immédiatement tout ce qui est nécessaire et laisser compter toute la journée.

 
Kot type " optimisation lente" (recherche complète des paramètres). Je peux sélectionner un outil pour l'optimisation.

Est-ce que MT5 a une fonction dans le testeur où l'on peut sélectionner plusieurs symboles et tout optimiser avec eux. C'est-à-dire, essayez d'abord le premier, puis le second, etc. Et à la fin, vous obtiendrez un rapport séparé pour chaque symbole ? Ou peut-être existe-t-il d'autres solutions pour cette question, ou peut-être existe-t-il d'autres programmes pour cela ?

L'idée n'est pas d'attendre près de l'ordinateur lorsque l'outil de test est terminé. Et mettre immédiatement tout ce qui est nécessaire et laisser compter toute la journée.

Utilisez plusieurs bornes, une pour chaque paire
 

Lorsqu'un bouton est relâché en ignorant une condition, pour une raison quelconque, ObjectDelete() est toujours exécuté, même lorsque l'objet est supprimé.

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   ...
  if(ObjectGetInteger(0,"Button Stop Order",OBJPROP_STATE)){
      if(ChartXYToTimePrice(window,x,y,window,dt,price)){
         ...
  }else if(ObjectFind("order setup") || ObjectFind("Stop Loss"))
      Print(line_name," delete ",ObjectDelete(line_name)," error ", GetLastError());

2021.12.05 21:43:14.040 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.040 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.030 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
2021.12.05 21:43:14.020 USDCHF,M1: Stop Loss delete false error 0
 
Alexey Viktorov #:

Pourquoi une ligne blanche entre la ligne de commentaire et la déclaration de fonction ?

Donc vous dites que lorsque l'idéal insère une merde dans votre code sans votre consentement, c'est OK ?
 
Nerd Trader un bouton est relâché en ignorant une condition, ObjectDelete() est toujours exécuté pour une raison quelconque, même lorsque l'objet est supprimé.
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
   ...
  if(ObjectGetInteger(0,"Button Stop Order",OBJPROP_STATE)){
      if(ChartXYToTimePrice(window,x,y,window,dt,price)){
         ...
  }else if(ObjectFind("order setup")==0 || ObjectFind("Stop Loss")==0){
      Print(line_name," delete ",ObjectDelete(line_name)," error ", GetLastError());
 
MakarFX #:
Ouais, eh bien, je l'ai eu jusqu'ici.
 
Nerd Trader #:
Ouais, eh bien, j'en ai vraiment marre de tout ça.
Je vous ai déjà écrit.