Erros, bugs, perguntas - página 1724
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
No processo, surgiram algumas questões:
1. Porque é impossível escrever operador() em Comp (é proibido por alguma razão)?
2. Porque não podemos passar o prvalue para uma função que aceita referência constante?
ZS: e também muito irritante este aviso: "estrutura não tem membros, tamanho atribuído a 1 byte".
Tudo está bem aí, a colocação de encomendas deve ser controlada através da OnTradeTransaction, a propósito, se se ligar directamente à bolsa através do Plaza2, a situação é a mesma - é necessário controlar a chegada de mensagens sobre a colocação de encomendas. Em MT4, esta função é síncrona, mas a mesma opção está disponível em MT5, só que neste caso, a lógica irá parar até a função não receber resposta.
Se precisar, posso enviar-lhe a classe de controlo, mas esta está escrita para colocação no mercado, mas em breve finalizá-la-ei para os limitadores.
Peço-vos muito que ponham algo na kodobase! Para fins educacionais.
Não pode, pela razão que você mesmo apontou https://www.mql5.com/ru/forum/1111/page1743#comment_2877482. Recentemente não consegui localizar o erro, gastei muito tempo para formar o código fonte em servicedesk - no final nada saiu por causa de muitas referências cruzadas (uma puxa a outra em progressão geométrica) - enviei .ex5
Para fins educacionais posso sugerir a tarefa: sem introduzir variáveis adicionais simplifique h() para que f() seja chamado em qualquer caso uma vez
Erro de compilação
(*) Em geral, em padrão (1) tanto A->(2) como const A->(3) podem ser substituídos em vez de T.
Porquê? Um padrão com const não pode aceitar não const - viola o contrato.
Para fins educacionais, posso sugerir a seguinte tarefa: sem introduzir variáveis adicionais, simplificar h() para que f() seja chamado uma vez em qualquer caso
Porquê? Um modelo com const não pode aceitar não const - viola o contrato.
Alguém experimentou um problema semelhante? É um "bug" no terminal ou na mina?
O MT5-OrderSend NÃO está totalmente sincronizado - não há sincronização com o ambiente comercial. Isto significa que as leituras da história não correspondem à situação real.
Não há timeout fora de questão. Não existe uma solução fiável para o problema, porque os problemas de sincronização têm de ser resolvidos ao nível do terminal, não ao nível do servidor.
De facto, os utilizadores do MT5 estão a enfrentar o que os criadores de pontes MT4 estão a enfrentar.
Se um OrderSend é enviado, tem de LEMBRAR (é aqui que se encontra a potencial vulnerabilidade) que é feito. Depois ignorar o histórico actual (ambiente de negociação) até que a mensagem correspondente chegue à OnTrade. Uma vez chegado, LEMBRE-SE de ESQUECER.
Quando não há LEMBRE-SE, pode confiar na história como no MT4.
O MT4-OrderSend é totalmente sincronizado.Compreendo que se se meter com a OrderSendAsync de forma assíncrona, pode lidar tanto com a OnTrade como com a OnTradeTransaction. Com OrderSend quero ter um comportamento simples, como no MT4. Uma vez chamado, obtemos na produção posições abertas e história já modificadas.
Há um ponto subtil. Se o estado actual for armazenado numa variável global e a expectativa de mudanças de estado levar um tempo relativamente longo, e o comerciante conseguir alterar os parâmetros EA, as variáveis globais serão reiniciadas e o estado será descartado.