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:
3897
Avaliação:
(53)
Publicado:
2014.01.14 14:42
Atualizado:
2016.11.22 07:33
\MQL5\Include\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A biblioteca MovingAverages é uma parte do pacote padrão do terminal cliente MetaTrader 5.

A biblioteca contém funções de cálculo dos diferentes tipos de moving averages. No total, há oito funções que podem ser divididas em dois grupos de funções do mesmo tipo, cada uma contendo quatro delas.

O primeiro grupo contém funções que recebem um array e simplesmente retornam um valor de uma média móvel em uma posição especificada:

Estas funções são destinadas para a obtenção do valor de uma média por vez para uma array, e não são otimizadas para várias chamadas. Se você precisa usar uma função deste grupo em um loop (para calcular os valores da média e escrever cada valor calculado em uma matriz), você vai ter que organizar um algoritmo otimizado.

O segundo grupo de funções é destinado a preencher uma matriz de valores de uma moving average com base em um array de valores iniciais:

  • SimpleMAOnBuffer() - preenche o array de saída buffer[] por valores de uma simple average do array price[];
  • ExponentialMAOnBuffer() - preenche o array de saída buffer[] por valores de uma exponential average do array price[];
  • SmoothedMAOnBuffer() - preenche o array de saída buffer[] por valores de uma smoothed average do array price[];
  • LinearWeightedMAOnBuffer() - preenche o array de saída buffer[] por valores de uma linear average do array price[].

Funções:

//+------------------------------------------------------------------+
//|                                               MovingAverages.mqh |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
//+------------------------------------------------------------------+
//| Simple Moving Average                                            |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
//+------------------------------------------------------------------+
//| Exponential Moving Average                                       |
//+------------------------------------------------------------------+
double ExponentialMA(const int position,const int period,const double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Smoothed Moving Average                                          |
//+------------------------------------------------------------------+
double SmoothedMA(const int position,const int period,const double prev_value,const double &price[])
//+------------------------------------------------------------------+
//| Linear Weighted Moving Average                                   |
//+------------------------------------------------------------------+
double LinearWeightedMA(const int position,const int period,const double &price[])

//+------------------------------------------------------------------+
//| Simple moving average on price array                             |
//+------------------------------------------------------------------+
int SimpleMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
//+------------------------------------------------------------------+
//| Exponential moving average on price array                        |
//+------------------------------------------------------------------+
int ExponentialMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                          const int period,const double& price[],double& buffer[])
//+------------------------------------------------------------------+
//| Smoothed moving average on price array                           |
//+------------------------------------------------------------------+
int SmoothedMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                       const int period,const double& price[],double& buffer[])
//+------------------------------------------------------------------+
//| Linear Weighted moving average on price array                    |
//+------------------------------------------------------------------+
int LinearWeightedMAOnBuffer(const int rates_total,const int prev_calculated,const int begin,
                             const int period,const double& price[],double& buffer[])

Exemplo:

Para exemplos de sua utilização, ver artigo "MQL5: Crie seu Próprio Indicator"

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/77

LoongClock LoongClock

Um amostra muito simples de relógio.

ErrorDescription ErrorDescription

A biblioteca contém funções que retornam a descrição dos códigos de erro em tempo de execução e os códigos de retorno do servidor de negociação.

Triple Exponential Average (TRIX) Triple Exponential Average (TRIX)

É um oscilador das condições do mercado de sobrecompra/sobrevenda. Também pode ser utilizado como indicador de dinâmica. A suavização tripla é usada para a remoção de componentes cíclicos em movimentos de preços com períodos menores do que a de TRIX.

Variable Index Dynamic Average (VIDYA) Variable Index Dynamic Average (VIDYA)

Este oscilador mede a relação entre a soma de incrementos positivos e a soma de incrementos negativos durante um certo período.