Características da linguagem mql5, subtilezas e técnicas - página 5

 
Dmitry Fedoseev:

Seria melhor escrever uma função separada para espera, para que a classe de negociação padrão possa ser usada também.

Se você inserir a solução antes da SB agora, ela se tornará sincronizada.

Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos

Características da linguagem mql5, subtilezas e truques

fxsaber, 2017.02.25 16:02

Se você quiser fazer todos os OrderSend sincronizados com o ambiente de negociação e evitar as armadilhas, é suficiente escrever o código fonte como um arquivo mqh- e fazer o #include apropriado em seus programas.

 
Dmitry Fedoseev:

As coisas são muito mais simples. Antes de enviar um pedido, lembrou-se da duração do histórico, e depois de enviá-lo, esperou que a duração do histórico aumentasse. Um timeout tem de ser introduzido, para que de repente não fique preso para sempre.

fxsaber:

Há um desconto de tempo. Infelizmente, pode haver problemas na sua versão se vários OrderSends trabalharem em conjunto (de diferentes Expert Advisors).

O ORDER_MAGIC não ajuda nesta situação? Só para verificar o histórico da sua EA?
 
Vasiliy Pushkaryov:
O ORDER_MAGIC não ajudaria nesta situação? Só para verificar o histórico da sua EA?
Disponível em
 
Vasiliy Pushkaryov:
Não seria a ORDER_MAGIC uma ajuda nesta situação? Só para verificar o histórico da sua EA?
Pode haver problemas com isso.

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Características da linguagem mql5, subtilezas e truques

fxsaber, 2017.02.25 17:29

Além disso, não só o histórico, mas também SL/TP de posições/ordens abertas, etc. não está sincronizado.

Para Marques, a história só pode aumentar por uma ordem no início, e depois um momento depois por uma troca.

Além disso, ORDER_MAGIC já é um pedido de histórico. Em outras palavras, não podemos simplesmente esperar que a história aumente, como foi sugerido antes.

Não está muito claro para mim porque temos de inventar alguns métodos, quando apenas um deles pode funcionar (como espera) baseado na lógica do que deve ser esperado.

Para cada TRADE_ACTION você tem que esperar por algo específico. Esse é apenas o específico para esperar. Não faz sentido esperar por outra coisa. Não há nenhuma segunda solução.

 
fxsaber:
Pode haver um problema com isso.

Além disso, ORDER_MAGIC já é um pedido de histórico. Portanto, não se pode esperar que a história aumente, como foi sugerido anteriormente.

Não está muito claro para mim porque temos de inventar alguns métodos, quando apenas um deles pode funcionar (como uma espera), baseado na lógica do que temos de esperar.

Para cada TRADE_ACTION você tem que esperar por algo específico. Esse é apenas o específico para esperar. Não faz sentido esperar por outra coisa. Não há nenhuma segunda solução.

És um tipo tão interessante. Se não o explicares em detalhe, não vais descobrir. À espera que a história aumente com o mágico em mente.
 
Dmitry Fedoseev:
À espera que a história aumente com o mágico em mente.
E se o fizeres?
 
fxsaber:
E se a modificação?
Porquê esperar depois disso?
 
Dmitry Fedoseev:
Porquê esperar depois disso?
Ao modificar uma ordem pendente após um OrderSend bem sucedido, você pode se deparar com este
(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_REQUEST_MODIFY

além do fato de que SL/TP não são imediatamente atualizados, como acontece com a modificação de posição.

Você só pode descobrir as nuances se você testar muitos servidores de negociação. Sem ele, negociar em uma conta real é uma coisa complicada.

 
Há sempre algo para ser apanhado em
 
Dmitry Fedoseev:
Há sempre algo para se encontrar
A solução proposta ainda não se deparou com mais nada. É por isso que não podia sugerir nada melhor.
Razão: