Avaliação da eficácia dos sistemas de negociação pela análise de seus componentes
Introdução
Qualquer pessoa que inicia suas negociações nos mercados financeiros muito rapidamente percebe que o sucesso nesta linha de negócios somente é possível com uma certa abordagem sistemática. A negociação espontânea pode ser uma questão de sorte, emocional ou de erros e acertos e normalmente não ajuda a alcançar resultados positivos, porém se isso acontecer, o sucesso ocorre brevemente e as consequências podem ser dramáticas. Qualquer análise é um dos componentes-chave de sucesso em negociação nos mercados financeiros, seja gráfica, com base em indicadores, ou qualquer outro. Portanto, de certa maneira, este arquivo é uma pesquisa sobre alguns sistemas de negociação simples e independentes, no qual podemos analisar a sua eficácia em conjunto com a utilidade da aplicação.
A definição de critérios para a avaliação da eficácia do sistema de negociação
Normalmente, a avaliação da eficácia de qualquer sistema de negociação é realizada através de um determinado conjunto de parâmetros definidos e específicos, assim como alguns dos valores resultantes do sistema. O tamanho do períodos de indicadores, Stop Loss ou Take Profit, ou até um conjunto mais complexo de coeficientes de sistemas que afetam a entrada e saída do mercado, podem ser usados como parâmetros definidos. Os valores resultantes, podem ser o lucro líquido, rebaixamento, porcentagem de transações com sucesso ou o valor médio de negócios lucrativos no depósito em moeda.
Qualquer sistema de negociação tem sua eficácia reduzida ao longo do tempo, uma vez que a natureza do mercado de câmbio está em constante mutação, isto se torna evidente a partir dos indicadores resultantes. Portanto, o conjunto dos parâmetros do sistema têm de ser alterados e ajustados às condições de mudança. Neste artigo pretendemos definir o conceito de um sistema de negociação complexo.
O sistema de negociação complexo é um conjunto de blocos separados que têm seus próprios parâmetros e algoritmos que trabalham em conjunto com os outros. O funcionamento de qualquer um destes blocos incluídos no sistema pode ser avaliado por um dado conjunto de critérios. Vamos considerar o esquema que avalia a eficácia do sistema mostrado na Figura 1. O sistema complexo tem três blocos constituintes A, B e C, onde cada um deles tem os seus próprios parâmetros operacionais. O funcionamento e a eficácia deste sistema podem ser avaliados por três dimensões: 1, 2 e 3. Ao longo do tempo as condições de mercado e o sistema de negociação mudam, alterando para um lado insatisfatório os parâmetros 1-3, sinalizando que é hora de reconfigurar o sistema. Isto pode ser feito usando os seguintes métodos:
- Otimize todos os nove parâmetros, a fim de adaptar o sistema de acordo com às realidades atuais do mercado. Este método, no entanto, contém redundâncias - por que otimizar todos os parâmetros, se é possível descobrir qual bloco começou a pior operação?
- Sendo assim, o segundo método. Um conjunto de critérios de avaliação C1, C2, C3 é criado para todos os três blocos de sistema, o que permite avaliar e comparar a eficiência da operação para cada um dos blocos separadamente.
Vantagens do segundo método:
- Evita a redundância, pois não há necessidade de otimização se os blocos funcionarem sem problemas.
- Sistema de monitoramento. Os parâmetros C1-C3 podem ser medidos após alguns períodos de tempo, esclarecendo o comportamento do sistema e das suas unidades tanto em conjunto, quanto separado em diferentes momentos do mercado (sessão de negociação, comunicado de imprensa, entre outros).
- Análise de vulnerabilidade. Isso permite determinar, quais blocos arrastam todo o sistema para baixo, sendo assim ao invés de substuir ou melhorar todo o sistema, apenas otimize os blocos em particular.
Fig.1. Sistema de negociação complexo
Avaliando a eficácia do sistema de negociação através da análise de seus componentes
Para testar a eficiência de todo o sistema de negociação, é preciso verificar como os blocos do sistema operam juntos e como eles trabalham separadamente. O sistema de teste será composto por dois blocos:
- Bloco A. Tem como base os sinais do indicador padrão Parabolic SAR.
- Bloco B. Baseia-se nos sinais do indicador padrão Accelerator Oscillator (AC).
Imediatamente, vamos definir um conjunto de critérios para avaliar esses blocos:
- Critério C1 — lucro líquido.
- Critério C2 - máximo rebaixamento.
- Critério C3 - lucro das negociações (% do total).
Para se ter um entendimento maior, vamos escolher os mesmos indicadores como os parâmetros de eficiência global:
- Parâmetro 1 - lucro líquido.
- Parâmetro 2 - máximo rebaixamento.
- Parâmetro 3 - negócios rentáveis (% do total).
Exemplos dos sinais de entrada no mercado para estes indicadores estão localizados nas documentações da biblioteca padrão MQL5: Sinais do Parabolic SAR e Sinais do Accelerator Oscillator (primeiras condições). Para cada um deles iremos descrever as condições de entrada e descobrir as condições em que eles são eficazes num teste de intervalo predeterminado.
Todos os parâmetros do teste são escritos no Expert Advisor da seguinte maneira:Fig.2. Parâmetros do Expert Advisor
//+------------------------------------------------------------------+ //| | //| Alexander Fedosov | //| https://www.mql5.com/ru/users/alex2356 | //+------------------------------------------------------------------+ #property copyright "Alexander Fedosov" #property link "https://www.mql5.com/ru/users/alex2356" #property version "1.00" #property strict #include "trading.mqh" input int tm = 1; //Teste do método 1,2 ou 3 input int SL = 40; //Stop-loss input int TP = 70; //Take-profit input bool lot_const = false; //Lote do saldo? input double lt=0.01; //Lote manual se lot_const=falso input double Risk=2; //O risco no lote do saldo, % input int Slippage= 5; //Desvio input int magic = 2356; //Número Mágico input ENUM_TIMEFRAMES tf1 = PERIOD_H1; //Timeframe para o cálculo do module1 input ENUM_TIMEFRAMES tf2 = PERIOD_M5; //Timeframe para o cálculo do module2 input double Step = 0.02; //Passo PSAR input double Mxm = 0.2; //PSAR máximo CTrading tr(magic,Slippage,lt,lot_const,Risk,5); //+------------------------------------------------------------------+ //| Função do Expert tick | //+------------------------------------------------------------------+ void OnTick() { if(tm<1 || tm>3) return; //--- Condições de entrada no mercado para o módulo Parabolic SAR if(tm==1 && !tr.isOpened(magic)) { double psar[],prc[]; ArrayResize(psar,3); ArrayResize(prc,3); for(int i=0; i<3; i++) { psar[i]=iSAR(_Symbol,tf1,Step,Mxm,i); prc[i]=iClose(_Symbol,tf1,i); } if(psar[2]>prc[2] && psar[1]<prc[1] && psar[0]<prc[0]) tr.OpnOrd(OP_BUY,lt,TP,SL); if(psar[2]<prc[2] && psar[1]>prc[1] && psar[0]>prc[0]) tr.OpnOrd(OP_SELL,lt,TP,SL); } //--- Condições de entrada no mercado para o módulo AC if(tm==2 && !tr.isOpened(magic)) { double ac[]; ArrayResize(ac,3); for(int i=0; i<3; i++) ac[i]=iAC(Symbol(),tf2,i); if(ac[2]>0 && ac[1]>0 && ac[1]>ac[2]) tr.OpnOrd(OP_BUY,lt,TP,SL); if(ac[2]<0 && ac[1]<0 && ac[1]<ac[2]) tr.OpnOrd(OP_SELL,lt,TP,SL); } //--- Condições de entrada no mercado, quando dois módulos funcionam em conjunto if(tm==3 && !tr.isOpened(magic)) { double psar[],prc[],ac[]; ArrayResize(psar,3); ArrayResize(prc,3); ArrayResize(ac,3); for(int i=0; i<3; i++) { psar[i]=iSAR(_Symbol,tf1,Step,Mxm,i); prc[i]=iClose(_Symbol,tf1,i); ac[i]=iAC(Symbol(),tf2,i); } if((psar[2]>prc[2] && psar[1]<prc[1] && psar[0]<prc[0]) || (ac[2]>0 && ac[1]>0 && ac[1]>ac[2])) tr.OpnOrd(OP_BUY,lt,TP,SL); if((psar[2]<prc[2] && psar[1]>prc[1] && psar[0]>prc[0]) || (ac[2]<0 && ac[1]<0 && ac[1]<ac[2])) tr.OpnOrd(OP_SELL,lt,TP,SL); } } //+------------------------------------------------------------------+
O primeiro parâmetro do EA é tm (modo de teste) e ele pode armazenar valores de 1, 2 ou 3. Estes valores correspondem a três modos de operação:
- tm = 1. São utilizadas apenas as condições de entrada no mercado com indicador Parabolic SAR. Modo de funcionamento somente para o bloco A.
- tm = 2. São utilizadas apenas as condições de entrada no mercado com indicador Accelerator Oscillator. Modo de operação apenas para o bloco B.
- tm = 3. Operação conjunta de ambos os blocos. Todo o sistema opera.
Ao alterar o parâmetro do modo de teste podemos descobrir os parâmetros de nosso interesse: para blocos A e B, C1-C3 e para todo o sistema - parâmetros 1-3. A seguir estão os resultados obtidos do bloco sobre o Parabolic SAR (Fig.3), AC (Fig. 4) e sua operação conjunta (Fig. 5).
Fig.3. Testando o módulo Parabolic SAR
Fig.4. Testando o módulo AC
Fig.5. Operação conjunta de módulos Parabolic SAR e AC
Os resultados obtidos dos três diferentes modos de funcionamento com base na tabela de correspondência, serão fornecidos para fins de esclarecimento:
Modo de teste | Lucro Líquido | Negociações Lucrativas,% | Máximo rebaixamento |
---|---|---|---|
1 | 27,56 | 37,91 | 32,71 |
2 | 106,98 | 39,19 | 38,94 |
3 | 167,16 | 40,64 | 18,62 |
Simulação da deterioração do sistema
Vamos alterar os parâmetros operacionais do bloco A (Modo de Teste = 1) para o lado que reduz a sua eficiência. Isso nos mostrará a resposta parao o que vai acontecer com o sistema, no caso de um dos blocos alterar para pior.
Para simular a diminuição da eficiência do sistema será mudado um parâmetro relacionado com o funcionamento do bloco A - Prazo para o cálculo do module1 - da seguinte maneira, como mostrado na Fig.6. Isso vai modificar o seu período de cálculo baseado no Parabolic SAR, no qual afetará os pontos de entrada no mercado, adulterando a eficiência de todo o sistema.
Fig.6. Simulação para diminuir a eficiência do sistema
Fig.7. O resultado da alteração do parâmetro do módulo baseado no Parabolic SAR
Para fins ilustrativos, vamos comparar o desempenho observado do bloco A com dois valores diferentes do seu parâmetro "Timeframe for the calculation module1":
Prazo para o cálculo do module1 | Lucro líquido | Negociações Lucrativas,% | Máximo rebaixamento |
---|---|---|---|
1 Hora | 27.56 | 37.91 | 32.71 |
4 Horas | 2.54 | 36.73 | 43.21 |
É evidente, que o cálculo do período de 4 horas,mostrou resultados mais simples do funcionamento do módulo para todos os três critérios de avaliação. Testando todo o sistema com os valores deliberadamente degradados, um dos seus componentes também reduziu a eficácia dos parâmetros de 1-3, tal como mostrado na Figura 8.
Fig.8. Operação conjunta enre o Parabolic SAR (deteriorado) e o AC
Agora vamos colocar todos os resultados dos testes, assim como as alerações que determinaram as modificações no bloco A, afetando a eficiência global do sistema.
Prazo para o cálculo do module1 | Lucro líquido (módulo 1) | Negociações lucrativas,% (módulo 1) |
Máximo rebaixamento,% (módulo 1) |
Lucro líquido (sistema) |
Negociações lucrativas,% (sistema) |
Máximo rebaixamento,% (sistema) |
---|---|---|---|---|---|---|
4 Horas | 2.54 | 36.73 | 43.21 | 139.34 | 40.00 | 24.9 |
1 Hora | 27.56 | 37.91 | 32.71 | 167.16 | 40.64 | 18.62 |
Os resultados demonstram que, pesquisando separadamente cada bloco do sistema complexo, a fim de melhorar a eficiência, obtivemos um efeito positivo sobre os parâmetros de avaliação de todo o sistema. As teses no início deste artigo também confirmaram que este método é menos repetitivo do que a otimização de todo o sistema como um único objeto; Além disso, este método fornece as habilidades adicionais para monitorar o sistema.
Conclusão
Neste artigo foi apresentado um método avaliativo da eficácia dos sistemas de negociação através da análise de seus componentes. Com base nos testes e pesquisas realizadas sobre blocos no sistema e seus módulos, as seguintes conclusões podem ser observadas:
- Este método de avaliação é melhor do que a otimização redundante de todos os parâmetros do sistema, identificando apenas os componentes que são necessários para serem otimizados e melhorados.
- A criação de sistemas de negociação na forma dos componentes através de blocos, podem ser medidos por critérios fixados, permitindo um melhor gerenciamento, identificando os pontos fracos e atualizando com mais flexibilidade.
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1924
- 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