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
Algo que eu não sou bom em explicar, aparentemente. Aqui está um exemplo da vida real. Aqui está o código:
e assim por diante.
Podemos ver que o tempo de resposta da OnTradeTransaction em dois Expert Advisors coincide com milissegundos. Então, tenho uma pergunta: o evento "deal" vem primeiro para uma OnTradeTransaction em uma EA e depois para a próxima em outra EA ou, de alguma forma, chega a todos os manipuladores de todas as EA de uma só vez? Como uma operação paralela multi-tarefa ou o que quer que se chame na programação. Tenho certeza de que tudo acontece sequencialmente, é processado em apenas um milissegundo, mas eu perguntei apenas por precaução.
Algo que eu não sou bom em explicar, aparentemente. Aqui está um exemplo da vida real. Aqui está o código:
nulo OnTradeTransaction(const MqlTradeTransaction& trans,
const MqlTradeRequest& request,
const MqlTradeResult& result)
{
Conta +++;
Print("Ontrade_test = ",Count);
}
O manipulador é implementado em dois Expert Advisors para que seja executado várias vezes em dois Expert Advisors quando uma operação é realizada. O código sai:
18:31:06.495 ontrade_trans_functions (MXI-12.17,H1) Ontrade_test = 1
18:31:06.495 ontrade_trans_functions2 (MXI-12.17,H1) Ontrade_test = 1
18:31:06.497 ontrade_trans_functions (MXI-12.17,H1) Ontrade_test = 2
18:31:06.497 ontrade_trans_functions2 (MXI-12.17,M5) Ontrade_test = 2
18:31:06.498 ontrade_trans_functions (MXI-12.17,M5) Ontrade_test = 3
18:31:06.498 ontrade_trans_functions2 (MXI-12.17,H1) Ontrade_test = 3
18:31:06.500 ontrade_trans_functions (MXI-12.17,M5) Ontrade_test = 4
18:31:06.500 ontrade_trans_functions2 (MXI-12.17,H1) Ontrade_test = 4 ...
e assim por diante.
Você pode ver que o tempo de resposta da OnTradeTransaction nos dois Expert Advisors é o mesmo em milissegundos. Então, tenho uma pergunta: o evento comercial chega primeiro a uma OnTradeTransaction em uma EA e depois a outra em outra EA ou chega de alguma forma a todos os manipuladores de todas as EA de uma só vez? Bem, é como uma operação paralela com múltiplas roscas ou o que quer que se chame na programação. Tenho certeza de que tudo acontece sequencialmente, só funciona rápido dentro de um milissegundo, mas eu perguntei por precaução.
O manipulador da OnTradeTransaction para UM símbolo (m_symbol.Name()) e um mágico (m_magic).
Apanhe a transação primeiro
TRADE_TRANSACTION_DEALDEAL_ADD
Acrescente a transação ao histórico. Isto é feito como resultado da execução de ordens ou transações de saldo de conta.
então procuramos ver se se trata de um comércio
DEAL_ENTRY_OUT
Saída do mercado
O eventoOnTradeTransaction é um evento de transmissão, todas as ações que seu terminal realiza são "despejadas" lá.
É só que cada EA tem que filtrar suas próprias ações.
Então em cada tipo, filtramos por bilhete, se o pedido for enviado de forma assíncrona, então
primeiro, obtemos o bilhete através de sua identificação de pedido e depois filtramos pelo bilhete.
O eventoTRADE_TRANSACTION_REQUEST vem sempre em primeiro lugar, os outros "como eles querem".
Adicionado
Isto já foi discutido muitas vezes.
Procure-o em Exchange Trading
Obrigado, parece estar recebendo os acordos certos "anotados".