Questions des débutants MQL5 MT5 MetaTrader 5 - page 1303

 
afsmerinostra:

Bon moment,

S'il vous plaît, aidez-moi à trouver un bug... Je copie les valeurs des barres (BarsCount) depuis le tampon de l'indicateur dans le script, puis je boucle autour des valeurs, je détecte un signal et je les imprime à Print() ; cela semble simple, mais ce n'est pas si facile... J'obtiens tous les signaux comme je le voulais, sauf le franchissement de la ligne zéro.

Peut-être que cela n'est pas autorisé dans le script ? J'ai joint le code et une capture d'écran du journal... Merci beaucoup !

Le croisement ne peut être défini qu'en comparant la valeur de l'indice précédent du tableau avec zéro et la valeur de l'indice actuel avec zéro. C'est-à-dire qu'il était au-dessus de zéro et est devenu en dessous de zéro. Ou vice versa, il était plus bas et est devenu plus haut.

Et n'oubliez pas de lire la documentation sur le fonctionnement de if tlse if.

Si votre code contient une condition, toutes les suivantes ne seront pas traitées.

 
Alexey Viktorov:

Une intersection ne peut être définie qu'en comparant l'indice précédent du tableau à zéro et l'indice actuel à zéro. C'est-à-dire qu'il était au-dessus de zéro et est devenu en dessous de zéro. Ou vice versa, il était plus bas et est devenu plus haut.

Et n'oubliez pas de lire la documentation sur le fonctionnement de if tlse if.

Si votre code contient une condition, toutes les suivantes ne seront pas traitées.

La vérification du niveau par rapport au zéro était correcte. J'ai déplacé les conditions de croisement au début du code et tout a fonctionné. Merci !
 
afsmerinostra:
Tout était correct concernant la vérification du niveau par rapport à zéro. J'ai déplacé les conditions d'intersection au début du code, et tout fonctionne. Merci !

En général, vous devez nettoyer les autres, ils ne sont nécessaires que lorsque les conditions sont mutuellement exclusives et que le chevauchement constitue des conditions distinctes.

 
Salut à tous ! !! Pouvez-vous me dire ce qui ne va pas ?
//+------------------------------------------------------------------+
//|                                                 Signal_Line.mqh |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
class Signal_Line
  {
private:

public:
                     Signal_Line();
                    ~Signal_Line();
   bool              Signal_Short(double &Trend_Line_UP[][], int UP);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::Signal_Line()
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::~Signal_Line()
  {
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|     Метод проверки флагов событий цены относительно линий тренда                                                             |
//+------------------------------------------------------------------+
bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
  }
//+------------------------------------------------------------------+
 

Il dit : " Pourquoi n'avez-vous pas daigné renvoyer la valeur?".

bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
//---
   return(false);
  }
 
Vladimir Karputov:

Il dit : " Pourquoi n'avez-vous pas daigné renvoyer la valeur?".

Exactement ! !! Oh mon dieu)))

 
Vladimir Karputov:

Il dit : pourquoi n'avez-vous pas daigné renvoyer la valeur?

Merci ! !!

 
Dans mql4 il y a des fonctions

OrderCloseTime();

et datetimeOrderOpenTime() ; Comment puis-je obtenir ces données de manière programmatique dans mql5 pour les positions déjà fermées? C'est-à-dire le temps d'ouverture et de fermeture d'une position fermée ?

 
bahtiyar:
Dans mql4 il y a des fonctions

OrderCloseTime();

et datetimeOrderOpenTime() ; Comment puis-je obtenir ces données de manière programmatique dans mql5 pour les positions déjà fermées? C'est-à-dire l'heure d'ouverture et de fermeture des positions fermées.

Sélectionnez dans l'historique des transactions l'ID de la position et dans les propriétés des transactions, il y a l'ouverture et la fermeture. Pas seulement l'heure, mais aussi le prix, la raison de la fermeture et autre chose.
 

Pouvez-vous me donner un indice ? Cette entrée :

var1=(var<10)?1:0 ;

Ce qu'il signifie, comment l'interpréter, les possibilités d'utilisation. Paramètres.

Raison: