Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
921
Avaliação:
(10)
Publicado:
2018.12.04 13:36
Atualizado:
2023.03.29 13:40
\MQL5\Include\
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:

  1. SMA - simple moving average;
  2. EMA - média móvel exponencial;
  3. SMMA - média móvel suavizada;
  4. LWMA - Média Móvel Ponderada Linear;
  5. JJMA - Média adaptativa de JMA;
  6. JJurX - Média ultralinear;
  7. ParMA - média parabólica;
  8. T3 - suavização exponencial múltipla de Tillson;
  9. VIDYA - suavização com o uso do algoritmo de Tushar Chande;
  10. 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

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 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 Wiseman1

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

TD_I TD_I

O indicador TD_I (Thomas DeMark Indicator) é uma versão modificada do indicador padrão DeMarker, de Thomas R. DeMark.

55 MA 55 MA

Um sistema de negociação baseado no iMA (Moving Average, MA) com o período da média igual a 55 (o período da média não está disponível nos parâmetros de entrada).