Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 531

 
Aleksey Lebedev:

É um pouco confuso, não é?

Não concordo, porque a pessoa está a fazer um indicador, e num indicador tem de trabalhar com arrays da OnCalculate().
 
-Aleks-:

...

Perdoe a minha impertinência, mas pode mostrar-me como combinar o seu código com o meu?

Uma antiga sabedoria popular diz: se quiser ajudar um homem faminto, não lhe dê um peixe, dê-lhe uma cana de pesca.

Se tiver alguma dúvida, pergunte.

 
Karputov Vladimir:
Não concordo, porque o homem faz um indicador, e num indicador precisa de trabalhar com matrizes da OnCalculate().
tempo[0] se necessário, e a religião não permite a utilização de TimeCurrent().
 
Aleksey Lebedev:

É um pouco confuso, não é?

E como se sabe que dia é hoje na barra 163 da actual TF?
 
-Aleks-:
E como sabe em que dia é a 163 barra da actual TF?
time[163]
Assim, no indicador obterá a data de abertura da barra com o índice 163.
 
-Aleks-:
E como sei que dia é hoje na barra 163 da actual TF?

Não compreendo bem a pergunta.

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

0 = de hoje

1 = ontem, etc.


Print(time[163]) ou Comment(time[163]) imprimirá a data/hora em forma humana.


corrigido.

 
Karputov Vladimir:
Desta forma, no indicador obterá a data de abertura do bar com o índice 163.

Fez uma experiência, colocou 163 e conseguiu uma linha

2016.03.07 18:46:29.062 Start_day GBPUSD,H1: Dia de início 2016.02.25 03:00:00

E, na verdade, deveria ter obtido a data 2016.03.01 00:00:00 !

Acho que não sou muito bom a explicar o que quero obter, deixem-me tentar novamente.

Preciso de fazer um cálculo em cada gráfico da actual TF. O cálculo requer saber a data do TF superior (dias). Acima anexei o código - a ideia é saber em cada barra o preço máximo da TF superior no momento da abertura da barra na TF actual.

 
Aleksey Lebedev:

Não compreendo bem a pergunta.

0 = de hoje

1 = ontem, etc.


Print(time[163]) ou Comment(time[163]) imprimirá a data/hora em forma humana.


corrigido.

Teremos os segundos de que precisamos para arredondar - o problema é o arredondamento.
 
 
Alexey Kozitsyn:
Usar o TimeToStruct().

Não consigo perceber como utilizá-lo.

O segundo valor requer"MqlDateTime&dt_struct// estrutura para tomar valores", mas não compreendo como usar este MqlDateTime.