![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
Desenvolvedores. Como é o caso da OrderSend, por exemplo.
Aqui está um exemplo https://www.mql5.com/ru/forum/295485/page11#comment_9959761
Pensei que eles se cansariam de responder a mesma pergunta e finalmente emitir um aviso - não, eles não
Portanto, MQL não é para comerciantes, mas para programadores.
É suficiente desativar avisos baseados em números (você não pode vê-los através do MetaEditor, mas eles estão lá), o que eu faço através do compilador de comandos
Você pode me dizer como isso é feito?
Os resultados da compilação são enviados para um arquivo e de lá são extraídas as linhas sem números de advertência pré-definidos (após a palavra advertência há um número)
Os resultados da compilação são enviados para um arquivo e daí são extraídas as linhas que não possuem números de advertência pré-definidos (a palavra advertência é seguida por um número)
Então como faço para que estes avisos não apareçam em ME? Onde coloco estes números?
Eu compenso na linha de comando e todas as mensagens também são exibidas na linha de comando. Ela não pode ser anexada à IDE MetaEditor. Esta é a última, por assim dizer, compilação - verificação de avisos importantes. Eu não olho mais para avisos na IDE - há muitos deles
Portanto, MQL não é para comerciantes, mas para programadores.
Não sendo um programador, eu uso MQL. Termine esse mantra sobre programadores. Acho que tenho um melhor domínio da MQL do que um usuário médio e talvez um freelancer.
Portanto, posso razoavelmente dizer que compreendo os problemas enfrentados pela maioria dos usuários do idioma.
Eu compenso na linha de comando e todas as mensagens também são emitidas na linha de comando. Ele não pode ser anexado ao MetaEditor IDE. Esta é a compilação final - verifique se há avisos importantes
Ah, isso não é interessante... A propósito, por que você compila na linha de comando?
Digamos que um novo build está fora e / ou eu preciso recompilar todos e / ou apenas certos arquivos - eu estabeleço uma lista e apenas a lista é compilada / várias listas
Ou eu preciso recompilar em outra construção - eu defino o número da construção e a lista e o arquivo de comando faz tudo sozinho
E para que serve tal valor, se você recebe apenas 4 bytes em 8. Dado que os Desenvolvedores proibiram explicitamente a conversão do valor de um ponteiro em ulong (antes que você pudesse, e acredite em mim, os bits altos eram não-zero naquela época).
Foi experimentalmente demonstrado que este número se comporta exatamente como um índice ponteiro em uma matriz de ponteiros se comportaria se tal matriz atribuísse números aos ponteiros de forma estritamente consecutiva e, se um intervalo de números fosse liberado, os reutilizasse do último número liberado para o primeiro em ordem inversa. Se alguém quisesse duplicar este sistema de descritores em sua arquitetura, por exemplo, substituir um tipo de ponteiro por uma estrutura de tamanho int, comportamento compreensível (retorno verdadeiro como tipo em linha para um objeto destruído, enquanto este comportamento proíbe sobrecarregar um número de operadores lógicos úteis com ponteiros, este é um completo facepalm) e todos os benefícios do tipo simples, mantendo um controle apertado sobre a população de objetos e ponteiros via contador, a capacidade de obter este número do próprio objeto economizaria uma quantidade significativa de pa
E falando em tarefas mais mundanas - este número indica o número de objetos criados no sistema e é útil para depuração em qualquer arquitetura baseada em listas dinâmicas. Não me surpreende, não sou o primeiro a descobrir como "enganar" a proibição de obtê-la, e até me disseram uma maneira mais rápida, embora apenas por 4.Por exemplo, uma nova construção saiu e / ou eu preciso recompilar todos ou apenas alguns arquivos
Estou vendo, mas este é um caso especial. Afinal, passamos a maior parte do nosso tempo codificando e compilando na IDE, de modo que desativar avisos desnecessários seria muito útil.
Eu pessoalmente encontro muitas coisas desnecessárias lá. Por exemplo, há avisos sobre a conversão implícita em cadeia. Não posso me lembrar de casos em que possa causar algumas conseqüências desagradáveis. 99% dos casos em cadeia são usados apenas para imprimir texto na tela ou escrevê-lo em um arquivo.
Ou, suponha, quando o tipo de valor de retorno da função é bool, e você retorna 0 ou 1, o compilador também reclamará, dizendo que o tipo não é booleano. VS não o tem. Estas constantes são permitidas para bool. Por exemplo, sou mais conveniente escrever retorno 0 em vez de retorno falso porque é muito mais fácil de perceber visualmente.
Portanto, meu tronco está quase completamente embalado apenas com estes dois avisos. Eu gostaria de me livrar deles).
Quando chegar lá, talvez eu mesmo o termine. Tenho muitas idéias lá. Por enquanto só fiz rolagem automática do log depois de terminar a compilação até o início do primeiro erro (se houver). Sem ele eu tive que rolar manualmente a lista (e não é tão grande assim), procurando por mensagem de erro. Que chato.