Unisciti alla nostra fan page
- Visualizzazioni:
- 486
- Valutazioni:
- Pubblicato:
- 2021.11.10 08:54
-
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:
- SimpleMA() - per calcolare il valore di una simple average;
- ExponentialMA() - per calcolare il valore di una exponential average;
- SmoothedMA() - per calcolare il valore di una smoothed average;
- LinearWeightedMA() - per calcolare il valore di una linear-weighted average.
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

MT5 Indicator for Position Size Calculation

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)

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