Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
Cycle Period - indicador para MetaTrader 5
- Publicado por:
- Nikolay Kositsin
- Visualizações:
- 2201
- Avaliação:
- Publicado:
- 2014.01.14 13:55
- Atualizado:
- 2018.05.31 11:48
- Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Autor real:
Witold Wozniak
Este indicador é projetado para mensurar um ativo financeiro quando muda a periodicidade de preço.
O indicador em seu buffer varia de acordo com os valores do ciclo de mercado em vigor que nunca é estável por razões óbvias. Este indicador é escrito para ser usado com osciladores para permitir adaptações das constantes mudanças do ciclo do mercado e suas transformações.
O indicador foi inspirado no artigo de John Ehlers "Using The Fisher Transform" publicado em Novembro 2002, na revista "Technical Analysis Of Stock & Commodities".
A variável de manipulação (handle) do indicador CyclePeriod deve ser declarada a nível global para permitir que o indicador seja usado em código de outro indicador (por exemplo, no oscilador RVI):
//---- declaração de variáveis inteiras para os manipuladores de indicadores int CP_Handle;
Então, o manipulador (handle) do indicador CyclePeriod deve ser recebido no bloco de inicialização do indicador RVI :
//---- obter o manipulador (handle) do indicador CyclePeriod CP_Handle=iCustom(NULL,0,"CyclePeriod",Alpha); if(CP_Handle==INVALID_HANDLE) { Print(" Falha para obter o manipulador (handle) do indicador CyclePeriod"); return(1); }
Agora temos uma nova variável Alpha que é o parâmetro de entrada usada pelo indicador e a proporção do período médio. Esta variável deve ser transformada para a variável de entrada do indicador desenvolvido.
//+----------------------------------------------+ //| Parâmetros de Entrada do Indicador | //+----------------------------------------------+ input double Alpha=0.07; // Proporção suavizada do Indicador
A variável de entrada Length anterior deve ser removida da lista de parâmetros de entrada, transformando-a numa variável local dentro da função OnCalculate().
O tamanho das arrays usadas para suavizar o indicador são fixadas pelo valor do parâmetro Length :
//---- Distribuição da memória para as variáveis arrays ArrayResize(Count,Length); ArrayResize(Value1,Length); ArrayResize(Value2,Length);
O valor deste parâmetro está alterado agora. Portanto, é melhor definir os tamanhos dessas arrays para que não sejam menor que o maior valor assumido desta variável.
Ao analisar os gráficos de indicadores podemos ver que esse valor não excede a 100. Portanto, os tamanhos das arrays terão o mesmo valor:
//---- Distribuição da memória para as variáveis arrays ArrayResize(Count,MAXPERIOD); ArrayResize(Value1,MAXPERIOD); ArrayResize(Value2,MAXPERIOD);
E mais adiante, os valores do período para a barra atual no bloco OnCalculate() devem ser retirados do buffer do indicador personalizado CyclePeriod para serem usados no lugar do parâmetro de entrada Length .
//---- loop de cálculo do indicador principal for(bar=first; bar<rates_total && !IsStopped(); bar++) { //---- cópiar dados da matriz mostrados recentemente if(CopyBuffer(CP_Handle,0,rates_total-1-bar,4,period)<=0) return(RESET); Length=int(MathFloor((4.0*period[0]+3.0*period[1]+2.0*period[2]+period[3])/20.0)); if(bar<Length) Length=bar; // cortando a suavização para baixo do número real das barras
Neste caso os quatro últimos valores são retirados do buffer do indicador CyclePeriod e o seu alisamento linear ponderado é realizado, o valor obtido após este processo é utilizado como um período de alisamento Length . E finalmente a linha na extremidade de código do indicador deve ser alterada:
if(bar<rates_total-1) Recount_ArrayZeroPos(Count,MAXPERIOD);
Como resultado, temos o oscilador Adaptive RVI :
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/562
O Detrended Price Oscillator (DPO) mostra os estados do mercado de sobrecompra / sobrevenda possibilitando também a obtenção de sinais de compra e venda.
Oscilador Adaptivo CGO indicador Adaptivo CG é um oscilador que se adapta constantemente a mudança dos ciclos de um ativo financeiro do mercado.
Oscilador estocástico Adaptado.
Projeções Full do Daily RangePrevisão da próxima mudança de intervalo do candle diário em todas as barras do gráfico em vigor.