English Русский 中文 Español Deutsch 日本語
Análise comparativa de 30 indicadores e osciladores

Análise comparativa de 30 indicadores e osciladores

MetaTrader 4Negociação | 4 fevereiro 2016, 15:41
1 202 0
Александр
Александр

Introdução

A abundância de indicadores e osciladores desenvolvidos hoje em dia inevitavelmente leva a um problema para escolher o mais eficiente deles. Muitas vezes um investidor iniciante ao ver primeiramente a grande variedade de análises disponíveis e ferramentas de previsão começa a testá-las em dados históricos e contas de demonstração. Depois disso, várias decisões são feitas sobre a eficácia e utilidade deste ou daquele indicador em determinadas situações.


Entretanto, tal estimativa não é sempre objetiva devido ao grande número de parâmetros (símbolos, período da tabela, volatilidade, etc.) e, portanto, o grande número de informações analisadas. Conclusões mais confiáveis sobre certos indicadores e osciladores podem ser feitas após conduzir sua análise comparativa.


Na verdade a análise comparativa dos indicadores e osciladores é impossível sem sua consideração simultânea ligando-os a uma tabela de valores. Entretanto, ligar mesmo que dez indicadores diferentes a uma tabela a deixa consideravelmente sobrecarregada. A imagem obtida se torna muito embolada e inadequada para análise. Um Expert Advisor descrito nesse artigo pode resolver esse problema e tornar a condução da análise comparativa mais conveniente.


Expert Advisor

Tenha muita atenção, este EA não tem o propósito de executar negociações ao vivo e portanto não contém o bloco de gerenciamento financeiro. O bloco de execução de negociação é implementado de maneira bem simples. A tarefa principal do Expert Advisor é fornecer informação sobre a presença ou ausência de sinais de diferentes indicadores em conexão com uma tabela de valores.


O programa analisa os seguintes indicadores e osciladores:


  1. Aceleração/Desaceleração - AC
  2. Acúmulo/Distribuição - A/D
  3. Jacaré e Fractais
  4. Oscilador Jacaré
  5. Índice de Movimento Direcional Médio - ADX
  6. Escala Média Verdadeira - ATR
  7. Oscilador Maravilhoso
  8. Poder dos Ursos
  9. Bandas de Bollinger
  10. Poder dos Touros
  11. Índice de Canal de Commodities
  12. DeMarker
  13. Envelopes
  14. Índice de Força
  15. Ichimoku Kinko Hyo (1)
  16. Ichimoku Kinko Hyo (2)
  17. Ichimoku Kinko Hyo (3)
  18. Índice de Fluxo de Dinheiro – MFI
  19. Média móvel
  20. MACD (1)
  21. MACD (2)
  22. Média Móvel do Oscilador (Гистограмма MACD) (1)
  23. Média Móvel do Oscilador (Гистограмма MACD) (2)
  24. SAR Parabólico
  25. RSI
  26. RVI
  27. Desvio Padrão
  28. Oscilador Estocástico (1)
  29. Oscilador Estocástico (2)
  30. Faixa Percentual Williams

Para a implementação dessa tarefa uma matriz digital consistindo de "-1", "0" e "1" é desenhada em uma tabela. Cada linha de matriz pertence a um determinado indicador ou oscilador. As colunas de matriz são formadas em cada momento de tempo (de acordo com o período de tabela selecionado). O aparecimento de "-1" em uma determinada linha de matriz indica a presença de um sinal para vender produzido por um determinado indicador (oscilador); o aparecimento de "1" - presença de um sinal de compra, "0" indica a ausência de sinais. A fig. 1 mostra os resultados da operação do programa.


A fig. 2 mostra a análise da operação RVI com base na matriz. Na linha 26 (ela contém dados sobre esse indicador) "1" está gravado quando a linha principal se move acima da linha de sinal (o indicador recomenda comprar), "-1" - quando a linha de sinal está acima da principal (sinal de venda). Devido às características do indicador essa linha não contém "0".



Devido às características dos indicadores e osciladores, podemos detectar dois tipos de índices na matriz: constantemente significativos, onde os sinalizadores correspondentes (valores na matriz) dos quais nunca são iguais a zero, e pontos significativos, nos quais os sinalizadores podem aceitar zero e fazer sinais somente em certos momentos de tempo (por exemplo, SAR Parabólico). É mostrado na figura 3.



É recomendado analisar a informação obtida e então formar um pacote de indicadores da seguinte maneira. Primeiro selecione a parte da tabela com uma tendência. Depois o período de possíveis negociações é especificado. O início de tal tendência pode ser um período plano antes da tendência selecionada ou origem da tendência; o fim do período é o último momento em que uma negociação é ainda rentável. Assim sinais de indicadores antecipatórios e tardios não são levados em consideração. Na figura 4 tal período é indicado por linhas verdes. Após isso, a informação por indicadores (osciladores) é analisada dentro deste período: todos os indicadores mostrando tendências corretamente são tomados, outros são colocados de lado. Após isso o pacote pode ser estendido ou restrito pela análise análoga em outros intervalos de tempo, e como resultado o pacote final será formado.



O programa fornece o teste de pacotes formados. Para esse propósito em uma linha correspondente do bloco de processamento de estratégia enumere as condições (exibições do indicador) baseadas nas quais a decisão final sobre vendas (ou compras) é feita.


Dessa forma a análise combinada do comportamento de preço e sinais produzidos por cada determinado indicador (oscilador) fornece a possibilidade de selecionar o mais eficiente deles para formação posterior de um pacote de indicadores.


Algoritmo

No primeiro estágio os valores dos sinalizadores ("flags") (-1, 0, 1) são definidos para cada indicador (oscilador). Presumindo que um indicador (por exemplo, MACD) produza sinais de diferentes modos (convergência/divergência, cruzamento de uma linha zero, etc.), o código do programa contém a descrição de seu princípio de definição. Por exemplo, a análise do oscilador "Faixa Percentual Williams" é implementado como:


//30. Williams Percent Range
//Buy: crossing -80 upwards
//Sell: crossing -20 downwards
if (iWPR(NULL,piwpr,piwprbar,1)<-80&&iWPR(NULL,piwpr,piwprbar,0)>=-80)
{f30=1;}
if (iWPR(NULL,piwpr,piwprbar,1)>-20&&iWPR(NULL,piwpr,piwprbar,0)<=-20)
{f30=-1;}

Após isso, objetos únicos do tipo 'Texto' são formados dos valores digitais obtidos dos sinalizadores (para evitar a duplicação dos nomes de objeto o valor da hora atual é usado) e então exibido:


timeident=TimeCurrent(); //Time to form the unique object name
for (i=0;i<=29;i++) //Loop for displaying values
 
//Forming unique object names
{ident=DoubleToStr(30-i,0)+"   "+DoubleToStr(timeident,0); 
 
//Creating objects, indicating their location
ObjectCreate(ident,OBJ_TEXT,0,timeident,WindowPriceMin()+Point*5*(i+1));
 
info=DoubleToStr(f[30-i],0); //Forming a text line to be displayed
ObjectSetText(ident,info,6,"Arial", Black);} //Describing the format of displaying and displaying

Para verificar os pacotes formados o programa inclui "O bloco de processamento de uma estratégia e colocação do sinalizador principal". Esse bloco contém condições fornecidas que o EA precisa comprar (se o sinalizador principal é igual a 1) e vender (se o sinalizador principal é igual a -1). Se as condições descritas não forem satisfeitas, o sinalizador principal permanece igual a zero e não são executadas negociações. O EA também contém um bloco de fechamento de posição


 
if(f8==1&&f21==1) //Set of conditions, providing which Buy is executed
flag=1;
if(f8==-1&&f21==-1) //Set of conditions, providing which Sell is executed
flag=-1;

Parâmetros de cada indicador (oscilador) são descritos na forma de variáveis, que permitem sua otimização automática (parâmetros iniciais são os geralmente aceitos).


Conclusão

Como dito acima, o Expert Advisor oferecido não é um sistema de negociação automatizada já pronto. Sua tarefa principal é a condução de uma análise comparativa de indicadores e osciladores para formação posterior de um pacote. O EA demonstra sinais produzidos por indicadores não sobrecarregando a área de trabalho do investidor, tornando a análise muito conveniente.


A flexibilidade do EA está no seguinte: um novo conjunto de indicadores pode ser incluso na matriz e pacotes formados podem ser testados nos dados de histórico.

Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1518

Arquivos anexados |
Matrix.mq4 (32.39 KB)
Um assistente de investidores com base em análise MACD estendida Um assistente de investidores com base em análise MACD estendida
O script 'Trader's Assistant' (assistente de investidores) ajuda você a tomar uma decisão sobre posições de abertura, com base na análise estendida do estado MACD para as últimas três barras na negociação em tempo real, em qualquer período de tempo. Ele também pode ser usado para testes de fundo.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II) Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte II)
Nesse artigo o autor continua a analisar algoritmos de implementação dos sistemas de negociação mais simples e descreve alguns detalhes relevantes da utilização dos resultados de otimização. O artigo será útil para investidores iniciantes e desenvolvedores de EA.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte III) Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading (Parte III)
Nesse artigo o autor continua a analisar algoritmos de implementação dos sistemas de negociação mais simples e introduz a automação de simulações. O artigo será útil para investidores iniciantes e desenvolvedores de EA.
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading
Esse artigo trata do algoritmo de implementação dos sistemas de negociação mais simples. O artigo será útil para investidores iniciantes e desenvolvedores de EA.