Meu EA tem hora pra começar e hora pra terminar as operações, rodando na minha máquina eu garanto que está fluindo bem, mas no VPS o horário é outro, será que ele está puxando o horário certo?
A parte do código é esta :
Meu EA também atua com restrições de horário. Você deve ajustar a hora da VPS. Se tiver dificuldade em fazê-lo, sugiro utilizar o TimeTradeServer();
[ ]´s
Eu troquei todos os timecurrent por timetradeserver, será que isto é o suficiente?
Oh Lucas,
TimeCurrent() se está no OnInit() recebe o valor de MqlTick,time_msc mais atualizado da lista de ativos observados.
Não tem nada a ver onde o VPS está e sim com o servidor MT5, veja na janela de observação o TimeCurrent().
O que me deixa intrigado é que os relatórios do VPS estão em um horário diferente do meu, tenho medo do meu robô estar sem operar quando deveria.
Eu troquei todos os timecurrent por timetradeserver, será que isto é o suficiente?
Você não testou? Tudo que se codifica tem que ser testado. Mudou o código, testa...
Mas testa antes de colocar para rodar...
Você sabe testar essa sua função para ver se está funcionando adequadamente?
[ ]´s
Você não testou? Tudo que se codifica tem que ser testado. Mudou o código, testa...
Mas testa antes de colocar para rodar...
[ ]´s
Mas no vps não tenho como saber até surgir uma entrada e notar se ele entra ou não. E a depender do horário, pode ser que esteja ainda errado, mas que seja um horário em comum com os dois fuso horários onde o ea está operando, mesmo achando ser outra hora. (confuso/com fuso)
Testei, e funcionou no testback.
Mas no vps não tenho como saber até surgir uma entrada e notar se ele entra ou não. E a depender do horário, pode ser que esteja ainda errado, mas que seja um horário em comum com os dois fuso horários onde o ea está operando, mesmo achando ser outra hora. (confuso/com fuso)
Se vc está usando o TimeTradeServer() não precisa se preocupar com a VPS. O EA vai usar o horário do servidor da corretora.
Não me referi ao testback. Me referi a você efetivamente ver qual o horário que está sendo considerado pelo EA. Para isso, precisa imprimir o mesmo.
Sugiro que faça no OnInit. Crie a mesma função (apenas para teste) dentro do OnInit e faça impressão do horário. Se bater está correto, se não bater está errado.
Outra coisa. Quando coloca o EA para rodar ele faz a leitura para envio de ordens dentro de OnTick() ou OnTimer()?? Não sei qual o motivo, mas em meu caso só funcionou adequadamente quando inseri a estratégia para envio de ordens dentro de OnTimer().
[ ]´s
Está dentro de OnTick ().
Mas bem antes, perto dos parâmetros tem :
datetime lastCandle = 0;
O que isto faz exatamente?
Vou realizar o teste do horário, pra ver o que ele printa. Boa dica!
Me perdi, Rogério.
O que me deixa intrigado é que os relatórios do VPS estão em um horário diferente do meu, tenho medo do meu robô estar sem operar quando deveria.
Lucas,
acho que você está usando o VPS FOREX e confundindo a hora da msg do log do VPS com a hora que a operação foi feita.
È bem simples para constatar o horário que foi feita a operação, abra o MT5 no seu PC se log no account que está com o VPS e o EA rodando e veja históricos !
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Meu EA tem hora pra começar e hora pra terminar as operações, rodando na minha máquina eu garanto que está fluindo bem, mas no VPS o horário é outro, será que ele está puxando o horário certo?
A parte do código é esta :