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
Novo artigo Otimização controlada: Simulated annealing foi publicado:
Autor: Aleksey Zinovik
Ainda não comecei a trabalhar com o mt5, mas acho que (talvez com algumas alterações e/ou compilação condicional) também poderei usar isso no testador de estratégia do mt4.
A otimização genética do mt4 tem um pequeno problema que talvez também exista no mt5 e talvez também na sua abordagem.
Se eu verificar em OnInit() o conjunto de parâmetros e descobrir que um conjunto real não vale a pena ser verificado, retorno de OnInit() com INIT_PARAMETERS_INCORRECT. A otimização não é executada, o que economiza tempo, ok - mas:
Você já cuidou dessa situação? Retornar de OnInit() apesar de não haver nenhum erro (como: arquivo não encontrado,...) só porque a configuração do parâmetro não deve ser testada, o que, nesse caso, não deve aumentar o número e diminuir a temperatura?
De qualquer forma, obrigado por esse artigo interessante!
Bom
Ainda não comecei a trabalhar com o mt5, mas acho que (talvez com algumas alterações e/ou compilação condicional) também poderei usar isso no testador de estratégias do mt4.
A otimização genética do mt4 tem um pequeno problema que talvez também exista no mt5 e talvez também na sua abordagem.
Se eu verificar em OnInit() o conjunto de parâmetros e descobrir que um conjunto real não vale a pena ser verificado, retorno de OnInit() com INIT_PARAMETERS_INCORRECT. A otimização não é executada, o que economiza tempo, ok - mas:
Você já cuidou dessa situação? Retornar de OnInit() apesar de não haver nenhum erro (como: arquivo não encontrado,...) só porque a configuração do parâmetro não deve ser testada, o que, nesse caso, não deve aumentar o número e diminuir a temperatura?
De qualquer forma, obrigado por esse artigo interessante!
Bom
Não verifico a exatidão dos parâmetros e não interrompo a função OnInit() se os parâmetros não estiverem corretos. Na função OnTesterInit(), os parâmetros cujos valores precisam ser otimizados usando o testador de estratégia são desativados da otimização. A cada nova iteração, os parâmetros são lidos do arquivo e, na função OnTester(), os novos valores dos parâmetros são gravados no arquivo. Isso torna possível não usar os valores de parâmetros gerados pelo testador de estratégias, para emitir de forma independente os parâmetros necessários para a função OnInit().
Entendi agora - obrigado! Eu só preciso verificar a plausibilidade da configuração dos parâmetros da próxima iteração antes que essa configuração seja gravada no arquivo para a próxima execução. Dessa forma, o "meu problema" pode ser evitado!
Obrigado por essa ideia e pelo artigo!
Hi ,
Você disse que '' as desvantagens podem ser eliminadas com o desenvolvimento de um módulo universal, que incluiria vários algoritmos para otimizar os parâmetros do especialista''.
Você pode dar mais detalhes sobre o módulo universal? Quais são os outros algoritmos para otimizar os parâmetros do especialista?
Hi ,
Você disse que '' as desvantagens podem ser eliminadas com o desenvolvimento de um módulo universal, que incluiria vários algoritmos para otimizar os parâmetros do especialista''.
Você pode dar mais detalhes sobre o módulo universal? Quais são os outros algoritmos para otimizar os parâmetros do especialista?
O artigo mostra como conectar um novo algoritmo de otimização ao testador de estratégias. Da mesma forma, adicionando novos métodos a uma classe AnnealingMethod.mqh ou criando uma nova classe, é possível conectar outros algoritmos, por exemplo, algoritmos de formiga (Ant colony optimization). Pretendo testar o trabalho de tais algoritmos e compartilhar os resultados.