Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1284
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
usohttps://www.mql5.com/ru/docs/dateandtime/timecurrent
segunda versão da chamada de função
em geral éhttps://www.mql5.com/ru/docs/dateandtime/timetostructMuito obrigado pelas valiosas informações.
Entendo o que é a estrutura e como ela funciona, mas ainda não entendi todos os detalhes.
Eu ainda não entendi completamente as sutilezas associadas a ela. Estou aprendendo o novo material muito melhor com a ajuda de exemplos claros.
Eu ficaria muito grato se você pudesse me mostrar como escrever o código da seguinte condição em mql5
Eu já aprendi como abrir um pedido usando a estrutura
if(Hora()==10)
para abrir um pedido.
Você não precisa escrever o padrão para abrir o pedido.... apenas a escrita da condição.
Mais uma vez obrigado por sua ajuda.
deve ser como você quer determinar o preço e o tempo do bar:
Ou melhor, são as coordenadas do clique do mouse no tempo + valores de preço no gráfico, a barra deve ser definida via iBarShift()Sim, é isso mesmo, como se entende melhor. Obrigado)
Muito obrigado pelas valiosas informações.
Entendo o que é a estrutura e como ela funciona, mas ainda não entendi o que está por dentro e por fora.
Estou aprendendo melhor o material novo com exemplos. Estou aprendendo muito melhor material novo com a ajuda de exemplos claros.
Eu ficaria muito grato se você pudesse me mostrar como escrever o código da seguinte condição em mql5
Aprendi como abrir um pedido usando a estrutura
if(Hora()==10)
para abrir um pedido.
Você não precisa escrever o padrão para abrir o pedido.... Apenas um registro da condição.
Mais uma vez obrigado por sua ajuda.
Muito obrigado por sua ajuda. Agora tudo é claro e compreensível.
Bom dia a todos!
Estou tentando de mql4 a mql5. Eu criei um código simples que abre pedidos para testes. No testador, a EA abre ordens. Eu coloquei a função Print() no início da função OnTick() vazia e meu consultor especializado entraria nesta função a cada tick e a imprimiria em cada tick da revista. E no quinto tick o Expert Advisor não entra em nenhuma das funções de impressão() e não imprime nada no Diário de Registro de Automóveis. A visualização e a otimização são desativadas no Expert Advisor.
Por favor, informe como alterar o código para que Imprimir() seja impresso na revista a cada tick, como no 4.
Muito obrigado antecipadamente a todos aqueles que me ajudam.
Aqui está meu código
Aumentei o depósito da EA até 100.000. Como resultado, em cada tick Print() é impresso na revista.... Mas não foi aberto um único comércio.
Mas eu preciso que ele abra negócios e imprima() ser impresso.
Bom dia a todos!
Estou tentando de mql4 a mql5. Eu criei um código simples que abre pedidos para testes. No testador, minha EA abre ordens. Eu coloquei a função Print() no início da função OnTick() vazia e meu consultor especializado entraria nesta função a cada tick e a imprimiria em cada tick da revista. E no quinto tick o Expert Advisor não entra em nenhuma das funções de impressão() e não imprime nada no Diário de Registro de Automóveis. A visualização e a otimização são desativadas no Expert Advisor.
Por favor, informe como alterar o código para que Imprimir() seja impresso na revista a cada tick, como no 4.
Muito obrigado antecipadamente a todos aqueles que me ajudam.
Aqui está meu código
Aumentei o depósito da EA até 100.000. Como resultado, em cada tick Print() é impresso na revista.... Mas não foi aberto um único comércio.
Mas eu preciso que os negócios sejam abertos e que a impressão() seja impressa .
Veja os registros, veja o que é impresso, as informações são inseridas ali em cada etapa. Muito provavelmente, algo está errado com a abertura de pedidos e a EA não funciona.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Já discutimos se é necessário acessar repetidamente os dados do terminal da MQL4, então OrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716
acho que também é possível utilizá-lo 100500 vezes por segundo, porque a produção será aumentada milhões de vezes por segundo
quanto mais símbolos na janela de observação do mercado, maior será a carga no próprio terminal e, respectivamente, se você chamar dados de muitos símbolos diferentes, então você também receberá desfasamentos
ou seja, se você usar o terminal de forma sensata, nada irá congelar - na janela do mercado há dez símbolos que você usa
ainda não verifiqueiquantos gráficos você pode abrir ao mesmo tempo, mas acho que se você limitar o histórico a 1000 barras, então acho que o terminal provavelmente abrirá algumas dezenas de janelas de gráficos sem nenhum problema
100
Veja os registros para ver o que ele imprime, há informações registradas em cada etapa. Muito provavelmente há algo de errado com a abertura de pedidos e a EA não está funcionando.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Obrigado pela dica.
Realmente não funciona. Diz o texto.
2020.10.27 06:40:45.311 Tester EURUSD: os dados históricos começam a partir de 2018.01.02 00: 00
2020.10.27 06:40:45.312 Core 1 conectando a 127.0.0.1:3000
2020.10.27 06:40:45.312 Core 1 conectado
2020.10.27 06:40:45.320 Core 1 autorizado (agente build 2650)
2020.10.27 06:40:45.323 Testador EURUSD,M1 (Alpari-MT5-Demo): teste de especialistas\GRAAL.ex5 de 2020.09.01 00:00 até 2020.09.03 00:00
2020.10.27 06:40:45.327 Core 1 sincronização comum concluída
2020.10.27 06:40:45.328 Testador qualidade da história analisada é 100%
2020.10.27 06:40:45.348 Core 1 especialistas em testes\GRAAL.ex5 sobre o fio EURUSD,M1 acabado
2020.10.27 06:40:45.348 Core 1
2020.10.27 06:40:45.348 Core 1 login (construir 2650)
2020.10.27 06:40:45.348 Core 1 informação da conta encontrada com a moeda USD
2020.10.27 06:40:45.348 Core 1 1482 bytes de parâmetros de teste carregados
2020.10.27 06:40:45.348 Core 1 1724 bytes de parâmetros de entrada carregados
2020.10.27 06:40:45.348 Core 1 calcular lucro em pips, depósito inicial 10000, alavancagem 1:100
2020.10.27 06:40:45.348 Core 1 inicializado com sucesso
2020.10.27 06:40:45.348 Núcleo 1 731 bytes de dados totais de inicialização recebidos
2020.10.27 06:40:45.348 Core 1 Intel Core i5-6400 @ 2.70GHz, 7883 MB
2020.10.27 06:40:45.348 Core 1 EURUSD: símbolo a ser sincronizado
2020.10.27 06:40:45.348 Core 1 EURUSD: símbolo já sincronizado, 18 bytes recebidos
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: história em cache a partir de 2019.01.02 06:00
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 (Alpari-MT5-Demo): cada carrapato está em cache
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: teste de especialistas\GRAAL.ex5 de 2020.09.01 00:00 até 2020.09.03 00:00 começou com insumos:
2020.10.27 06:40:45.348 Core 1 StopLoss=30
2020.10.27 06:40:45.348 Core 1 TakeProfit=100
2020.10.27 06:40:45.348 Core 1 Lote=0.1
2020.10.27 06:40:45.348 Balanço final 10000.00 pips
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: 111967 ticks, 2880 barras geradas. Teste aprovado em 0:00:00.019.
2020.10.27 06:40:45.348 Memória Core 1 270 Mb utilizada, incluindo 35 Mb de dados históricos, 64 Mb de dados de tick
2020.10.27 06:40:45.348 Core 1 log file "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.0.1-3000\logs\20201027.log" escrito
2020.10.27 06:40:45.371 Núcleo 1 conexão fechada
Estou testando-o por um período de um dia. Isso significa que o Expert Advisor deve abrir 1440 pedidos. Talvez seja um problema. Talvez haja algumas limitações no número de pedidos em aberto ao mesmo tempo.
Se eu chequei, pode ser porque quando eu tinha 10 000 no depósito do meu EA, ele só abriu 300 pedidos e perdeu o resto por algum motivo relacionado ao dinheiro (como entendi das entradas do diário). Mais tarde, aumentei o depósito da EA para 100.000 e ela não tinha mais o direito de pular. E parou completamente de abrir ordens.
Mas depois diminuí o depósito da EA para 10.000 novamente. No entanto, meu consultor especializado ainda não abre nada e sempre escreve os valores que eu declarei acima.
Eu criei outra EA. Fiz o download do mesmo código para ele. Eu tenho um depósito de 10.000. Eu tenho o mesmo problema: não abri pedidos.
Favor aconselhar como fazer meu EA funcionar corretamente. Ele envia a mesma mensagem, apenas minha linha amarela destacada tem 271 em vez de 270 mb
Eu tenho o Windows 10. Tenho OS de 64 bits e 8GB de RAM.
Obrigado.
Obrigado pela dica.
Realmente não funciona. Diz o texto.
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: 111967 ticks, 2880 barras geradas. Teste aprovado às 0:00:00.019.
2020.10.27 06:40:45.348 Memória Core 1 270 Mb utilizada, incluindo 35 Mb de dados históricos, 64 Mb de dados de tick
2020.10.27 06:40:45.348 Core 1 log file "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.0.1-3000\logs\20201027.log" escrito
2020.10.27 06:40:45.371 Núcleo 1 conexão fechada
Estou testando-o por um período de um dia. Isso significa que o Expert Advisor deve abrir 1440 pedidos. Talvez seja um problema. Talvez haja algumas limitações no número de pedidos em aberto ao mesmo tempo.
Se eu chequei, pode ser porque quando eu tinha 10 000 no depósito do meu EA, ele só abriu 300 pedidos e perdeu o resto por algum motivo relacionado ao dinheiro (como entendi pelos lançamentos no diário). Mais tarde, aumentei o depósito da EA para 100.000 e ela não tinha mais o direito de pular. E parou completamente de abrir ordens.
Favor aconselhar como fazer meu EA funcionar normalmente.
Sempre deixarei minha EA funcionando corretamente.
Se houver 1440 pedidos por dia, o Consultor Especialista deverá verificar o início do minuto ou, mais facilmente, o aparecimento da barra de um minuto. E abre neste momento. Você não a tem e, portanto, a EA abre uma posição a cada tick, o que é uma condição difícil em si, de acordo com nosso símbolo na citação atual. Esta condição pode não ser cumprida, e os carrapatos não serão cumpridos. E em algum momento, um erro crítico ocorrerá.
Também o tipo de execução do pedido (ordem para criar uma posição) tudo ou nada.
Pode me dizer, por favor?
Por que o tempo do servidor não é atualizado quando novos tiquetaques chegam?
No momento em que a EA começa, tudo funciona como deveria, mas depois o tempo passa, mas o novo valor do minuto atual não entra na variável.
Ou seja, o Expert Advisor trabalha dependendo do número obtido na variável int M = TimeMinute(TimeCurrent());
Na verdade, esta linha de código é da referência e não funciona.
Por exemplo, eu a inicio às 12-a horaatual retornada pelo servidor corresponde à hora na variável, mas depois a variável permanece às 12, embora já esteja de 15 a 20 minutos no relógio