MT5 Para aqueles que se preocupam com a velocidade. - página 12

 
shelandr:

Não compreendo a pergunta...O perito lida com cada carrapato. Os bilhetes são normalmente 2-3 por minuto, nos movimentos de preços a frequência aumenta para cerca de 200 por minuto - ou 4-5 por segundo (não pense que traduzi incorrectamente em minutos em segundos - há outra relação). Não sei se estou errado sobre o minuto ou segundo - é mais preciso, posso controlar visualmente a carga do processador, excepto para operações comerciais síncronas que inevitavelmente atrasam o processo e provavelmente bloqueiam a recepção de carraças.

Bem, que se saiba que nem a EA nem o guião podem bloquear as carraças que entram no terminal. Mas o que é que estou a dizer - vá em frente e desça.
 
TheXpert:
Que se saiba que nem os EAs nem os guiões podem bloquear as carraças que entram no terminal.

Eu não disse que estavam a bloquear...apenas fisicamente as portas dos cartões modem-network se não forem gigabit não podem deixar passar tudo. o tráfego da internet também é imprevisível.

Mas as operações comerciais síncronas estão bloqueadas... aprenda a matemática.

Indicadores, eles não bloqueiam - eles trabalham no fluxo. Mas os guiões e os Expert Advisors abrandam. (Há um na documentação MT4.

 
shelandr:

Penso que se eu aumentar a largura de banda do canal as frequências máximas também aumentarão... Provavelmente não tenho tempo para receber todas as carraças...

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

MT5 Para aqueles que se preocupam com a velocidade.

shelandr, 2013.07.02 08:24

Tenho uma boa ideia de usar o meu próprio grupo de sistemas de comércio automatizado, deveria fazer o meu melhor para aprender algo que não compreendo, deveria antes aprender uma vez e fazê-lo correctamente em vez de confiar na dica de alguém.

Talvez devesse fazer isso em vez de fazer a mesma pergunta 10 vezes.
 
papaklass:

Para esclarecer.

1. Memorizar a hora de início do perito no próximo tick.

2. Quando o Expert Advisor tiver trabalhado um tick, subtraia da hora actual o tempo que memorizou no início.

Se a diferença for superior a 6 ms, isso significa que não é o canal que abranda a EA, mas a sua EA não consegue lidar com a velocidade do canal.

Tenho tal contador em MT5 - mostra 0 ms. Não há milissegundos em MT4. Também meço a inércia entre carraças, por vezes exibe 3000 ms.

Também preciso de medir o tempo de funcionamento do terminal, ele também funciona. Mas 6 ms não tem nada a ver com isto - a troca com o servidor é num tempo diferente e depende do comprimento do pacote, que pode variar... Da mesma forma, não sabem se formaram negócios e informações sobre posições, ordens, etc. num pacote separado ou acrescentado ao pacote de carraças (revelei-o no início).

Olhei mais de perto agora e por vezes Trabalho = 16 ms. Embora o mercado esteja calmo. O intervalo é de cerca de 500 msec.

 
sion:
Talvez devesse fazer isso em vez de perguntar a mesma coisa 10 vezes.
Eu também faço isso. Além disso, não é que eu esteja a perguntar, estou a responder ou a -comunicar.
 
papaklass:

Pode verificar facilmente a velocidade do kalala da Internet utilizando o mesmo método.

É preciso lembrar o tempo antes de OrderSend(); e compará-lo com o tempo após a recepção do bilhete de encomenda.

A função GetTickCount() irá ajudá-lo a medir milissegundos.

Agora olho com mais cuidado. Às vezes Trabalho = 16 ms. Embora o mercado esteja calmo. O intervalo é de cerca de 500 ms.

Embora não existam negócios.

Agora, tentei fechar uma posição e ela mostrava 36 ms.

E agora o ocioso mostrou 64 ms. O que poderia significar, uma tal propagação.

 
shelandr:

Agora olhei mais de perto e por vezes Trabalho = 16ms desliza. Embora o mercado esteja calmo. O intervalo é de cerca de 500 ms.

Embora não existam negócios.

Agora tentei uma operação comercial para fechar uma posição com 36 ms.

E agora o ocioso mostrou 64 ms. O que poderia significar, uma tal variação.

A precisão da medição do tempo através do GetTickCount está dentro de 16 ms.

Por isso, não se pode confiar no tempo dentro de 32 ms. Com tempos reais que variam de 0 a 31 ms, as respostas do GetTickCount podem ser mais frequentemente arredondadas para 0 ou 16.

 
shelandr:
Isso é o que eu também faço. Além disso, não é que eu esteja a perguntar, mas sim a responder ou a -comunicar.
Se responder, pergunto-me o que quer dizer com "as frequências máximas vão aumentar...", especialmente a dependência destas frequências da velocidade do canal...?
 
Renat:

A precisão da medição do tempo GetTickCount está dentro de 16 ms.

Ou seja, não se pode confiar nas medidas dentro de 32 ms. Com tempo real entre 0 e 31 ms, as respostas da GetTickCount podem muitas vezes ser arredondadas para 0 ou 16.

Obrigado... Compreendo o problema... Tenho-o em Expert Advisor:finish =GetTickCount();
Portanto, não há nada a medir. Porque me pergunto porque tenho 0 - não preciso de medir em microssegundos...
 
shelandr:
Também não é que eu esteja a perguntar, a responder ou a -comunicar.

sem ofensa

mas as suas respostas são algo como isto.