Hull Moving Average Indicator For MT5
Table Of Contents:
- Hull Moving Average Indicator For MT5
- Namestitev Hull Moving Average Indicator For MT5
- Parametri Hull Moving Average Indicator For MT5
- Odbojniki Hull Moving Average Indicator For MT5
- Glavni deli kodeksa
Hull Moving Average Indicator For MT5 je odličen tehnični kazalnik trgovanja, ki ga ima kot trgovec, saj trgovcem pomaga, da bolje ocenijo tržno aktivnost in pogoje skoraj katerega koli finančno premoženja, ki ga lahko trguje - temelji na dobro znanem trendi oscilatorju znan kot kazalnik Hull Moving Average - ta kazalnik se je izkazal kot vrhunski kazalnik drsnega povprečja zaradi svojih zelo pomembnih formacij na zaslonu. Ta spremenjena različica začetnega kazalnika Hull Moving Average ima odlično funkcijo, ki trgovcem omogoča nadzor nad elementom hitrosti drsečega povprečja. Privzeta nastavitev spremenljivke moči Hull je nastavljena na eno - če je nastavljena na eno, to preprosto pomeni, da je ena izmed sinhroniziranj z običajnim gibajočim se povprečjem trupa, vendar se katera koli druga nastavitev razlikuje od običajnega povprečnega Hull gibalnega povprečja. Moč trupa je lahko manjša od ene ali večja od nič, tako da, če je treba določiti, da je manjši od enega, potem trgovec, ga dejansko upočasni in naredi manj odziven in občutljiv na tržno aktivnost, vendar ko je nastavljen na večjo potem pa to pomeni, da trgovec bistveno pospeši kazalnik ali poveča njegovo občutljivost in odzivnost na tržne dejavnosti.
Namestitev Hull Moving Average Indicator For MT5
Ko naložite indikator prek zgornjega obrazca, morate odpreti zip datoteko. Nato morate kopirati datoteko hull_.mq5 v mapo MQL5Indicators vaše namestitve MT5 . Po tem znova zaženite MT5 in takrat boste lahko videli indikator na seznamu indikatorjev.
Parametri Hull Moving Average Indicator For MT5
Hull Moving Average Indicator For MT5 ima za nastavitev parametre 3 .
input double HmaLength = 14; // Hull period input double HmaPower = 1; // Hull power input enPrices Price = pr_close; // Price
Odbojniki Hull Moving Average Indicator For MT5
Hull Moving Average Indicator For MT5 zagotavlja blažilnike 2 .
SetIndexBuffer(0,hull ,INDICATOR_DATA); SetIndexBuffer(1,colorInd,INDICATOR_COLOR_INDEX);
Glavni deli kodeksa
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); }