Características da linguagem mql5, subtilezas e técnicas - página 73

 
Kirill Belousov:

Ao preço de fechamento, encontre a vela em uma corretora não afetada no histórico onde você conhece o GMTOffset. A diferença entre os tempos do castiçal dará a diferença entre os CG. Adicione à diferença o GMT do conhecido e obtém a diferença do GMT do desconhecido.

Nunca se sabe a hora do servidor de troca. Você só sabe a hora da última citação para o símbolo.

Os castiçais têm, muito provavelmente, uma hora de duração.

Bem, esta não é uma maneira séria de a encontrar, vai para outro terminal.

Que outras variantes existem?

 
Vitaly Muzichenko:

Bem, isso não é uma maneira séria de o encontrar, vai para outro terminal qualquer.

que outras opções7

ligue para o corretor ou veja no site

Você provavelmente pode desparelhar os gráficos através da Web sem ir para outro terminal.

P.S. Qual é exactamente o problema onde se precisa do tempo de um corretor desconhecido?

 
Kirill Belousov:

ligue para o corretor ou veja no site

Preciso de saber a nível de software)

 
Vitaly Muzichenko:

Preciso de saber a nível de software)

E qual é a tarefa, onde você precisa do tempo de um corretor desconhecido?

 
Kirill Belousov:

Qual é a tarefa real onde você precisa do tempo de um corretor desconhecido?

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Peculiaridades de mql5, dicas e truques

Vitaly Muzichenko, 2018.03.25 21:34

Mas assim os castiçais também mostrarão o tempo do servidor.

Suponha que eu tenha agora iniciado o terminal de qualquer concessionário, não há cotações, mas há a última registrada navisão geral do mercado às 23:58, mas com o que o GMT offset funciona - não é conhecido.

Ou eu já sou estúpido e pode ser descoberto muito facilmente?

P.S. Suponha que eu me perdi no tempo e parei de distinguir entre dia/noite, dias da semana, hora.

Como descobrir que não há citações porque é um fim-de-semana, ou por exemplo, na quinta-feira não há citações, porque o servidor fica pendurado na sala de negociação?

Eu vejo tal solução, mas não vejo como implementá-la se eu não tiver tempo no servidor de negociação:

if( TimeCurrent()<TimeServer()-60 ) return( "нет котировок уже 1 минуту" );

 
Vitaly Muzichenko:

Inicie um temporizador e verifique como as cotações estão indo.

Se não mudaram durante muito tempo, significa que a corretora desliga, ou é quinta-feira ou fim de semana)

 
Kirill Belousov:

Inicie um temporizador e verifique como as cotações estão indo.

Se não houver mudança há muito tempo, significa que ou a BC está desligada ou é quinta-feira ou fim-de-semana ))

O temporizador é iniciado, existe o TimeCurrent(). O que fazer a seguir, o que comparar? Pode ser escrito em Ontika com o tempo do último tick e comparado com ele.

Não há outra solução?

PS.TimeServer() // hora do servidor de troca seria muito útil
 
Vitaly Muzichenko:

O temporizador está funcionando, TimeCurrent() está disponível. Mas o que se segue, com o que comparar? É possível escrever o tempo do último tick em Ontic, e compará-lo com ele.

Não há outra solução?

PS.TimeServer() // hora do servidor de troca seria muito útil

TimeCurrent() dentro do OnTimer() mostra a hora do último tick de todos os instrumentos de Market Watch.

Dentro de OnTick() mostra a hora da última citação pelo símbolo atual.

Você corrige o fato da mudança nas Variáveis Globais.

E a cada chamada do OnTimer() você o compara.

Se outro temporizador for iniciado e a hora de chegada da cotação não tiver sido alterada - você começa a contar o tempo de ausência de cotação.

Você tira conclusões e reage.

Além disso, você tem sessões de cotação e negociação para cada instrumento. A partir daí você pode descobrir se é ou não um momento de negociação.

P.S. Tanto quanto eu entendi você não precisa de um tempo de servidor. Você precisa definir a ausência de citações.

 
Kirill Belousov:

TimeCurrent() dentro do OnTimer() mostra a hora de chegada do último tick de todos os instrumentos de Market Watch.

Você corrige o fato da mudança nas Variáveis Globais.

E a cada chamada do OnTimer() você o compara.

Se o temporizador for iniciado e a hora de chegada da cotação não tiver sido alterada - você inicia a contagem regressiva para a hora da ausência de cotação.

Você tira conclusões e reage.

Além disso, você tem sessões de cotação e negociação para cada instrumento. A partir daí você pode descobrir se é ou não um momento de negociação.

P.S. Tanto quanto eu entendi você não precisa de um tempo de servidor. Você precisa definir o fato da ausência de citações.

É muito caro em termos de produtividade.

São frequentemente vendados.


 
Não verifiquei.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Histórico de negócios dentro do OnTesterPass

Anthony Garot, 2018.03.29 02:34

Hoje escavei um pouco mais nisto.

Parece que ao usar os agentes da Rede Local Farm não é possível abrir um arquivo no evento OnTester().

Eu sei que OnTester() está disparando porque o conjunto de dados em OnTester() é passado de volta para OnTesterPass() pelos agentes via frames.

Portanto, minha abordagem de despejo de dados para um arquivo da OnTester() só funciona para Agentes Locais, não para Agentes Agrícolas da Rede Local, e presumivelmente não para Agentes da Rede Nuvem MQL5.

Razão: