Erros, bugs, perguntas - página 1925
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Insectos, insectos, perguntas
fxsaber, 2017.07.10 20:16
Para aliviar muitas questões sobre o preenchimento correcto da estrutura MqlTradeRequest, sugiro que ao premir F9 no terminal enquanto preenche manualmente os campos, faça uma nota de rodapé "Detalhes", onde todos os campos da estrutura comercial correspondente serão visíveis (com opção de cópia com um clique). Agora esta estrutura está totalmente disponível se a apanhar na OnTradeTransaction após pressionar a acção da janela F9.
Falha. A implementação da captura da estrutura preenchida através da OnTradeTransaction pode ser vista aqui.
A partir de pelo menos 1625 quedas de MT5 quando testado.
Bild 1626:
Reproduz pelo menos nos modos "cada carrapato..." e "todos os carrapatos".
Tarde. Necessidade de passos para a reprodução. Necessidade de perito/indicador e configurações de teste. Por favor, escreva para Servicedesk.
Boa tarde. Necessidade de passos para a reprodução. Necessidade de perito/indicador e configurações de teste. Por favor, escreva para Servicedesk.
Ter escrito para TA#1794147.
Crash parece ser gerado ao utilizar o HistoryDealGetTicket(i), com um parâmetro maior do que o número de transacções disponíveis.
Escrevi ao TP#1794147.
Crash parece ser gerado quando se utiliza o HistoryDealGetTicket(i), com um parâmetro que excede o número disponível de transacções.
Sim, eu vi-o. Obrigado
Nenhuma mensagem de erro
Deve estar presente um construtor explícito ou uma sequência de inicializaçãoNenhuma mensagem de erro
Por causa do construtor. Portanto, está tudo bem.
Por causa do construtor. Portanto, está tudo bem.
Por causa de um construtor que nada faz?
Se é possível não inicializar const int A::a, então porquê inicializar const int b no caso anterior?
Por causa de um construtor que nada faz ?
Sim, por causa do construtor por defeito vazio.
Se pode desinicializar const int A::a, então porquê inicializar const int b necessariamente no caso anterior?
Porque é que mostra Erro em vez de Aviso? Bem, pode ser feito desta forma
IMHO, deve haver um Aviso quando uma variável constante de um tipo simples não é inicializada. E não deve haver Aviso quando o valor do OrderSend não é verificado. Mas esta parece ser a opinião dos criadores sobre a correcta. Isto é, o raciocínio é subjectivo.
Porque é que mostra Erro em vez de Aviso? Afinal de contas, pode fazê-lo desta forma
Porque a utilização de uma variável constante não inicializada não faz sentido - daí o erro (contém um valor aleatório e não pode ser alterado mais tarde)
Porque a utilização de variável constante não inicializada não faz sentido - daí o erro (contém um valor aleatório e a sua utilização posterior conduzirá a erros difíceis de encontrar)
Risquei uma palavra na citação, mas o significado não mudará se houver apenas operações só de leitura no futuro. Para não-constrição dá Advertência, para constância dá Erro. É apenas uma das decisões controversas dos criadores.