//+------------------------------------------------------------------+ //| Indicator: Hull moving average.mq4 | //| Version: 0.002 | //| Copyright: Rabbit Traders Group | //| E-mail: witchazel@kungfurabbits.com | //| Modified by Cobraforex for THV System, www.cobraforex.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Rabbit Traders Group" #property link "www.artattica.net" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Yellow #property indicator_width1 3 #property indicator_color2 FireBrick #property indicator_width2 3 #property indicator_color3 Green #property indicator_width3 3 extern int xPeriod=55; extern double xSlope = 2.0; double HMA[],up[],dn[]; int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,HMA); SetIndexLabel(0,"HMA " + xPeriod + " , " + xSlope) ; SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,up); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,dn); return(0); } int deinit() {return(0); } int start() { double sqrt = MathRound ( MathSqrt( xPeriod ) ); for(int i=Bars;i>=0;i--) { double sum = 0; int wma_sum = 0; for(int j=0; j < sqrt; j++) { double val = 2*iMA(NULL, 0, MathRound(xPeriod/2), 0, MODE_LWMA, PRICE_MEDIAN, i+j)- iMA(NULL, 0, xPeriod, 0, MODE_LWMA, PRICE_MEDIAN, i+j); sum = sum + val*(sqrt-j); wma_sum = wma_sum + (sqrt-j); } HMA[i] = sum/wma_sum; if(HMA[i]>HMA[i+1]+xSlope*Point) up[i]=HMA[i]; if(HMA[i]<HMA[i+1]-xSlope*Point) dn[i]=HMA[i]; } return(0); }
Sample
Analysis
Market Information Used:
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: