Discussão do artigo "Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade"
O problema das grades é que o otimizador seleciona as configurações de modo a chegar a um gráfico desfavorável com um lote mínimo. Não é assim que acontece na vida. Em um primeiro momento, as posições são acumuladas no mercado intermediário, depois surge um gráfico muito desfavorável por um curto período de tempo e, em seguida, vem a chamada de margem.
Já foi comprovado várias vezes que, sem um sistema de negociação lucrativo, as redes e os martins não melhorarão o desempenho da negociação.
Alguém pode fornecer um conjunto de configurações? Estou executando esse EA e ele nem sequer está abrindo negociações normais... Eu realmente gostaria de tentar isso.
Obrigado, senhor.
Alguém pode fornecer um conjunto de configurações? Estou executando esse EA e ele nem sequer está abrindo negociações normais... Eu realmente quero tentar isso.
Obrigado, senhor.
Não consigo definir os parâmetros, ele sempre diz que o timer não está definido. Alguém pode me ajudar?
Obrigado por seus artigos. Estudei minuciosamente seu código e peguei algumas ideias emprestadas para meu robô. Gostaria de desejar que você tratasse seu código com mais cuidado, pelo menos para pensar em nomes claros e lógicos para as variáveis, de modo que fosse possível entender imediatamente por que uma variável é necessária. Especialmente se você publicar seu código para visualização pública. E você deveria comentar mais o código.
Escreveram sobre o pequeno número de negociações e o ajuste ao histórico - otimizei seu robô no período de tempo M1, o que resultou em 4 mil negociações durante 3 anos, e as melhores instâncias apresentaram resultados bastante estáveis.
Seria mil vezes melhor se você optasse por definir o número de pips como metas e, além de um lote estático, como opção, uma porcentagem do lote máximo permitido. Caso contrário, até mesmo a simples mudança de um orçamento no testador para outro é um grande problema, pois é necessário reiniciar a otimização.
A propósito, em algum lugar estava escrito sobre o aumento gradual do lote - não encontrei nada sobre isso no código, provavelmente não na versão mais recente.
Também fiquei muito confuso com a estratégia de entrada por MA, que geralmente considera o aumento ou a diminuição do valor de MA. No código, é assim:
if (buf0[0] > buf0[6]) { //--- MA cresce } else if (buf0[0] < buf0[6]) { //--- MA cai }
Por que o valor da sétima barra é comparado ao da barra atual? Onde está a lógica? E se for um flat e entre a 1ª e a 7ª barra a MA estava subindo e descendo? Parece que você não se importou muito com esse ponto, talvez quisesse terminar o artigo rapidamente. Na minha opinião, é necessário considerar um crescimento estável por várias barras seguidas para confirmá-lo. Escrevi um código para detectar reversões confirmadas ou crescimento/declínio estável dos valores da matriz por várias barras e estou compartilhando-o com você:
//+------------------------------------------------------------------+ //| Captura da reversão do indicador| //+------------------------------------------------------------------+ bool getReverse(double & object [], string direction, int repeatsIn, int repeatsOut) { bool reverseCorrect = true; if (direction == "up") { if (repeatsOut > 0) { for(int i = 0; i <= (repeatsOut - 1); i++) { if (!(object[i] > object[i+1])) reverseCorrect = false; } } if (repeatsIn > 0) { for(int i = repeatsIn; i <= (repeatsIn + repeatsOut - 1); i++) { if (!(object[i] < object[i+1])) reverseCorrect = false; } } } else { if (repeatsOut > 0) { for(int i = 0; i <= (repeatsOut - 1); i++) { if (!(object[i] < object[i+1])) reverseCorrect = false; } } if (repeatsIn > 0) { for(int i = repeatsIn; i <= (repeatsIn + repeatsOut - 1); i++) { if (!(object[i] > object[i+1])) reverseCorrect = false; } } } return reverseCorrect; }
Use-o da seguinte forma:
getReverse(MA1Val, "up", 0, 7);
Neste exemplo, a função retornará verdadeiro se o valor MA1 estiver subindo por 7 barras consecutivas. Se você substituir 0 por, por exemplo, 3, a função procurará um padrão em que a MA primeiro caiu 3 barras seguidas e depois subiu por 7 barras seguidas.
Não vou comentar sobre outros indicadores, mas também há algo a se pensar. Mesmo ao usar indicadores padrão, você pode adicionar mais lógica.
Boa sorte!
gsc:
代码里没有开单程序,只有平单程序,大量重复的参数和程序,毫无用处的错误判断和创建物件,这是我见过的最垃圾的
Você pode me ajudar a escrever um EA, obrigado
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade foi publicado:
Nos artigos anteriores desta série, tentamos de várias maneiras criar um EA gradador mais ou menos rentável. Agora é a vez de tentarmos aumentar a lucratividade do EA por meio da diversificação. Nosso objetivo é obter o desejado lucro de 100% ao ano, com um rebaixamento máximo de saldo de 20%.
Se não interferirmos no próprio sistema de negociação seguido pelo EA, provavelmente existam apenas duas maneiras que teoricamente possam aumentar a lucratividade da nossa negociação.
A primeira maneira é reduzir o período em que são otimizados os parâmetros do EA. Graças a isso, será possível configurar o EA da maneira mais precisa possível de acordo com o atual ciclo do mercado e obter o máximo lucro com seu desempenho.
No entanto, este método tem uma desvantagem significativa. Como se costuma dizer, o lucro no passado não garante lucro no futuro. Além disso, quanto menor o período durante o qual são realizados os testes, maior o risco de que o mercado mude para prejudicar você e o EA comece a estourar o depósito.
A segunda maneira é negociar vários instrumentos ao mesmo tempo (diversificação). Nesse caso, o tamanho do lote para cada instrumento é reduzido em comparação à negociação de um só instrumento. Graças a isso, mesmo se você tiver um rebaixamento ou um stop-loss com um dos instrumentos, o rebaixamento máximo em seu saldo será menor do que se estivesse a negociar um só instrumento. Além disso, uma outra vantajem é que o lucro obtido com os outros instrumentos permitirá recuperar o depósito rapidamente.
Autor: Roman Klymenko