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
- Visualizações:
- 1008
- Avaliação:
- Publicado:
- 2018.12.04 13:36
- Atualizado:
- 2023.03.29 13:40
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Autor real: Dmitriy.
Este indicador é baseado no MFI (Money Flow Index) e sua análise de múltiplas linhas de sinal. O algoritmo de cálculo das linhas de sinal é o seguinte. Temos os parâmetros de entrada do indicador como dado de origem:
- StartLength - valor inicial mínimo da primeira linha de sinal;
- Step - passo da mudança do período;
- StepsTotal - número de alterações do período.
Qualquer valor do período da multiplicidade de linhas de sinal é calculado usando a progressão aritmética:
SignalPeriod(Number) = StartLength + Number * Step,
onde o valor de Number varia de zero até StepsTotal. Os valores obtidos dos períodos são adicionados ao array de variáveis e são usados em cada tick do indicador para obter o array de valores suavizados do indicador Percent Range de Larry Williams. As direções da tendência atual para cada uma das suavizações são calculadas e também o número de tendências positivas e negativas para todo o array de valores suavizados por MFIs é determinado.
O número final de tendências positivas e negativas é suavizado e, por sua vez, é usado como linhas indicadoras que formam uma nuvem colorida, sendo exibida com a ajuda da classe de estilo DRAW_FILLING.
Uma direção de tendência neste indicador é determinada pela cor da nuvem, enquanto sua potência é determinada pela largura da nuvem. Você pode usar os níveis de sobrecompra (UpLevel) e sobrevenda (DnLevel) que são definidos no valor percentual do intervalo máximo do indicador.
Os algoritmos de suavização podem ser selecionados em dez versões possíveis:
- SMA - simple moving average;
- EMA - média móvel exponencial;
- SMMA - média móvel suavizada;
- LWMA - Média Móvel Ponderada Linear;
- JJMA - Média adaptativa de JMA;
- JJurX - Média ultralinear;
- ParMA - média parabólica;
- T3 - suavização exponencial múltipla de Tillson;
- VIDYA - suavização com o uso do algoritmo de Tushar Chande;
- AMA - suavização com o uso do algoritmo de Perry Kaufman.
Deve-se notar que os parâmetros Phase1 e Phase2 têm significados completamente diferentes para diferentes algoritmos de suavização. Para a JMA, é uma variável de fase externa que muda de -100 para +100. Para a T3 é uma taxa de suavização multiplicada por 100 para melhor visualização, para o VIDYA é um período do oscilador CMO e para a AMA é um período de EMA lento. Em outros algoritmos, esses parâmetros não afetam a média. Para o período de EMA rápido da AMA é um valor fixo e igual a 2 por padrão. A proporção de aumentar para a potência também é igual a 2 para AMA.
O indicador usa as classes da biblioteca SmoothAlgorithms.mqh (copiá-lo para <terminal_data_folder>\MQL5\Include). As classes foram descritas em detalhes no artigo Série de Preço Médio para Cálculos Intermediários sem Utilizar Buffers Adicionais.
//+----------------------------------------------+ //| Parâmetros de entrada do indicador | //+----------------------------------------------+ input int MFI_Period=13; // período do indicador MFI input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // volume do indicador MFI //---- input Smooth_Method W_Method=MODE_JJMA; // método de suavização input int StartLength=3; // período da média inicial input int WPhase=100; // parâmetro de suavização // para JJMA que varia dentro do intervalo de -100 ... 100 e influencia a qualidade do período de transição; // Para VIDIA, ele é o período CMO, para AMA, é o período da média móvel lenta //---- input uint Step=5; // passo de alteração do período input uint StepsTotal=10; // Número de alterações do período //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Método de suavização input int SmoothLength=3; // Profundidade de suavização input int SmoothPhase=100; // Parâmetro de suavização // para JJMA que varia dentro do intervalo de -100 ... 100 e influencia a qualidade do período de transição; //---- input uint UpLevel=80; // Nível sobrecomprado em %% input uint DnLevel=20; // Nível sobrevendido em %% input color UpLevelsColor=Blue; // A cor do nível de sobrecompra input color DnLevelsColor=Blue; // A cor do nível de sobrevenda input STYLE Levelstyle=DASH_; // Estilo dos níveis input WIDTH LevelsWidth=Width_1; // Largura dos níveis //+----------------------------------------------+
Fig. 1. O indicador UltraMFI
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/21750

O indicador BBands Stop v1 fornece alertas, envia e-mails e notificações push quando a direção da tendência e a cor do indicador são alteradas.

O indicador colore as velas dependendo da posição dessas velas em relação às velas anteriores.