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:
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:
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
BBands_Stop_v1_Alert
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.
Wiseman1
O indicador colore as velas dependendo da posição dessas velas em relação às velas anteriores.