Análise comparativa de 30 indicadores e osciladores
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:
- Aceleração/Desaceleração - AC
- Acúmulo/Distribuição - A/D
- Jacaré e Fractais
- Oscilador Jacaré
- Índice de Movimento Direcional Médio - ADX
- Escala Média Verdadeira - ATR
- Oscilador Maravilhoso
- Poder dos Ursos
- Bandas de Bollinger
- Poder dos Touros
- Índice de Canal de Commodities
- DeMarker
- Envelopes
- Índice de Força
- Ichimoku Kinko Hyo (1)
- Ichimoku Kinko Hyo (2)
- Ichimoku Kinko Hyo (3)
- Índice de Fluxo de Dinheiro – MFI
- Média móvel
- MACD (1)
- MACD (2)
- Média Móvel do Oscilador (Гистограмма MACD) (1)
- Média Móvel do Oscilador (Гистограмма MACD) (2)
- SAR Parabólico
- RSI
- RVI
- Desvio Padrão
- Oscilador Estocástico (1)
- Oscilador Estocástico (2)
- 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
Aviso: Todos os direitos sobre esses materiais pertencem à MetaQuotes Ltd. É proibida a reimpressão total ou parcial.
Esse artigo foi escrito por um usuário do site e reflete seu ponto de vista pessoal. A MetaQuotes Ltd. não se responsabiliza pela precisão das informações apresentadas nem pelas possíveis consequências decorrentes do uso das soluções, estratégias ou recomendações descritas.
Um assistente de investidores com base em análise MACD estendida
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 III)
Expert Advisors baseado em sistemas de trading populares e alquimia da otimização de robô de trading
- 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