Horário na Nuvem

Para adicionar comentários, por favor Faça o login ou registrar
Lucas Tavares
1607
Lucas Tavares  

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 :

bool CheckTime()
{
  //------------------------------------------------------------------
  MqlDateTime mdt;
  TimeToStruct(TimeCurrent(), mdt);
  bool AllowTrade = true;
Joscelino
903
Joscelino  
Lucas Tavares:

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

Lucas Tavares
1607
Lucas Tavares  
Eu troquei todos os timecurrent por timetradeserver, será que isto é o suficiente?
Rogerio Giannetti Torres
3257
Rogerio Giannetti Torres  
Lucas Tavares:
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().


Lucas Tavares
1607
Lucas Tavares  
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.
Joscelino
903
Joscelino  
Lucas Tavares:
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

Lucas Tavares
1607
Lucas Tavares  
Joscelino Celso de Oliveira:

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

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)
Joscelino
903
Joscelino  
Lucas Tavares:
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

Lucas Tavares
1607
Lucas Tavares  

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!

Lucas Tavares
1607
Lucas Tavares  
Não consegui fazer o printf, estou meio perdido, confesso.
Rogerio Giannetti Torres
3257
Rogerio Giannetti Torres  
Lucas Tavares:
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 !

12
Para adicionar comentários, por favor Faça o login ou registrar