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

 

Artyom Trishkin:

...Tu as raison, mais du mauvais bar. Il faut le savoir et en tenir compte.

En d'autres termes, dans l'acquisition de données multitemporelles, vous devez vous fier à l'heure et la recalculer pour obtenir le numéro de barre à la bonne période.

Merci de votre précision.

Donc, si nous appelons l'indicateur dans l'EA comme ceci

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

et exécuter l'EA sur H1, l'indicateur ne lira pas à partir de H4 de la première barre.

Quelles seront alors les lectures de l'indicateur, et comment dois-je procéder correctement pour obtenir les lectures correctes de l'indicateur de H4 ?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Ainsi, les valeurs de l'indicateur seront-elles correctes à partir de H4 ?



 
mila.com:

Merci pour cette précision.

Il s'avère que si j'appelle l'indicateur dans l'EA comme ceci

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

et exécuter l'EA sur H1, l'indicateur ne lira pas à partir de H4 de la première barre.

Ensuite, quels sont les relevés de l'indicateur que j'obtiens, et comment dois-je procéder correctement pour obtenir des relevés corrects du TF senior ?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);


Ainsi, les valeurs de l'indicateur seront-elles correctes à partir de H4 ?



Si vous appelez l'indicateur comme vous l'avez écrit :

ozy_verh=NormalizeDouble(iCustom(NULL, 240, "Ozy", Amplitude, 3, 1), Digits);

alors les données de l'indicateur seront obtenues à partir du symbole actuel, de PERIOD_H4, du quatrième tampon et de la première barre de l'échelle de temps H4.

Vous avez dû mal comprendre ce que je vous disais.

Voici ce que je veux dire : si l'EA fonctionne sur M5 et que vous obtenez des données à partir de la barre 1 sur M5, alors si vous voulez voir ce qui se passe sur les prix plus élevés, comme sur H1, alors si vous obtenez la valeur du foref H1 plus élevé également à partir de la barre 1, vous n'obtiendrez pas la valeur actuelle, qui est maintenant sur le H1, mais la valeur qui était à la dernière heure. Parce que la barre 1 sur M5 est à l'intérieur de la barre 0 sur H1.

C'est ce qu'il faut prendre en compte et c'est ce dont je viens de parler.

 
Vitaly Muzichenko:

Je veux dire le journal dans le testeur

Ajouté : Assembler le code à son état normal, le réviser, puis l'exécuter dans le testeur et lire les erreurs dans le journal. Vous donnez des bouts de code ici.

Ici. Je comprends les contrôles, mais je ne comprends pas d'où ils viennent.

Dossiers :
count.mq4  17 kb
 
Artyom Trishkin:

C'est ce que vous devez considérer, et c'est ce dont je parlais.

Si je place l'EA sur M 5 et que je veux obtenir la valeur de l'indicateur de H1, à partir de la première barre, alors l'entrée suivante est correcte ?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);
 
mila.com:

Si je place le Conseiller Expert sur M 5 et que je veux obtenir la valeur de l'indicateur de H1, à partir de la première barre, alors l'entrée suivante est correcte ?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Non. Au lieu de 1 :

datetime _time1 = iTime(Symbol(), PERIOD_H1, 1);
int      _n     = iBarShift(Symbol(), PERIOD_CURRENT, _time1);
// ваша формула
ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, _n), Digits);
Ce n'est que si vous utilisez l'EA sur le serveur ou par vous-même, mais que vous n'avez pas de graphique H1 ouvert en même temps, que vous devez effectuer une vérification supplémentaire.
 

Oksana Berenko:

... mais vous n'aurez pas non plus un graphique H1 ouvert, alors vous devez faire une vérification supplémentaire.

Merci.

J'ai un graphique M5 ouvert, et j'ai un EA dessus qui appelle l'indicateur H1, comme vous l'avez écrit.

De quels autres contrôles ai-je besoin ?

 
mila.com:

Si je place l'Expert Advisor sur M 5 et que je veux obtenir la valeur de l'indicateur de H1, à partir de la première barre, alors l'entrée suivante est correcte ?

ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, 1), Digits);

Bien. Cela dépend de la première barre de quelle période vous avez besoin de données...

On dirait que tu n'as toujours pas compris ce que je disais...

 
Bonjour, pourriez-vous me dire quelles sont les principales différences entre mt4 et mt5 ? ?je ne vois pas de différences majeures.
 

Après-midi ...

si (OrderType()==OP_SELL) CloseOpBuySell("BUY") ;

si (OrderType()==OP_BUY) CloseOpBuySell("SELL") ;

Voici la condition : je dois fermer une position de vente lorsque j'ouvre une position d'achat et vice versa, cela va-t-il se déclencher ?

Je suis juste intéressé par la partie gauche OrderType()==OP_SELL

le côté droit fonctionne quand un signal y est poussé

Question : "Cette fermeture fonctionnera-t-elle ?

 
elektrik777:
Bonjour, pourriez-vous me dire quelles sont les principales différences entre mt4 et mt5 ? Je ne vois pas de différences majeures.
Les différences se situent au niveau du langage de programmation des EA, des scripts et des indicateurs, tout le reste est identique, sauf que MT5 peut négocier sur les marchés boursiers, ce qui n'est pas le cas de MT4.