//+------------------------------------------------------------------+ //| EntropyMath.mq4 | //| Aleksandr Pak | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, MetaQuotes Software Corp." #property link "http://forum.mql4.com/ru/13708" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Red #property indicator_level1 0.0001 #property indicator_level2 -0.0001 double entropy[]; extern int numbars=14; extern int ma_period=5; extern int ma_mode=1; extern int ma_price=5; extern string note_Price = "0C 1O 2H 3L 4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6"; extern string MA_Method_ = "SMA0 EMA1 SMMA2 LWMA3"; //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,entropy); SetIndexStyle(0,DRAW_LINE); IndicatorShortName("Entropy("+numbars+") MA("+ma_period+") " ); IndicatorDigits(3*Digits); return(0); } //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ int start () { double P, G; int in, out; int i,j; double sumx = 0.0; double sumx2 = 0.0; double avgx = 0.0; double rmsx = 0.0; in=0; //price; out=0; //entropy; int count = IndicatorCounted(); for (i=0; i<Bars-count+1; i++) { if (i>Bars-numbars+1) entropy[out] = EMPTY_VALUE; else { sumx = 0; sumx2=0 ; avgx =0; rmsx = 0.0; for (j=0;j<numbars+1;j++) { double a =iMA(NULL,0,ma_period,0,ma_mode,ma_price,in+j); double b =iMA(NULL,0,ma_period,0,ma_mode,ma_price,in+j+1); double r=MathLog(a / b) ; sumx += r; sumx2 += r * r; } if (numbars==0) { double c=iMA(NULL,0,ma_period,0,ma_mode,ma_price,in); avgx = c; rmsx = 0.0; } else { avgx = sumx / numbars; rmsx = MathSqrt(sumx2/numbars); } P = ((avgx/rmsx)+1)/2.0; G = P * MathLog(1+rmsx) + (1-P) * MathLog(1-rmsx); entropy[out]=G; } in++; out++; } }
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: