Expert roboforex mt4


Eu tenho uma EA que usa o evento OnTimer e funciona bem nas minhas contas com dois corretores. No entanto, acabei de abrir uma conta RoboForex e a mesma EA não está funcionando porque o manipulador de eventos OnTimer não está sendo atingido (o código de depuração adicionado prova). Alguém mais teve esse problema ou é só eu. Eu acho difícil acreditar que o RoboForex está implantando uma versão parcialmente funcional do MQL4, mas acho igualmente difícil entender por que ele não está trabalhando nesse agente apenas eu entrei em contato com o RoboForex on O assunto, mas o entrevistado claramente não entendeu a questão, e não poderia ser incomodado encontrar alguém que fez - OnTimer () completamente inútil é inicializado na função OnInit () e, depois disso, a função Timer () é executada localmente. Não no servidor intermediário ou em qualquer outro lugar. Deve ser outra coisa. Por favor, coloque o código. OnTimer () é inicializado na função OnInit () e, depois disso, a função Timer () é executada localmente. Não no servidor intermediário ou em qualquer outro lugar. Deve ser outra coisa. Por favor, coloque o código. Eu normalmente concordaria com você inteiramente, mas essa não é minha experiência. Enclosed é um arquivo zip com um EA de teste em sua forma mais simples juntamente com os arquivos de log resultantes de uma das minhas contas (no qual o EA completo funciona bem) e da minha conta RoboForex. Você notará que, no primeiro caso, há registros de registro a cada 60 segundos, enquanto que no caso do RoboForex, embora existam mais de 7 minutos entre a inicialização eo desinitiado, não há registros do OnTimer. Wayside48: Eu normalmente concordaria com você inteiramente, mas essa não é minha experiência. Enclosed é um arquivo zip com um EA de teste em sua forma mais simples juntamente com os arquivos de log resultantes de uma das minhas contas (no qual o EA completo funciona bem) e da minha conta RoboForex. Você notará que, no primeiro caso, há registros de registro a cada 60 segundos, enquanto que no caso do RoboForex, embora existam mais de 7 minutos entre a inicialização eo desinitiado, não há registros do OnTimer. Você é desinitializado, o que mata o temporizador. Este também é um evento local, assim como o outro 2. Você e é desinitializado, o qual mata o temporizador. Este também é um evento local, assim como os outros 2. Sim, ele é desinitializado quando eu o retiro do gráfico - ainda deve ter gravado 7 eventos de um minuto entre ser inicializado e desinitializado. Se você olhar para o código, estou gravando o tempo de inicialização, o tempo de desinicialização e a hora de cada evento OnTimer entre. No caso de trabalho, os eventos OnTimer de um minuto são gravados corretamente, no registro RoboForex não há eventos OnTimer registrados entre inicialização e desinicialização 7 minutos depois. Sim, é desinitializado quando eu o retiro do gráfico - ainda deve ter registrado 7 eventos de um minuto entre ser inicializado e desinitializado. Se você olhar para o código, estou gravando o tempo de inicialização, o tempo de desinicialização e a hora de cada evento OnTimer entre. No caso de trabalho, os eventos OnTimer de um minuto são gravados corretamente, no registro RoboForex não há eventos OnTimer registrados entre inicialização e desinicialização 7 minutos depois. A função OnTImer () não funciona no testador. Desculpe ser franco, eu sei que você está tentando ajudar. Eu não estou usando isso no testador, e eu nunca disse que estava. Eu lhe dei dois arquivos de log gerados pela amostra que eu enviei. Ambos eram da EA executando em contas VIVAS em condições VIVAS. Um está relatando eventos OnTimer a cada minuto, o outro (RoboForex) NÃO - é o mesmo EA executado em duas contas LIVE diferentes em REAL TIME. Você começou dizendo não Possível, mas eu sugeriria que eu provei que o terminal RoboForex não está gerando eventos do OnTimer - que é onde eu comecei. Eu não posso explicá-lo, e é por isso que eu procurei ajuda do Fórum, mas parece que não é de nada. Obrigado de qualquer forma, se eu encontrar uma resposta, eu o postei aqui. Você não demonstrou nada por que você está usando isOptimzed nesse pedaço de código você verificou se eu fico em minhas primeiras respostas, a função de temporizador é executada localmente e não é afetada pelo corretor, mesmo nos fins de semana quando os mercados estão fechados eu uso ontimer para ter o e executar Cálculos para encontrar as entradas da próxima semana. Eu também tenho facilidades onde o ontimer gera tiros artificiais que também vivem sem um feed do mercado ao vivo. Se você não encontrar uma solução e acreditar que seja um bug, então, escreva para servicedesk. Além disso, você deve tomar uma rota mais simples para testar as coisas, há muitas coisas entre deixar um simples Na função do timer deve ser uma abordagem mais direta para verificar se o temporizador é executado, em vez de escrever para arquivos e tudo isso. Hmm Interessante, de fato - Muito obrigado por isso. Como você viu em meus arquivos de log, certamente não está funcionando no meu ambiente RoboForex. É em um VPS cuja CPU está lutando um pouco, então eu me perguntei se os eventos estavam sendo enfileirados por muito tempo, mas eu tinha corrido por mais de uma hora e nenhum evento foi gravado. Eu acho que o meu próximo passo será tentar na minha máquina local em vez do VPS. Mais uma vez obrigado pelos seus esforços. Hmm Interessante - muitos obrigados por isso. Como você viu em meus arquivos de log, certamente não está funcionando no meu ambiente RoboForex. É em um VPS cuja CPU está lutando um pouco, então eu me perguntei se os eventos estavam sendo enfileirados por muito tempo, mas eu tinha corrido por mais de uma hora e nenhum evento foi gravado. Eu acho que o meu próximo passo será tentar na minha máquina local em vez do VPS. Mais uma vez obrigado pelos seus esforços. Há sempre algo que as pessoas não contam na frente. Você não demonstrou nada por que você está usando isOptimzed nesse pedaço de código você verificou se eu fico em minhas primeiras respostas, a função de temporizador é executada localmente e não é afetada pelo corretor, mesmo nos fins de semana quando os mercados estão fechados eu uso ontimer para ter o e executar Cálculos para encontrar as entradas da próxima semana. Eu também tenho facilidades onde o ontimer gera tiros artificiais que também vivem sem um feed do mercado ao vivo. Se você não encontrar uma solução e acreditar que seja um bug, então, escreva para servicedesk. Além disso, você deve tomar uma rota mais simples para testar as coisas, há muitas coisas entre deixar um simples Na função do temporizador, deve ser uma abordagem mais direta para verificar se o temporizador é executado, em vez de escrever em arquivos e tudo isso. Eu negociei permitido porque o EA Im que usa para realmente negociar na conta está funcionando bem. Em qualquer caso, por que isso afetaria a existência do evento OnTimer. O método writeToLog () é simplesmente um que eu uso em todos os lugares e está bem testado e está provado que funciona nesta situação pelo fato de que as mensagens de inicialização estão escritas. O IsOptimization () está disponível apenas para que não tente escrever arquivos de log durante a otimização. Eu concordo - usei OnTimer em todo o lugar (há vários anos) e não tive problemas com isso até agora. Eu sei que não é um bug porque funciona em todos, exceto no meu ambiente RoboForex. De qualquer forma, Nguyen Nga provou que, na sua conta RoboForex, ele funciona bem (log e tudo), por isso deve estar relacionado ao meu ambiente. Você continua dizendo que seu local - bem, sim é uma função da estrutura MQL4, mas, tanto quanto eu sei, não há nenhuma razão pela qual o RoboForex pode não ter sua própria versão do framework que, por algum motivo, não suporta o evento OnTimer. Para ser honesto se fosse assim, esperava um programador respeitável para lançar uma exceção NotImplemented em resposta ao método EventSetTime (), mas você nunca sabe. Eu negociei permitido porque o EA Im que usa para realmente negociar na conta está funcionando bem. Em qualquer caso, por que isso afetaria a existência do evento OnTimer. O método writeToLog () é simplesmente um que eu uso em todos os lugares e está bem testado e está provado que funciona nesta situação pelo fato de que as mensagens de inicialização estão escritas. O IsOptimization () está disponível apenas para que não tente escrever arquivos de log durante a otimização. Eu concordo - usei OnTimer em todo o lugar (há vários anos) e não tive problemas com isso até agora. Eu sei que não é um bug porque funciona em todos, exceto no meu ambiente RoboForex. De qualquer forma, Nguyen Nga provou que, na sua conta RoboForex, ele funciona bem (log e tudo), por isso deve estar relacionado ao meu ambiente. Você continua dizendo que seu local - bem, sim é uma função da estrutura MQL4, mas, tanto quanto eu sei, não há nenhuma razão pela qual o RoboForex pode não ter sua própria versão do framework que, por algum motivo, não suporta o evento OnTimer. Para ser honesto se fosse assim, esperava um programador respeitável para lançar uma exceção NotImplemented em resposta ao método EventSetTime (), mas você nunca sabe. Não tenho ideia de qual quadro você está falando. A função OnTimer é executada no relógio do processador local, não há nenhuma maneira para roboforex, ou qualquer corretor para esse assunto para manipular isso. É bastante simples, e é por isso que fico: Bem, estou com medo do que eu disse é possível. Eu estava apertando as palhas, em vez disso, com a sugestão de CPU supercarregada, mas acabou por ser o problema. Parece que o RoboForex está fornecendo um serviço VPS realmente ruim. Eu tenho duas instâncias de terminal MT4 rodando sobre ele e o uso da CPU estava sentado em 100 mais ou menos permanentemente. Como eu disse, deixei o teste EA executado por mais de uma hora e nenhum evento OnTimer conseguiu isso, embora os eventos OnTick tenham conseguido, embora eu não tenha idéia do atraso. No entanto, acabei de tentar novamente hoje, e o Os eventos OnTick estão passando - a diferença é que a CPU está funcionando apenas em torno de 70 ocupados devido à falta de tráfego comercial (sem eventos OnTick). Mesmo 70 é completamente ridículo nas circunstâncias - eu tenho outro VPS específico de especificação (Intel Xeon de núcleo único com 2GHz com 1G RAM) que, com a mesma instância de MT4 que está executando, está consumindo apenas 1 CPU no momento e durante a semana atinge o máximo 20. Então, não sei se o evento OnTick tem maior prioridade do que o OnTimer, mas é algo para assistir se você confia no OnTimer e sua CPU está ocupada. Bem, estou com medo do que eu disse é possível. Eu estava apertando as palhas, em vez disso, com a sugestão de CPU supercarregada, mas acabou por ser o problema. Parece que o RoboForex está fornecendo um serviço VPS realmente ruim. Eu tenho duas instâncias de terminal MT4 rodando sobre ele e o uso da CPU estava sentado em 100 mais ou menos permanentemente. Como eu disse, deixei o teste EA executado por mais de uma hora e nenhum evento OnTimer conseguiu isso, embora os eventos OnTick tenham conseguido, embora eu não tenha idéia do atraso. No entanto, acabei de tentar novamente hoje, e o Os eventos OnTick estão passando - a diferença é que a CPU está funcionando apenas em torno de 70 ocupados devido à falta de tráfego comercial (sem eventos OnTick). Mesmo 70 é completamente ridículo nas circunstâncias - eu tenho outro VPS específico de especificação (Intel Xeon de núcleo único com 2GHz com 1G RAM) que, com a mesma instância de MT4 que está executando, está consumindo apenas 1 CPU no momento e durante a semana atinge o máximo 20. Então, não sei se o evento OnTick tem maior prioridade do que o OnTimer, mas é algo para assistir se você confia no OnTimer e sua CPU está ocupada. Por que você não tenta testar esse servidor para ver se ele está funcionando corretamente. No código que você forneceu. Isso nunca pode levar a uma carga de CPU de 70, a menos que você esteja preso em um loop infinito. Por exemplo, eu executo meus robôs, sem problemas. Baixar MetaTrader 5 Copyright 2000-2017, MQL5 Ltd.

Comments

Popular posts from this blog

Bk negociação de sinais no Brasil

Depósito gratuito de forex

Opções de compra e negociação no Brasil