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

 
Aleksey Lebedev:

C'est un peu le bordel, n'est-ce pas ?

Je ne suis pas d'accord, parce que la personne fait un indicateur, et dans un indicateur vous devez travailler avec des tableaux à partir de OnCalculate().
 
-Aleks-:

...

Pardonnez mon impertinence, mais pouvez-vous me montrer comment combiner votre code et le mien ?

Une ancienne sagesse populaire dit: si tu veux aider un homme affamé, ne lui donne pas un poisson, donne-lui une canne à pêche.

Si vous avez des questions, n'hésitez pas à les poser.

 
Karputov Vladimir:
Je ne suis pas d'accord, parce que l'homme fait un indicateur, et dans un indicateur vous devez travailler avec des tableaux à partir de OnCalculate().
time[0] si nécessaire, et la religion ne permet pas d'utiliser TimeCurrent().
 
Aleksey Lebedev:

C'est un peu le bordel, n'est-ce pas ?

Et comment savoir quel jour se trouve sur la barre 163 de la TF actuelle ?
 
-Aleks-:
Et comment savez-vous quel jour est la barre 163 de la TF actuelle ?
time[163]
Ainsi, dans l'indicateur, vous obtiendrez la date d'ouverture de la barre avec l'indice 163.
 
-Aleks-:
Et comment puis-je savoir quel jour se trouve sur la barre 163 de la TF actuelle ?

Je ne comprends pas bien la question.

int DayN=(time[0]-time[163])/86400;

0 = aujourd'hui

1 = hier, etc.


Print(time[163]) ou Comment(time[163]) imprimera la date/heure sous forme humaine.


corrigée.

 
Karputov Vladimir:
De cette façon, dans l'indicateur, vous obtiendrez la date d'ouverture de la barre avec l'indice 163.

J'ai fait une expérience, j'ai mis 163 et j'ai obtenu une ligne.

2016.03.07 18:46:29.062 Start_day GBPUSD,H1 : Jour de départ 2016.02.25 03:00:00

Et en fait j'aurais dû obtenir la date 2016.03.01 00:00:00 !

Je suppose que je ne suis pas très bon pour expliquer ce que je veux obtenir, laissez-moi essayer à nouveau.

J'ai besoin d'effectuer un calcul sur chaque graphique de la TF actuelle. Le calcul nécessite de connaître la date du TF supérieur (jours). J'ai joint le code ci-dessus - l'idée est de connaître sur chaque barre le prix maximum de la TF supérieure au moment de l'ouverture de la barre dans la TF actuelle.

 
Aleksey Lebedev:

Je ne comprends pas bien la question.

0 = aujourd'hui

1 = hier, etc.


Print(time[163]) ou Comment(time[163]) imprimera la date/heure sous forme humaine.


corrigée.

Nous obtiendrons les secondes dont nous avons besoin pour arrondir - l'arrondi est le problème.
 
 
Alexey Kozitsyn:
Utilisez TimeToStruct().

Je n'arrive pas à comprendre comment l'utiliser.

La deuxième valeur nécessite"MqlDateTime&dt_struct// structure pour prendre des valeurs", mais je ne comprends pas comment utiliser ce MqlDateTime.

Raison: