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
Já tive ordens que atingiram a oitava centena. Em negociações ativas, essa é uma ocorrência comum com novas construções. Nesse caso, você deve fazer o hashmap de várias centenas de ordens.
Mas isso não acontece a cada 15 minutos, não é mesmo?
Sim.
Para aqueles que usam esse pacote.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Bibliotecas: MT4Orders
fxsaber, 2021.05.12 21:58
Recomendo que você atualize o sincronizador.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Bibliotecas: TradesID
fxsaber, 2021.06.30 15:53
O ByPass.mqh foi atualizado. Ele funciona corretamente na situação de exclusão de uma ordem parcialmente executada. Adicionado registro de log quando ocorrem problemas.
Até que seja corrigido, recomendo trabalhar no b2958.
Por favor, esclareça alguns pontos no código MT4Orders.mqh (a partir de 2021.06.01):
1. linha 1413 HistoryDealSelect2():aqui o ciclo do histórico é interrompido se o tempo da negociação for menor que o tempo da ordem.
Não acontece na prática que o tempo de uma negociação no mqh é menor do que o tempo da ordem que a negociação executou (não me refiro a situações em que a ordem foi executada por várias negociações ao mesmo tempo)?
2. linha 2259 MT4OrderSend():
Por que, para a compensação, a ordem não é adicionada a MT4ORDERS::ByPass+= ?
3: Em algumas funções, você usa a macro WHILE(A): linha 1088
Por que você não verifica IsStopped()? Para otimizar o tempo? E se o usuário definir OrderSend_MaxPause para vários segundos?
4. notei que antes de OrderSend(LastTradeRequest, LastTradeResult) você não limpa LastTradeResult. Isso é feito pela própria função? Como um recurso não documentado?
Por favor, esclareça alguns pontos no código MT4Orders.mqh (a partir de 2021.06.01):
1. linha 1413 HistoryDealSelect2():aqui o ciclo do histórico é interrompido se o tempo da negociação for menor que o tempo da ordem.
Não acontece na prática que o tempo de uma negociação no mqh é menor do que o tempo da ordem que a negociação executou (não me refiro a situações em que a ordem foi executada por várias negociações ao mesmo tempo)?
Muito fora de contexto. Veja onde HistoryDealSelect2 é chamado. O Result.deal está localizado lá, quando é nulo com o Result.order totalmente executado. Há um limite de tempo para salvar. passagem de loop. Provavelmente testado em um grande problema de histórico. Ainda não me lembro. Eu mesmo não uso o sincronizador incorporado no OrderSend, porque uso o nulo MT4ORDERS::OrderSend_MaxPause.
2. linha 2259 MT4OrderSend():
Por que a ordem não é adicionada a MT4ORDERS::ByPass+= ?
3. em algumas funções, você usa a macro WHILE(A): linha 1088
Por que você não verifica IsStopped()? Para otimizar o tempo? E se o usuário definir OrderSend_MaxPause para vários segundos?
Na prática, não vejo nenhum problema aqui. Definitivamente, não o adicionei por esquecimento.
4. observei que antes de OrderSend(LastTradeRequest, LastTradeResult) você não limpa LastTradeResult. Isso é feito pela própria função? Como um recurso não documentado?
Parece que todos os campos MqlTradeResult são preenchidos pelo OrderSend, portanto, economizo na limpeza.
Muito obrigado!
A biblioteca é ótima.
Não projetei o ByPass para redes. Estou escrevendo-o para mim mesmo.