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
Não há previsão do futuro, pois, se para o momento X houver ticks em vários símbolos, então, junto com o primeiro evento em um dos instrumentos, nos demais símbolos (para os quais os eventos ainda estão na fila) haverá o tick anterior, e não o próximo (como no exemplo, 00:04 veio antes de 00:05, e não depois).
Para a sincronização, é preciso garantí-la algoritmicamente no código; por exemplo, no manipulador OnTick, consultar a hora dos ticks em todos os símbolos envolvidos antes de iniciar uma operação. Mas, em princípio, se a arbitragem for precisamente baseada em ticks (e não em barras ou minutos), é difícil imaginar uma sincronização confiável, pois os ticks em certos símbolos podem realmente ficar ausentes por alguns segundos.
Tudo é relativo: para um instrumento haverá atraso, enquanto para outro haverá avanço.
Lá tudo oscila; no depurador, tudo fica sincronizado, mesmo com o OnTick quase vazio.
É preciso converter as barras em ticks para o teste, a fim de simular corretamente a comissão e o spread.
Isso aqui tive que fazer no OnTick para que os cálculos do testador personalizado coincidissem com o MT
Para sincronizar, é preciso garantir isso algoritmicamente no código; por exemplo, no manipulador OnTick, consultar o tempo dos ticks de todos os símbolos envolvidos antes de iniciar uma operação.
Receio que isso não permita que o OnTick perceba que a sequência de ticks com o tempo atual chegou ao fim. Provavelmente, apenas um OnTimer em milissegundos ajudará.
Tudo é relativo: para um instrumento, haverá um atraso; para outro, um avanço.
Receio que isso não permita que o OnTick perceba que a sequência de ticks com a hora atual chegou ao fim. Provavelmente, só um OnTimer em milissegundos resolverá o problema.
Depende de como escrever a condição no if em relação ao tempo — é preciso usar um > estrito, e não >=, e não contabilizar o tick que fez com que a condição fosse acionada.
Com o cronômetro, vai dar certo da mesma forma.
Não entendi.
De cabeça, com identificação de tempo com precisão de milissegundos (o mesmo vale para segundos):
Mas vou repetir mais uma vez (para o Rorschach) que a sincronização em intervalos tão pequenos é ilusória. Os ticks de algum instrumento podem ficar ausentes por segundos; nesse caso, o preço atual para eles pode, na verdade, ficar “desatualizado”. Se para alguém for importante que todos os preços correspondam à mesma [mili]segundo, então, no trecho apresentado (no bloco de análise comentado), é preciso verificar adicionalmente a igualdade dos tempos dos ticks e só negociar se essa condição for cumprida.
De cabeça, com identificação do tempo com precisão de milissegundos (o mesmo vale para segundos):
Dessa forma, não é possível garantir de jeito algum que os ticks de todos os instrumentos estejam atualizados. Isso só é possível por meio do OnTimer em milissegundos.
Stanislav Korotky #:
Что подразумевается под актуальностью (этот метод отдает последние известные тики по всем инструментам)?
Não haverá mais ticks com a última hora conhecida.
E de que maneira o OnTimer fornecerá um resultado diferente?
O OnTimer em milissegundos garante que todos os ticks tenham ocorrido ANTES desse evento do temporizador. Ou seja, os ticks estão atualizados para todos os símbolos.