![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Muitas pessoas vão me culpar novamente, mas eu mantenho minha opinião. Sim, eu estava emocionado acima, então por favor me perdoe se eu ofendi alguém...
Eu venho de longe.
Imagine uma loja soviética antes de abrir, embora às 9:00 da manhã. Um carregador de caminhão que abre a porta da loja por dentro exatamente às 9 horas da manhã corre o risco de ser esmagado pela multidão que chega. A multidão é finalmente lançada na loja, e durante os primeiros minutos a loja está agitada, se não caótica. Há muito barulho, muitos palavrões. Às vezes alguns criminosos ficam na frente da fila. É aí que a multidão fica ainda mais agitada e barulhenta.
Então, aí está. Agora o comerciante senta-se em frente ao monitor, não vê multidão, tudo fica quieto antes que a "loja" abra. A sensação de agitação e caos não o incomoda como um comprador soviético. Mas isto não invalida a situação quando o sistema de troca é iniciado e há uma onda de licitações. O princípio de um pescoço estreito não desaparece e permanece válido.
Pergunta. Você acha que o corretor aciona seus compradores ao acaso ou de acordo com algum tipo de algoritmo? Parece-me que é dada prioridade aos grandes compradores. O corretor recebe mais comissões deles. E depois há a questão da reputação do corretor. A insatisfação de um grande comprador é mais perigosa do que a insatisfação de um pequeno comprador. Ou seja, presumo que as ordens dos grandes clientes são executadas mais rapidamente na abertura.
Pergunta. Você acha que o corretor não percebe que a pequena "loja" de compras está sofrendo? Acho que sim, é claro. Nós estabelecemos coletivamente que "lá fora" não são idiotas. O que um corretor deve fazer então? Bem, provavelmente minimizar de alguma forma o descontentamento do pequeno comprador. Como, exatamente? Você não pode cancelar a ordem, porque os pequenos comerciantes diriam: "Como é que eu, um comerciante respeitado, embora pequeno, recebi uma rejeição do corretor? Talvez, você possa simplesmente segurar as ofertas mesquinhas na fila de licitação até os chefes voltarem... Ou, aceitar as ofertas principais - comprar ou vender, e segurar a modificação...
E agora imagine que há muitos corretores desse tipo na bolsa: há ainda mais confusão no início de uma sessão, do que em uma loja soviética.
Estes são os pensamentos.
P.S. Todas as coincidências em meu texto são coincidentes e ilustrativas.
Há muita "água" porque você não sabe como é montado o portão FORTS.
Há restrições de login, ou seja, só posso enviar 30 transações por segundo.
Eu costumava ter 3 servidores MT5, mas agora são 8, e a latência não diminuiu,
Mas não há mais usuários do MT5 em FORTS!
Essa será a prova de que o evento não aconteceu.
Não vai!
Tudo o que o usuário fizer não é prova, apenas os logs do terminal serão prova!
Não vai!
Tudo o que o usuário faz não é prova, apenas os logs do terminal serão prova!
Mas o registro de todos os eventos pelo usuário na OnTradeTransaction() ajudará a entender as razões.
Mas o registro de todos os eventos na OnTradeTransaction() pelo usuário ajudará a entender as razões.
Engraçado...
Eu tenho 4000 transações por dia, cada transação pelo menos 5-6 vezes "twitches" OnTradeTransaction
Quem irá classificar estes "idiotas" :) Afinal, eles precisam de logs e terminais para eles, além de logs do Servidor MT5.
Adicionado
Tudo estava funcionando bem antes do lançamento da nova construção.
Mesmo agora funciona, mas às vezes cai sobre os Servidores Broker.
Adicionado
Quando instalo, modifico ou excluo uma ordem, dou-lhe umestado e um horário.
Aqui está
E esta bandeira(ORD_DO_SET) é zerada na OntradeTransaction.
O temporizador (1 segundo) verifica o estado desta ordem se nada tiver sido inserido na OnTradeTransaction.
E o novo tempo se esgota com a exploração madeireira.
Antes de exibir o log, esta função verifica o que aconteceu com o pedido
Adicionado por
A questão é que, no ano anterior, a OnTradeTransaction tornou-se GARANTIDA! :)
Digamos assim: se um evento chegar ao terminal, ele será colocado como OnTradeTransaction na fila do evento.
a questão é esta:
O comprimento da fila de transação é de 1024 elementos. Se a OnTradeTransaction() levar muito tempo para processar outra transação, as antigas na fila podem ser substituídas por outras mais novas.
E a fila de eventos do próprio Expert Advisor. Quantos eventos podem existir e se são preempados.
Digamos que se um evento chega ao terminal, é garantido que será colocado como OnTradeTransaction na fila de eventos. isto não significa que é garantido que será processado pela EA.
uma pergunta sobre este aqui:
E a fila de eventos do próprio Expert Advisor. Quantos deles podem estar lá e se há uma ação preventiva (se a citação não for sobre os Expert Advisors)
Quanto tempo você acha que é?
Quanto tempo você acha que é?
Se só pode haver um evento OnTradeTransaction na fila de eventos da EA (como um timer), então a velocidade do seu código não é importante.
se não, dependendo se você está trabalhando com encomendas de forma síncrona ou assíncrona.Se só pode haver um evento OnTradeTransaction na fila de eventos da EA (como um timer), então a velocidade do seu código é irrelevante.
se não, dependendo se você está trabalhando de forma síncrona ou assíncrona com os pedidos.Assincronamente, mas não pode haver mais de 30 deles simultaneamente
A propósito, aqui está mais (e de 10-10 a 14-00 tudo estava funcionando bem por alguma razão)
2018.02.28 14:07:59.505 Trades 'xxxxx': cancel order #84736275 buy limit 3.00 LKOH-9.18 at 37312 2018.02.28 14:08:09.071 Trades 'xxxxx': accepted cancel order #84736275 buy limit 3.00 LKOH-9.18 at 37312 2018.02.28 14:08:09.107 Trades 'xxxxx': cancel #84736275 buy limit 3.00 LKOH-9.18 at market done in 9602.694 ms 2018.02.28 14:00:32.653 trader (FEES-3.18,M1) CheckTradingTime: Сейчас 2018.02.28 14:00, если есть необходимость, можно закрыть терминал. 2018.02.28 14:08:00.522 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:01.543 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:02.553 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:03.565 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:04.593 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:05.625 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:06.654 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:07.667 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL 2018.02.28 14:08:08.680 trader (LKOH-6.18,M1) ProcessOrders: Билет buy ордера = 84736275 Cост. ордера = ORD_DO_CANCEL
Mas aqui esperamos que o servidor responda :)
Mas você não acha estranho que a última vez que escrevi aqui
Estamos em abril de 2017, a nova construção 1571 saiu
E, agora 1755, só então eram 2 segundos e agora....
Por que fiquei em silêncio por tanto tempo então (e nem sequer toquei nos EAs ) por 9 meses inteiros!
Adicionado
O número de instrumentos em forex não mudou, abriu 5 novos servidores MT5,
Os volumes de comércio diminuíram e o problema não só permaneceu como "cresceu".
E o próprio terminal não enviará mais de 60 pedidos por segundo