Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
365
Valutazioni:
(53)
Pubblicato:
2021.11.10 08:54
\MQL5\Include\
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

La libreria MovingAverages fa parte del pacchetto Standard del terminale del cliente MetaTrader 5.

La libreria contiene funzioni per il calcolo di diversi tipi di moving averages. In totale, ci sono 8 funzioni che possono essere divise in 2 gruppi di funzioni dello stesso tipo, ognuno dei quali ne contiene 4.

Il primo gruppo contiene funzioni che ricevono un array e restituiscono semplicemente il valore di una media mobile in una posizione specificata:

Queste funzioni sono intese per ottenere il valore di una media una volta sola per un array, e non sono ottimizzate per chiamate multiple. Se avete bisogno di usare una funzione di questo gruppo in un ciclo (per calcolare i valori di una media e scrivere ulteriormente ogni valore calcolato in un array), dovrete organizzare un algoritmo ottimale.

Il secondo gruppo di funzioni è destinato a riempire l'array ricevente con i valori di una media mobile basata sull'array di valori iniziali:

  • SimpleMAOnBuffer() - riempie l'array di output buffer[] con i valori di una media semplice dall'array dei prezzi[];
  • ExponentialMAOnBuffer() - riempie l'array di output buffer[] con i valori di una media esponenziale dall'array dei prezzi[];
  • SmoothedMAOnBuffer() - riempie l'array di output buffer[] con i valori di una media smussata dall'array dei prezzi[];
  • LinearWeightedMAOnBuffer() - riempie l'array di output buffer[] con i valori di una media ponderata lineare dall'array dei prezzi[].

Funzioni:

//+------------------------------------------------------------------+
//|                                               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[])

Esempio:

Per esempi del suo uso vedere l'articolo "MQL5: Create Your Own Indicator"

Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/77

Position Size Calculator Position Size Calculator

MT5 Indicator for Position Size Calculation

ErrorDescription ErrorDescription

La libreria contiene funzioni che restituiscono la descrizione dei codici di errore di runtime e i codici di ritorno del server di trading.

CCI (mimic) CCI (mimic)

CCI (mimic)

WININET_TEST WININET_TEST

Ecco un semplice esempio che mostra come scaricare una pagina (file) da Internet utilizzando la libreria wininet.dll.