Auto-aprendizagem da linguagem MQL5 a partir do zero - página 75
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
Bom dia e bom humor para todos!
Eu continuo estudando a linguagem de programação MQL5. Fiz uma pequena mudança no código do Vasiliy Sokolov para abrir apenas uma posição por dia, como originalmente previsto no algoritmo do Expert Advisor. A mudança é destacada em amarelo.
Com os melhores cumprimentos, Vladimir.
O bloco do OnInit também é muito pensado e ainda não foi escrito de forma muito correta. Antes de tudo, você deve tentar escrever identificadores, não números. Retornar INIT_SUCCEEDED ao invés de -1. Em segundo lugar, a troca é excessiva aqui. Deve ser usado o "se" ou o "interruptor". Primeiro você tem que escrever um e depois o outro - apenas óleo.
Em terceiro lugar, precisamos monitorar todos os tipos de contas. Temos Demo e depois temos Real. E depois há o Concurso. Mas mesmo que não houvesse uma terceira conta, deveria haver um toco que capturaria todas as outras variantes:
Provavelmente seria mais razoável explicar como funcionam as exceções, caso contrário, não haverá compreensão do porquê de haver qualquer controle sobre algo que você não conhece.
No seu máximo exagerado, deveria ser o seguinte:
1. Iniciar um programa a ser executado
2. trabalhando através do algoritmo e saindo dele em duas direções:
a) Verdadeiro - o algoritmo funcionou corretamente
b) Falso - o algoritmo não funcionou
Ao mesmo tempo, trabalhar a) significa que aqui são cumpridas todas as opções que o programador quer implementar, e b) todo o resto, e não importa, se é necessário ou não. Isto é, o programador implementa apenas aquela funcionalidade que ele quer e tudo mais deve ser excluído.
Provavelmente faz mais sentido explicar o funcionamento das exceções, caso contrário, não há compreensão do porquê de se controlar algo que não se sabe.
No seu máximo exagerado, deveria ser o seguinte:
1. Iniciar um programa a ser executado
2. trabalhando através do algoritmo e saindo dele em duas direções:
a) Verdadeiro - o algoritmo funcionou corretamente
b) Falso - o algoritmo não funcionou
Ao mesmo tempo, trabalhar a) significa que aqui são cumpridas todas as opções que o programador quer implementar, e b) todo o resto, e não importa, se é necessário ou não. Isto é, o programador implementa apenas aquela funcionalidade que ele ou ela insere, e tudo mais deve ser descartado como uma exceção.
Olá Konstantin, obrigado por seus esclarecimentos.
Caros participantes desta linha! Mais uma vez, gostaria de agradecer a todos vocês pelas sugestões e conselhos construtivos que me ajudaram no aprendizado da linguagem de programação MQL5.
Por enquanto tenho uma pausa porque meu trabalho principal não me permite dedicar muito tempo e atenção ao auto-estudo, mas por enquanto o principal resultado é alcançado - entendo o básico da programação, leio códigos de terceiros e escrevo minhas próprias funções.
Vou publicar a versão do Trailing_Stop (v.1).mq5 Expert Advisor com comentários detalhados sobre cada linha de código, em uma forma acessível para um aluno da 1ª série de uma escola de programação, como prometi anteriormente, mas um pouco mais tarde.
Cumprimentos, Vladimir.
Bom dia e bom humor para todos!
Eu continuo estudando a linguagem de programação MQL5. Finalmente, tenho tempo suficiente para escrever uma versão do Expert Advisor com comentários detalhados sobre cada linha de código, em uma forma acessível aos alunos do 1º ano de uma escola de programação. Como o código do Expert Advisor é bastante volumoso, estou publicando-o como um arquivo chamado Trailing_Stop_gv.22.mq5.
Antes de publicar o código, verificamos o Expert Advisor no testador de estratégia. Não foram encontrados problemas. O sistema de rede de contabilidade de posição é usado no Expert Advisor. Este sistema de contabilidade significa que, em um determinado momento da conta, pode haver apenas uma posição aberta para um e o mesmo símbolo (segurança).
Neste momento, o Consultor Especialista implementou a capacidade de fazê-lo:
Esta versão do Expert Advisor implementa a maioria das dicas, previamente sugeridas por Vasily Sokolov.
ADVERTÊNCIA!!!
Este Expert Advisor foi desenvolvido de acordo com o plano de auto-estudo para contas de demonstração, e é destinado apenas para fins de treinamento! Não se destina à negociação em uma conta real e com lucro!
Atenciosamente, Vladimir.
Bom dia e bom humor para todos!
Eu continuo estudando a linguagem de programação MQL5. Finalmente, tenho tempo suficiente para escrever uma versão do Expert Advisor com comentários detalhados sobre cada linha de código, em uma forma acessível aos alunos do 1º ano de uma escola de programação. Como o código do Expert Advisor é bastante complicado, estou publicando-o como um arquivo chamado Trailing_Stop (v.2).mq5.
Antes de publicar o código, verificamos o Expert Advisor no testador de estratégia. Não foram encontrados problemas. O sistema de rede de contabilidade de posição é usado no Expert Advisor. Este sistema de contabilidade significa que, em um determinado momento da conta, pode haver apenas uma posição aberta para o mesmo símbolo (instrumento financeiro).
Neste momento, o Consultor Especialista implementou a capacidade de fazê-lo:
Esta versão do Expert Advisor implementa a maioria das dicas, previamente sugeridas por Vasily Sokolov.
ADVERTÊNCIA!!!
Este Expert Advisor foi desenvolvido de acordo com o plano de auto-estudo para contas de demonstração, e é destinado apenas para fins de treinamento! Não se destina à negociação em uma conta real e com lucro!
Atenciosamente, Vladimir.
Olá! - Não compila.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
descobriu - nome sem parênteses para criar o Trailing_Stop (v.2) Expert Advisor
Olá! - não compila.
Olá! Acabei de baixar o arquivo do site e conferi no meu MetaEditor, tudo se compila bem.
Cumprimentos, Vladimir.
Olá! Acabei de baixar o arquivo do site e conferi no meu MetaEditor, tudo se compila bem.
Cumprimentos, Vladimir.
Obrigado! pelo trabalho. eu não introduzi o nome corretamente ao criar o Expert Advisor. tudo funciona.
Obrigado! pelo trabalho. não digitei o nome corretamente ao criar o especialista. tudo funciona.
O prazer é meu!
Cumprimentos, Vladimir.
Caros participantes desta linha!
Mais uma vez gostaria de agradecer a todos vocês por suas sugestões construtivas, dicas e conselhos, que me ajudaram a aprender o básico da linguagem de programação MQL5. Um agradecimento especial a Vasily Sokolov! Deus vos abençoe a todos!
Com grande respeito a todos, Vladimir.
Bom dia e bom humor para todos!
Eu continuo estudando a linguagem de programação MQL5. Atualmente estou escrevendo código para um novo EA. Eu me deparei com um ponto, que não entendo bem como resolver. A tarefa parece ser simples - quero que meu consultor especializado trabalhe no gráfico do par de moedas, que está definido nos parâmetros de entrada da EA. Se for feita uma tentativa (por engano, por exemplo) de instalá-lo no gráfico de outro par de moedas, o Expert Advisor deve fazer um aviso sobre a impossibilidade de continuar o trabalho.
Aqui está o esboço do código do programa:
O compilador não mostra nenhum erro. O código que não funciona é destacado em amarelo. Talvez isso se deva ao fato de eu não entender bem o significado do identificador SYMBOL_DESCRIPTION - descrição em cadeia do caractere. Eu tentei usar outros identificadores, mas o resultado é o mesmo. Talvez a função SymbolInfoString() não seja de todo necessária aqui? Escrevi o nome do par de moedas GBPUSDrfd somente porque pretendo usar o Expert Advisor na Alpha-Forex, enquanto todos os símbolos deste corretor têm o rfd final.
Caro Conselheiro Especialista, por favor, me aconselhe em que direção pensar!
Cumprimentos, Vladimir.