Erreurs, bugs, questions - page 1683

 

Ce qui suit est écrit dans le code de l'indicateur :

C'est-à-dire que Period() renvoie int (dans ce cas 0), alors qu'il doit renvoyer ENUM_TIMEFRAMES ! En même temps, _Period fonctionne normalement et contient l'horizon temporel actuel (dans ce cas, PERIOD_H1). Il s'agit de toute façon d'une erreur puisque l'aide de la fonction Period() l'indique clairement :

Возвращаемое значение

Le contenu de la variable _Period , qui stocke la valeur de l'horizon temporel du graphique actuel. La valeur peut être l'une des valeurs de l'énumération ENUM_TIMEFRAMES.

 

Quel avantage voyez-vous dans les fenêtres séparées qui seront à travers le build MT5 ?

 
Vasiliy Sokolov:

Ce qui suit est écrit dans le code de l'indicateur :

C'est-à-dire que Period() renvoie int (dans ce cas 0), alors qu'il doit renvoyer ENUM_TIMEFRAMES ! En même temps, _Period fonctionne normalement et contient l'horizon temporel actuel (dans ce cas, PERIOD_H1). Il s'agit en tout cas d'une erreur, car l'aide de la fonction Period() l'indique clairement :

Peut-être que sans le fichier mql5, il compile comme pour MT4 ?
 
Vasiliy Sokolov:

Ce qui suit est écrit dans le code de l'indicateur :

C'est-à-dire que Period() renvoie int (dans ce cas 0), alors qu'il doit renvoyer ENUM_TIMEFRAMES ! En même temps, _Period fonctionne normalement et contient l'horizon temporel actuel (dans ce cas, PERIOD_H1). Il s'agit en tout cas d'une erreur, car l'aide de la fonction Period() l'indique clairement :

Vous avez tf comme un type enum. Mais vous écrivez dedans. Prenez soin d'y inscrire également une valeur d'enum.
 
Artyom Trishkin:
Period() a le type de retour ENUM_TIMEFRAMES
 
Комбинатор:
Period() a le type de retour ENUM_TIMEFRAMES

En cinq, Period() renvoie un enum et _Period renvoie un int.

Dans Quartet, les deux prédéfinis _Period et Period() sont de type int.

Comme une personne reçoit l'avertissement de conversion implicite enum, nous concluons qu'il s'agit d'un quatre.

 

Comment puis-je connaître l'heure du verre accepté dans OnBookEvent ?

Vous ne pouvez pas le faire avec SymbolInfoTick+time_msc, car OnBookEvent est appelé beaucoup plus souvent que OnTick.

Vous pourriez, bien sûr, stocker les valeurs time_msc etGetMicrosecondCount dans OnTick. Et ensuite, dans OnBookEvent, nous ajouterons le temps écoulé à time_msc. Mais cela devient compliqué, car OnBookEvent entre en conflit avec OnTick - pendant que l'un est en cours d'exécution, l'autre peut être en attente.

 

Veuillez ajouter dans la colonne Source du journal des experts non seulement le nom du programme (qui a émis l'entrée) mais aussi le symbole sur lequel il fonctionne. Mais aussi le type de programme - indicateur/conseiller/script. Et le handle du graphique sur lequel il est exécuté (peut être un message popup).

Pour la même raison (poignées), veuillez ajouter un popup du numéro de la poignée lorsque vous survolez les onglets du graphique.

Veuillez ajouter l'enregistrement d' événements tels que l'ouverture d'un nouveau graphique (avec une poignée) et la suppression d'un graphique.

 
Un exemple succinct de l'utilité de la contrainte et du fait que, parfois, vous ne pouvez pas vous en passer.
void Func( const string &Str ) { } // const - обязателен!

void OnStart() { Func(_Symbol); }
 
fxsaber:
Un exemple concis de l'utilité de la contrainte et du fait que, parfois, on ne peut tout simplement pas s'en passer.
Oui, mais Func("123") provoquera une erreur de compilation.
Raison: