Erros, bugs, perguntas - página 2469
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Eu saberei) então hackear
Estou a transferir um programa da MQL4 para a MQL5.
Enfrentei este erro.
Em prazos até m30, o valor Period() está correcto.
2019.05.22 17:45:38.628 TestStat (GBPUSD,M15) 4854 Período()=15
2019.05.22 17:46:08.267 TestStat (GBPUSD,M30) 4854 Período()=30
A partir do período de tempo H1 obtenho valores incompreensíveis.
2019.05.22 17:31:07.446 TestStat (GBPUSD,H1) 4854 Período()=16385
2019.05.22 17:46:39.362 TestStat (GBPUSD,H4) 4854 Período()=16388
2019.05.22 17:46:55.552 TestStat (GBPUSD,D1) 4854 Período()=16408
Versão terminal construída 2057 datada de 21 de Maio de 2019.
Obrigado.
Na descrição:
Período
Devolve o valor temporal do gráfico actual.
PeríodoENUM_TIMEFRAMES();
Valor devolvido
Conteúdo da variável _Periodo , contendo o valor temporal do gráfico actual. Ovalor pode ser um dos valores daenumeração de ENUM_TIMEFRAMES.
Ver também
PeríodoSegundos, Períodos do Gráfico, Data e Hora, , Visibilidade do Objecto
=================
Isso não está muito bem feito. Deve ser correctamente escrito na descrição. Não se deve procurar a origem do problema no fórum.
Acontece que o Period() não dá o valor do prazo actual como diz:O valor pode ser um dos valores da enumeração ENUM_TIMEFRAMES.
É algo completamente diferente.
Por favor, corrija a descrição linguística para os criadores.
Temos os seguintes resultados no ArrayResize capacidade MT5(build 2057):
Resultado:
Descrição:
Conteúdo da variável _Periodo , que armazena o valor temporal do gráfico actual. O valor pode ser um dos valores daenumeração de ENUM_TIMEFRAMES.
Isto não se faz bem. Deve ser correctamente escrito na descrição. Não se deve procurar a origem do problema no fórum.
Portanto, não está escrito em lado nenhum que este valor seja igual ao período em minutos (como estava em quad).
https://www.mql5.com/ru/articles/81
É aí que começa o artigo de ligação.
Por isso, em lado nenhum diz que este valor é igual ao período em minutos (como foi em quatro).
https://www.mql5.com/ru/articles/81
É aqui que começa o artigo sobre a ligação.
Há uma descrição linguística que diz: O valor pode ser um dos valores daenumeração de ENUM_TIMEFRAMES.
Ver a descrição da língua mais abaixo:
Períodos gráficos
Todos os períodos gráficos pré-definidos têm identificadores únicos. O identificador PERIOD_CURRENT significa o período actual do gráfico, em que o programa mql5 está a decorrer.
ENUM_TIMEFRAMES
Identificador
Descrição
PERÍODO_CURSO
Período actual
PERÍODO_M1
1 minuto
PERÍODO_M2
2 minutos
PERÍODO_M3
3 minutos
PERÍODO_M4
4 minutos
PERÍODO_M5
5 minutos
PERÍODO_M6
6 minutos
PERÍODO_M10
10 minutos
PERÍODO_M12
12 minutos
PERÍODO_M15
15 minutos
PERÍODO_M20
20 minutos
PERÍODO_M30
30 minutos
PERÍODO_H1
1 hora
PERÍODO_H2
2 horas
PERÍODO_H3
3 horas
PERÍODO_H4
4 horas
PERÍODO_H6
6 horas
PERÍODO_H8
8 horas
PERÍODO_H12
12 horas
PERÍODO_D1
1 dia
PERÍODO_W1
1 semana
PERÍODO_MN1
1 mês
======================
E em nenhuma parte da descrição diz que este valor é em segundos.
A descrição deve dizer tudo.
E quando se tem de procurar outros artigos, é uma pena.
Mais uma vez obrigado aoTheXpert por ter fornecido o código.
Temos os seguintes resultados no ArrayResize capacidade MT5(build 2057):
1. o primeiro ArrayResize é muito importante, ele realmente atribui memória tendo em conta o tamanho + tamanho_reservado e define a capacidade.
2. Todas as execuções ArrayResize subsequentes com um novo valor de tamanho_reservado não têm qualquer efeito sobre a quantidade de memória e capacidade atribuídas, respectivamente.
3 A nova alocação de memória é executada apenas quando a capacidade é excedida e, neste caso, o tamanho + tamanho_reservado é utilizado novamente para determinar a quantidade de memória alocada e definir uma nova capacidade.
4. Um valor de tamanho_reservado < 0 libera a memória reservada para o tamanho.
E em nenhuma parte da descrição diz que este valor é em segundos.
Portanto, não é em segundos...
Há uma descrição linguística que diz: O valor pode ser um dos valores daenumeração de ENUM_TIMEFRAMES.
Ver mais na descrição da língua:
Períodos gráficos
Todos os períodos gráficos pré-definidos têm identificadores únicos. O identificador PERIOD_CURRENT significa o período actual do gráfico, em que o programa mql5 está em execução.
ENUM_TIMEFRAMES
======================
E em nenhuma parte da descrição diz que este valor é em segundos.
A descrição deve dizer tudo.
E quando se tem de passar por alguns outros artigos, é uma pena.
Quem lhe disse que estes são valores em segundos?
Há uma descrição linguística que diz: O valor pode ser um dos valores da enumeração ENUM_TIMEFRAMES.
Ver mais na descrição da língua:
Períodos gráficos
Todos os períodos gráficos pré-definidos têm identificadores únicos. O identificador PERIOD_CURRENT denota o período actual do gráfico, em que o programa mql5 está em execução.
ENUM_TIMEFRAMES
Identificador
Descrição
PERÍODO_CURSO
Período actual
PERÍODO_M1
1 minuto
PERÍODO_M2
2 minutos
PERÍODO_M3
3 minutos
PERÍODO_M4
4 minutos
PERÍODO_M5
5 minutos
PERÍODO_M6
6 minutos
PERÍODO_M10
10 minutos
PERÍODO_M12
12 minutos
PERÍODO_M15
15 minutos
PERÍODO_M20
20 minutos
PERÍODO_M30
30 minutos
PERÍODO_H1
1 hora
PERÍODO_H2
2 horas
PERÍODO_H3
3 horas
PERÍODO_H4
4 horas
PERÍODO_H6
6 horas
PERÍODO_H8
8 horas
PERÍODO_H12
12 horas
PERÍODO_D1
1 dia
PERÍODO_W1
1 semana
PERÍODO_MN1
1 mês
======================
E em nenhuma parte da descrição diz que este valor é em segundos.
A descrição deve dizer tudo.
E quando se tem de passar por alguns outros artigos, é uma pena.
Nunca se deve contar com um valor de enumeração.
Usar PeriodSeconds().