Auto-aprendizagem da linguagem MQL5 a partir do zero - página 78

 
Alexey Viktorov:

Eu faria isso.

A questão é que é uma função da minha EA, e é multi-instrumental. É quando você adiciona símbolos e verifica todos os símbolos disponíveis. Se for encontrado, ele é adicionado ao relatório de mercado para uso posterior com ele. E, claro, o nome correto do instrumento está escrito na variável local.

 
Vitaly Muzichenko:

Alexey, o código é bastante normal. O que não é normal é inserir vários caracteres no parâmetro, o que é improvável que seja feito por alguém.

Tenho praticamente a mesma implementação em meu produto de trabalho.

Esta implementação funciona com sucesso em uma solução de múltiplas moedas, o que não pode ser dito sobre outros códigos, ou seja, o código é universal.

Não há uma dica de uma solução em várias moedas na questão. É por isso que diz que o código não atende a essa exigência.

 

E só para que conste. Por que verificar os dois sentidos

StringFind(symbol, s, 0) >= 0 || StringFind(s, symbol, 0) >= 0

À prova de tolices. Uma vez tive um cliente que se queixava de ter inserido um símbolo, mas que não funcionava. Acontece que seu terminal mostrou um símbolo puro e entrou nele com aditivos. Acrescentei a segunda direção de verificação sem pensar muito tempo ))))

 
Depois haverá um terceiro tipo, que ficará indignado com o fato de ele ter inserido o nome do símbolo sem aditivos, e o gráfico tem aditivos, mas por alguma razão o Assessor Especialista trabalhou. Portanto, faça uma comparação exata e, se não corresponder, exiba uma mensagem - "o gráfico tem tanto e tanto símbolo, e você entra tanto e tanto" e deixe o fardo da responsabilidade recair sobre o usuário.
 
Dmitry Fedoseev:
Então aparecerá um terceiro tipo que se queixará de ter inserido o nome do símbolo sem aditivos, enquanto o gráfico tem aditivos, mas o consultor especializado trabalhou por algum motivo. Portanto, faça uma comparação exata e, se não corresponder, exiba uma mensagem - "o gráfico tem tanto e tanto símbolo, e você entra tanto e tanto" e deixe o fardo da responsabilidade recair sobre o usuário.

Não é uma opção, é claro. Uma pessoa se sente à vontade para entrar em personagens puros. E deixe o código adicionar os sufixos/prefixos em si. Puramente por uma questão de conveniência. Eu não sou fã de desenterrar o nome completo de um personagem.
Você pode até mesmo simplesmente copiar o arquivo do conjunto e executar o programa. Não há necessidade de sobrescrever nada. Há símbolos, eles serão viciados automaticamente.

 
Konstantin Nikitin:

Não é uma opção, é claro. Uma pessoa se sente à vontade para entrar em personagens puros. E deixe o código adicionar os sufixos/prefixos em si. Puramente por uma questão de conveniência. Não sou fã de desenterrar o nome completo de um personagem.

Impermeabilização nunca é conveniente)

 
Valeriy Yastremskiy:

Impermeabilização nunca é conveniente)

Não é tanto o infalível. Trata-se mais da conveniência de copiar um arquivo conjunto. Eu já me acostumei (você se acostuma rapidamente a uma coisa boa) e não percebo quando transfiro as configurações. Muito útil.
Embora a segunda direção e acrescentada dos tolos ))))

 
 MrBrooklin:

Olá Alexey!

A fim de melhorar seus conhecimentos na linguagem de programação MQL5, por favor explique por que não há diferença entre void &array e void& array?

Atenciosamente, Vladimir.

Eu não sei. Descobri, por experiência, que o vazio e a matriz funcionam da mesma maneira. Isto & significa que a variável é passada por referência e nada mais. Uma matriz como parâmetro de entrada para uma função é passada apenas por referência.
 
Alexey Viktorov:
Eu não sei. Eu aprendi por experiência que o vazio e a matriz funcionam de qualquer maneira. Isto & significa que a variável é passada por referência e nada mais. Uma matriz como parâmetro de entrada para uma função é passada apenas por referência.

Obrigado, Alexey! Vou manter isso em mente para o futuro.

Feliz Natal!

Atenciosamente, Vladimir.

 
MrBrooklin:

Obrigado, Alexey! Vou manter isso em mente para o futuro.

Feliz Natal!

Atenciosamente, Vladimir.

Artem Trishkin me respondeu a mesma pergunta, porque é um elo (maiúsculas), por isso pode ficar em qualquer lugar. deve tentar sem espaços para a pureza do experimento.

Razão: