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
A primeira EA percebe que, após seu OrderSend, a história ainda não está sincronizada. Ele está apenas aguardando o evento de sincronização.
Mas como o segundo Expert Advisor entende que a história está sincronizada ou ainda não está sincronizada?
A primeira EA percebe que, após seu OrderSend, a história ainda não está sincronizada. Ele está apenas aguardando o evento de sincronização.
Mas como o segundo Expert Advisor entende que a história está sincronizada ou ainda não está sincronizada?
Esqueça a história. Tente estudar o comportamento da função OnTradeTransaction().
O primeiro Expert Advisor colocou uma posição e este evento é tratado na OnTradeTransaction onde a ordem errada é ativada... Este evento também é tratado na OnTradeTransaction.
O segundo Consultor Especialista também peneira ordens, posições e negócios que não são seus próprios.
Eu tenho 2 EAs trabalhando em contas reais. Em um deles, o mágico de posição atribui um bilhete para a posição à qual ele deve ser afixado. E você mesmo entende que eles não são dois mágicos diferentes...
Eu acho que seu nome é Victor? Comece a definir duas posições com feitios diferentes no debug e trace suas estruturas na OnTradeTransaction.
Esqueça a história. Tente estudar o comportamento da função OnTradeTransaction().
O primeiro Expert Advisor colocou uma posição, a OnTradeTransaction trata deste evento, "não é deles" são peneirados lá fora, o pedido é ativado... A OnTradeTransaction também lida com este evento.
O segundo Consultor Especialista também peneira ordens, posições e negócios que não são seus próprios.
Eu tenho 2 EAs trabalhando em contas reais. Em um deles, o mágico de posição atribui um bilhete para a posição à qual ele deve ser afixado. E você mesmo entende que eles não são dois mágicos diferentes...
Eu acho que seu nome é Victor? Comece a definir duas posições com feitios diferentes no debug e trace suas estruturas na OnTradeTransaction.
Se você olhar cuidadosamente para meus registros, você pode ver
que o bilhete é recebido mais rapidamente do que a OnTradeTransaction é acionada, portanto
o bilhete de pedido será suficiente.
Embora, naturalmente, (neste caso) seja melhor usar magik.
E (melhor ainda) usar OrderSendAsync - não há erros, nem no FOREX, nem no FORTS.
Se você olhar com atenção meus registros, você pode ver,
que o bilhete é recebido mais rapidamente do que a OnTradeTransaction, portanto
o bilhete de pedido será suficiente.
Embora, é claro (neste caso) seria melhor usar o Mágico.
E (por enquanto) é melhor usar OrderSendAsync - não há erros, nem no FOREX, nem no FORTS.
Talvez, talvez seja assim. Mas e se a ordem pendente for ativada? Devemos analisar a história? Outro problema com a velocidade de sincronização do ambiente?
Em resumo, é um jogo de amador. O principal é fazer com que funcione, não demorar muito e evitar...
Esqueça a história. Tente estudar o comportamento da OnTradeTransaction()
Como funciona o segundo durante uma história não sincronizada?
Este problema não afeta apenas o MT5, mas também quadruplica.
Como funciona o segundo durante uma história não sincronizada?
Este problema não só afeta o MT5, mas também quadruplica.
Estou ficando ainda mais certo de que seu nome é Victor. Não vou dizer a ninguém seu apelido passado.
Você dominou a programação a um nível acima da média em pouco tempo, na minha opinião, mesmo acima da média. Mas é muito difícil tirá-lo de sua posição equivocada. E agora que seu nível de conhecimento de programação é superior ao meu, eu nem vou tentar.
Esqueça a história, veja as estruturas da função OnTradeTransaction.
Tente explicar em palavras, como você determina em mql5 que uma ordem pendente é ativada?
Estou ficando ainda mais certo de que seu nome é Victor. Eu não direi a ninguém seu antigo apelido.
Você dominou a programação em pouco tempo...
Se você olhar com atenção meus registros, você pode ver,
que o bilhete é recebido mais rapidamente do que a OnTradeTransaction, portanto
o bilhete de pedido será suficiente.
Embora, é claro (neste caso) seria melhor usar o Mágico.
E (por enquanto) é melhor usar OrderSendAsync - não há erros, nem no FOREX, nem no FORTS.
OrderSend() é uma função absolutamente sincronizada - se um bilhete é recebido, tudo é executado.
Abaixo está um exemplo
Adicionados, e aqui estão os logs
https://www.mql5.com/ru/forum/38456/page85#comment_2888263
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Como posso conhecer minha comissão sem abrir uma posição sobre um símbolo?
fxsaber, 2016.11.08 20:30
void OnStart()
{
const int Ticket = OrderSend(_Symbol, OP_BUY, 1, SymbolInfoDouble(_Symbol, SYMBOL_ASK), 0, 0, 0);
OrderClose(Ticket, 0.3, SymbolInfoDouble(_Symbol, SYMBOL_BID), 0, clrNONE);
Sleep(1000); // ждем обновления истории
if (OrderSelect(Ticket, SELECT_BY_TICKET))
Alert(OrderCommission());
}
Acho que este exemplo é ilustrativo.
Se você não dorme, muitas vezes você tem uma situação em que a história não teve tempo de se atualizar após OrderClose e OrderCommission retorna um valor como se OrderClose não tivesse sido feito.
Note que este é um roteiro e não pode haver eventos. A única saída é um sono idiota.
Se você reescrever este roteiro com SB, nada vai mudar.