Com o que substituir a OnTradeTransaction() em mql4? - página 5

 
Vitaly Muzichenko:

Hoje me deparei com o fato de que uma posição fechou e a outra abriu em outra, e quase ao mesmo tempo entre carrapatos.

No final, as ordensTotal() permaneceram em 8. A lógica do Expert Advisor ficou confusa - ele não recalculou os novos dados

É exatamente nisso que eu penso e não gosto. Embora minha situação seja um pouco diferente, a essência é a mesma. Estou pensando.

 
Aleksandr Volotko:

É exatamente isso que estou pensando e não gosto. Embora minha situação seja um pouco diferente, mas a questão é a mesma. Estou pensando.

Alexander, você não encontrará nada melhor do que a biblioteca de Artem Trishkin. Embora ele esteja me criticando, é apenas cerca de mql5 e eu não estou fazendo muito em mql4, por isso não estou usando aquela biblioteca. Comecei um Expert Advisor e tentei usá-lo, mas desisti. A idéia revelou-se incompetente antes de a implementação ter sido concluída. )))

IMHO, construir um algoritmo sobre a busca da história não é a melhor opção. E mudar o tamanho da história é ainda pior. Um problema tem sido descrito por Vitaly. O outro é que, se não estamos escrevendo somente para nós mesmos, geralmente é inaceitável. O número de pedidos na história em mql4 depende da seleção da profundidade

E imagine que o usuário decide olhar para a história por hoje, depois por uma semana e mais algumas trocas... A EA ficaria louca se quisesse))))

 
Aleksandr Volotko:

É exatamente isso que estou pensando e não gosto. Embora minha situação seja um pouco diferente, mas a questão é a mesma. Estou pensando.

O hash soma das propriedades dos pedidos e posições. O símbolo é codificado na soma dos códigos de caracteres que compõem seu nome. Mas depois apenas um loop completo. Quando a soma do hash muda - veja o que aconteceu.
 
Artyom Trishkin:
O hash soma das propriedades dos pedidos e posições. O símbolo é codificado na soma dos códigos de caracteres que compõem seu nome. Mas depois apenas um loop completo. Quando a soma do hash é alterada - veja o que aconteceu.

Como assim?

 
Alexey Viktorov:

Alexander, você não encontrará nada melhor do que a biblioteca de Artem Trishkin. Não sei por que ele está me criticando, mas é apenas sobre mql5, e eu não estou fazendo muito em mql4, então não estou usando aquela biblioteca. Comecei um Expert Advisor e tentei usá-lo, mas desisti. A idéia revelou-se incompetente antes de a implementação ter sido concluída. )))

IMHO, construir um algoritmo sobre a busca da história não é a melhor opção. E mudar o tamanho da história é ainda pior. Um problema tem sido descrito por Vitaly. O outro é que, se não estamos escrevendo somente para nós mesmos, geralmente é inaceitável. O número de pedidos na história em mql4 depende da seleção da profundidade

E imagine que o usuário decide ver a história por hoje, depois por uma semana e mais algumas trocas... O Conselheiro Especialista ficaria louco se quisesse))))

Alexey, OrderHistoryTotal() funciona claramente, há sempre um "Período de seleção" a ser preenchido ou deduzido.

 
Vitaly Muzichenko:

Alexei, OrderHistoryTotal() funciona bem, ou preenche ou reduz o "Select period".

Eu não entendo. Você está dizendo que isso não depende das configurações do terminal? Houve alguma mudança desse tipo?

 
Alexey Viktorov:

Eu não entendo. Você está dizendo que isso não depende das configurações do terminal? Houve alguma mudança desse tipo?

Não, mas talvez estejamos falando de coisas diferentes.

static __TotalHist = -1;
int HT=OrdersHistoryTotal();
  if(HT!=__TotalHist)
   {
     SetHistory();
     __TotalHist=OrdersHistoryTotal(); // запомним количество
   }

Isto sempre vai funcionar.

Pode não funcionar em 1 caso em 100.500.

static __Total = -1;
int OT=OrdersTotal();
  if(OT!=__Total)
   {
     SetMarket();
     __Total=OrdersTotal(); // запомним количество
   }
 
Artyom Trishkin:
Uma soma de hash das propriedades dos pedidos e posições. O símbolo é codificado na soma dos códigos de caracteres que compõem seu nome. Mas depois apenas um loop completo. Quando a soma do hash muda - veja o que aconteceu.

dar um exemplo em código - esta é uma característica necessária

 
Alexey Viktorov:

IMHO, não é a melhor maneira de construir um algoritmo sobre uma busca da história.

Eu nem pensei em tocar OrderHistoryTotal(), por quê?

 
Igor Makanu:

dar um exemplo em código - esta é uma característica necessária

Descrito em meus artigos. Está quase no início. E para a MQL4 - em artigos sobre compatibilidade com 4.
É difícil dar um link de um telefone celular. Mas se você abrir algum dos artigos recentes, há uma lista de todos os artigos no final.