Discussão do artigo "Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)"
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 paralela pelo método de enxame de partículas (Particle Swarm Optimization) foi publicado:
Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
A nível algorítmico, o método PSO é relativamente simples. A ideia principal é gerar um conjunto de partículas virtuais no espaço dos parâmetros de entrada do Expert Advisor. Em seguida, as partículas se movem e mudam sua velocidade dependendo dos indicadores de negociação do EA nos pontos correspondentes no espaço. O processo é repetido várias vezes até que o desempenho pare de melhorar. O pseudocódigo do algoritmo é mostrado abaixo:
Particle Swarm Optimization Pseudo-Code
Segundo esta abordagem, cada partícula tem uma posição atual, velocidade e memória do seu "melhor" ponto no passado. Por "melhor" queremos dizer o ponto (conjunto de parâmetros de entrada do EA) onde é alcançado o maior valor da função objetivo para dada partícula. Vamos descrever isso numa classe.
O tamanho total das matrizes é igual à dimensão do espaço de otimização, ou seja, ao número de parâmetros do Expert Advisor a serem otimizados (passados para o construtor). Visto que a otimização padrão assume que quanto maior o valor da função objetivo, melhor será, inicializamos o campo bestValue com o número mínimo possível, DBL_MAX. Geralmente como critério de avaliação do EA é usado um dos indicadores de trading: lucro, rentabilidade, índice de Sharpe, etc. Se for necessária uma otimização da magnitude que fica melhor quando ocorre a diminuição, por exemplo, do rebaixamento, é fácil dar conversões equivalentes para maximizar as magnitudes inversas.
Matrizes e variáveis são tornadas públicas para facilitar o acesso e seu código de recálculo. A adesão estrita aos princípios da POO exigiria ocultá-los usando o modificador private e descrevendo métodos de leitura e modificação.
Autor: Stanislav Korotky