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
Então apenas esta linha iCustom é alterada? Então precisamos olhar este indicador em detalhes.
Você tem o tópico errado. Você está se concentrando na otimização, enquanto o problema é obviamente com a EA(transferência de parâmetros, etc.). Esqueça a otimização por um tempo, coloque comentários e impressoras no EA, execute com parâmetros diferentes no visual, controle os dados intermediários, encontre todos os erros e depois volte à otimização.
Os mesmos resultados indicam que os parâmetros otimizados não afetam a formação do sinal comercial, e este é o problema da EA, não do testador.
Se eu definir os parâmetros assim: (iCustom(NULL, 0, "ART", MA_Period, KFK, 0, 1), Dígitos); - obtemos todos os zeros, como eu dei um exemplo acima.
Se eu definir iCustom(NULL, 0, "ART", 0, 1), Dígitos); - então aparecem os valores calculados,
mas são todos iguais, embora no testador, quando se corre com parâmetros diferentes, os resultados dos negócios sejam muito diferentes.
Angela, para que a otimização funcione, é preciso usar os valores alterados pelo otimizador no algoritmo de alguma forma, em particular, é preciso passá-los para o indicador. É necessário passar parâmetros para o indicador, se você quiser otimizá-lo. Quando você chama o indicador sem parâmetros (ou seja, o segundo caso iCustom(NULL, 0, "ART", 0, 1)), você realmente omite os parâmetros e ele funciona com os parâmetros padrão, que estão registrados dentro do ART (é claro que eles não estão otimizados). A chamada completa com parâmetros - a primeira opção - é o que você precisa para a otimização. Muito provavelmente, o problema é que você não passa os parâmetros corretamente. Por exemplo, se seu número no indicador for menor, e você passar um valor melhor, ou vice-versa, se você não lhes der todos os parâmetros. Se o indicador for um segredo, pelo menos forneça a lista de seus parâmetros.
Graças a todos, o motivo foi trivial. A ordem em que os parâmetros enviados do indicador para a EA não corresponderam:
no Expert Advisor foi
extern int MA_Period=151; // 101 10 201
extern double KFK=0,9; // 0,7 0,005 1.
no indicador, ao contrário
duplo exterior KFK=0,9; // 0,7 0,005 1.
externo int MA_Period=151; // 101 10 201
funcionava no modo de visualização, mas não no modo de otimização.
Parabéns. Também me lembro de lutar com parâmetros de passagem, até me acostumar a ser escrupuloso. Agora eu copio um pedaço de código indicador com todos os externs no Expert Advisor e escrevo iCustom, olhando a amostra. É um pouco obtuso, mas desde então não há erros.
E mais uma coisa. Procurei o estilo ilustrativo de escrita iCustom de Komposter. Tudo está bem na palma da minha mão.
Estou depurando a segunda versão do meu TS, em comparação com a primeira o número de negócios aumentou e o número de parâmetros otimizáveis diminuiu significativamente, embora o drawdown tenha dobrado.
Entretanto tenho algumas dúvidas, o sistema não é muito estável de mês para mês. Ainda não o otimizei, mas o resultado com GA estará disponível em 48 horas. 800+ execuções não são encorajadoras e os resultados de otimização em junho são piores que os dos testes com os parâmetros iniciais para o mesmo período. Trago três estatísticas, para junho, julho e agosto, até agora só depurei a Buy. Posso retirar tal sistema devido à otimização com resultados estáveis ou devo começar a desenvolver um novo de imediato?
Se apenas o código mql estiver envolvido no Expert Advisor, algo deve ser codificado incorretamente porque 800 corridas não devem abrandar a preços de abertura. Ou estou entendendo mal alguma coisa. Normalmente os especialistas com ligação externa, tais como bibliotecas de redes neurais, etc., são tão lentos. Naturalmente, também podemos assumir que o mql tem muitos loops aninhados (ou chamadas de alguns indicadores "vorazes") - então ele pode ser completamente desacelerado. Portanto, só posso repetir a idéia da suposta necessidade de refatoração ;-) - Verifique novamente e re-transforme alguns fragmentos de código ou o código inteiro.
800 das mais de 8000 corridas haviam passado pelo tempo de escrita do correio, com 5 horas de otimização, e ainda faltavam 2 dias para o fim. Mas não esperei até o final, reduzi o intervalo de enumeração de alguns parâmetros, reiniciei e em 8 horas toda a otimização foi realizada.
O melhor resultado:
O número de negócios rentáveis excede o número de negócios perdedores, a média de negócios rentáveis mais do que a de negócios perdedores é um sinal muito bom. Na minha opinião, você não deve desistir deste sistema, deve estudar seu comportamento em um período mais longo. Você também pode colocá-lo em outra cruz.