Discussão do artigo "Introdução ao MQL5: Como escrever Expert Advisor e Custom Indicator simples" - página 4
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
Esse ExpertAdvisor não funciona no MT5 build 712, pelo menos não para mim.
Há uma mensagem de erro "Cant't copy indicator buffer" (Não é possível copiar o buffer do indicador).
Além disso, o indicador não é compilado sem avisos,
"possível perda de dados devido à conversão de tipos" na linha 53,
"possible use on uninitialized varaiable 'day_n'" na linha 54
"possible use on uninitialized varaiable 'h_day'" na linha 62
"possible use on uninitialized varaiable 'l_day'" na linha 63
Você pode corrigir esses problemas, por favor?
Esse é um bom exemplo para nós que temos experiência em outros softwares, exceto o MT5.
Este é um excelente artigo, para iniciantes e pessoas que vêm do mql4, com um bom exemplo de estratégia de negociação.
Há algumas pequenas falhas no código (verificação de erros nem sempre implementada), mas o EA funciona muito bem se for usado em um período de minutos, conforme recomendado pelo autor. Os avisos durante a compilação do indicador são apenas avisos e não impedem o uso do indicador e do EA.
Obrigado.
Essa não é uma maneira fácil de explicar o mql5 para as pessoas. (como se os iniciantes tivessem a chance de entendê-lo!) É como nos livros de programação, 90% das pessoas não têm ideia de como começar. Elas abrem esse livro, por exemplo, sobre programação C e o primeiro "Exemplo fácil" tem uma página inteira escrita em fontes minúsculas. Em toda a minha vida, li apenas um bom livro de programação que poderia ensinar programação a qualquer pessoa. A razão para isso é que eles estão sendo escritos por programadores provavelmente excelentes, mas, infelizmente, por professores muito ruins. A programação pode ser realmente fácil e eu vou provar isso a você fazendo um tutorial simples para a linguagem de programação MQL4 quando tiver um pouco mais de tempo do que agora. Para todos, até mesmo para os totalmente iniciantes. O maior erro é ensinar às pessoas os detalhes da linguagem; a maior parte do trabalho delas deve ser com ctrl+C e ctrl+v e usar o Google para os comandos e, o mais importante, manter tudo MUITO SIMPLES. Conheço mais de 10 linguagens de programação (programo desde os 7 anos) e ainda estou assustado com a maneira como esse "exemplo fácil" de 11kb (!!!) é explicado. Gostaria de saber se existe algum iniciante em programação que aprendeu MQL5 com esse exemplo ;D. Eu duvido e, se houver, você pode contar essas pessoas nos dedos de uma mão.
Essa não é uma maneira fácil de explicar o mql5 para as pessoas. (como se os iniciantes tivessem a chance de entendê-lo!) É como nos livros de programação, 90% das pessoas não têm ideia de como começar. Elas abrem esse livro, por exemplo, sobre programação C e o primeiro "Exemplo fácil" tem uma página inteira escrita em fontes minúsculas. Em toda a minha vida, li apenas um bom livro de programação que poderia ensinar programação a qualquer pessoa. A razão para isso é que eles estão sendo escritos por programadores provavelmente excelentes, mas, infelizmente, por professores muito ruins. A programação pode ser realmente fácil e eu vou provar isso a você fazendo um tutorial simples para a linguagem de programação MQL4 quando tiver um pouco mais de tempo do que agora. Para todos, até mesmo para os totalmente iniciantes. O maior erro é ensinar às pessoas os detalhes da linguagem; a maior parte do trabalho delas deve ser com ctrl+C e ctrl+v e usar o Google para os comandos e, o mais importante, manter tudo MUITO SIMPLES. Conheço mais de 10 linguagens de programação (programo desde os 7 anos) e ainda estou assustado com a maneira como esse "exemplo fácil" de 11kb (!!!) é explicado. Gostaria de saber se existe algum iniciante em programação que aprendeu MQL5 com esse exemplo ;D. Eu duvido e, se houver, você pode contar essas pessoas nos dedos de uma mão.
Você tem razão quando diz que os programadores não são bons professores em geral.
Mas não concordo quando você diz que a MQL5 é tão difícil de aprender, principalmente para um programador que já experimentou mais de 10 linguagens.
Na prática, pelo que me lembro, é possível alterar um dos níveis (SL ou TP) de uma posição, deixando os outros níveis inalterados, mesmo nos casos em que o nível cujo valor permanece inalterado está mais próximo do preço atual do que o especificado no parâmetro SYMBOL_TRADE_STOPS_LEVEL. Ao criar programas, não recomendo alterar os parâmetros de posição (níveis) de forma que os novos parâmetros de posição (níveis) não atendam aos requisitos de verificação da exatidão dos dados da posição, pois essa situação não está documentada e um resultado diferente poderá ser obtido no futuro.
Olá a todos!
Tudo funciona bem para mim somente quando
request.type_filling=ORDER_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
Situação semelhante com https://www.mql5.com/ru/forum/1156/page9#comment_2359257
É uma peculiaridade da minha corretora FxPro?
Sou novo na programação do mql5.
Estava tentando aprender com esse exemplo, mas estou um pouco perdido com o loop no final da construção do indicador. Onde exatamente ele atribuiu um valor à variável day_n?
Porque o loop verificará se day_n<day_t. Como o programa pode saber o valor de day_n?
E como ele é calculado? Vamos supor que rate_total = 10 e ainda não há nenhuma barra calculada. Portanto, prev_calculated = 0
day_t=time[0] (TODAY! já que é contado de trás para frente)/PeriodSeconds... como ele começa a contar a partir de 1970, vamos supor que ele comece a contar a partir de 10 dias atrás.
Portanto, day_t=10. Agora ele verifica se dayt > dayn. Não sei o dayn, mas sei que dayt=10. Vou presumir que dayn é zero, já que não há valor.
Então dayn também se torna 10. Certo.
Segunda rolagem do loop. prev_calculated + 1= 1.
DayT=time[1] (yesterday)/period... lembre-se de que ele começa a contar a partir de 10 dias atrás... mas agora somente até ontem. ele deve dar um valor de 9, certo?
mas agora dayN < dayT é falso. Em seguida, ele começa a executar as expressões else. Certo. Eu entendi.
Em seguida, ele calculará todos os bu[] e bd[]. Certo. O loop terminará quando a taxa anterior < total for falsa.
Mas quando uma nova barra chegar e ela se tornar verdadeira novamente, ele começará do zero outra vez? Ou ele começará a partir de 10 e irá direto para a parte else?
Obrigado!!!!