Hull Moving Average Indicator For MT5
Table Of Contents:
- Hull Moving Average Indicator For MT5
- Hull Moving Average Indicator For MT5 installeren
- Parameters van het Hull Moving Average Indicator For MT5
- Buffers van het Hull Moving Average Indicator For MT5
- Hoofddelen van de code
De Hull Moving Average Indicator For MT5 is een geweldige technische handelsindicator om als handelaar te hebben, omdat het handelaren helpt om de marktactiviteit en omstandigheden van bijna elk verhandelbaar financieel actief beter te evalueren - het is gebaseerd op een bekende trendgebaseerde oscillator bekend als de Hull Moving Average-indicator - deze indicator heeft bewezen een voortreffelijke voortschrijdend-gemiddelde-indicator te zijn vanwege zijn zeer relevante schermformaties. Deze gewijzigde versie van de oorspronkelijke Hull Moving Average-indicator heeft een geweldige functie waarmee handelaren het snelheidselement van het voortschrijdend gemiddelde kunnen regelen. De standaardinstelling van de Hull-vermogensvariabele is ingesteld op één - wanneer deze is ingesteld op één, betekent dit simpelweg dat het honderd synchroon loopt met het normale voortschrijdend rompgemiddelde, maar elke andere instelling verschilt van het standaard voortschrijdend rompgemiddelde. Het Hull-vermogen kan kleiner zijn dan één of groter dan nul, dus als het moet worden ingesteld op minder dan één, dan vertraagt de handelaar het feitelijk en maakt het minder responsief en gevoelig voor de marktactiviteit, maar wanneer het is ingesteld op groter dan één dan betekent dit dat de handelaar in wezen de indicator versnelt of de gevoeligheid en het reactievermogen op marktactiviteit verhoogt.
Hull Moving Average Indicator For MT5 installeren
Nadat u de indicator via het bovenstaande formulier heeft gedownload, moet u het zip-bestand uitpakken. Vervolgens moet u het bestand hull_.mq5 naar de map MQL5Indicators van uw MT5 installatie kopiëren. Start daarna MT5 opnieuw op en dan kunt u de indicator zien in de lijst met indicatoren.
Parameters van het Hull Moving Average Indicator For MT5
Het Hull Moving Average Indicator For MT5 moet de parameters 3 configureren.
input double HmaLength = 14; // Hull period input double HmaPower = 1; // Hull power input enPrices Price = pr_close; // Price
Buffers van het Hull Moving Average Indicator For MT5
Het Hull Moving Average Indicator For MT5 biedt 2 buffers.
SetIndexBuffer(0,hull ,INDICATOR_DATA); SetIndexBuffer(1,colorInd,INDICATOR_COLOR_INDEX);
Hoofddelen van de code
int OnCalculate(const int rates_total, const int prev_calculated, const datetime& time[], const double& open[], const double& high[], const double& low[], const double& close[], const long& tick_volume[], const long& volume[], const int& spread[]) { // // // // // int HalfPeriod = (int)MathFloor(HmaLength/2); int HullPeriod = (int)MathFloor(MathSqrt(HmaLength)); for (int i=(int)MathMax(prev_calculated-1,1); i lt rates_total; i++) { double price = getPrice(Price,open,close,high,low,rates_total,i); hull[i] = iLwmp(2.0*iLwmp(price,HalfPeriod,HmaPower,rates_total,i,0)-iLwmp(price,HmaLength,HmaPower,rates_total,i,1),HullPeriod,HmaPower,rates_total,i,2); colorInd[i] = colorInd[i-1]; if (hull[i] gt hull[i-1]) colorInd[i] = 0; if (hull[i] lt hull[i-1]) colorInd[i] = 1; } return(rates_total); } //------------------------------------------------------------------ // //------------------------------------------------------------------ // // // // // double getPrice(enPrices price, const double& open[], const double& close[], const double& high[], const double& low[], int bars, int i) { switch (price) { case pr_close: return(close[i]); case pr_open: return(open[i]); case pr_high: return(high[i]); case pr_low: return(low[i]); case pr_median: return((high[i]+low[i])/2.0); case pr_typical: return((high[i]+low[i]+close[i])/3.0); case pr_weighted: return((high[i]+low[i]+close[i]+close[i])/4.0); case pr_average: return((high[i]+low[i]+close[i]+open[i])/4.0); } return(0); } //------------------------------------------------------------------ // //------------------------------------------------------------------ // // // // // double workLwmp[][3]; double iLwmp(double price, double period, double power, int bars, int r, int instanceNo=0) { if (ArrayRange(workLwmp,0)!= bars) ArrayResize(workLwmp,bars); // // // // // workLwmp[r][instanceNo] = price; double sumw = MathPow(period,power); double sum = sumw*price; for(int k=1; k lt period && (r-k) gt =0; k++) { double weight = period-k; sumw += MathPow(weight,power); sum += MathPow(weight,power)*workLwmp[r-k][instanceNo]; } return(sum/sumw); }