//+------------------------------------------------------------------+ //| PDF.mq4 | //| Copyright © 2006, Luis Guilherme Damiani | //| http://www.damianifx.com.br | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Luis Guilherme Damiani" #property link "http://www.damianifx.com.br" //---- #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 clrMediumSeaGreen //---- double pdf[]; //---- input parameters extern int ch_size=20; //extern int limit_value=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,pdf); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- //---- indicators int counter[100]; int limit=Bars-1-ch_size; int value=0; int i; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); ArrayInitialize(counter,0); for(i=limit;i>=0;i--) { value=(int)MathCeil(iStochastic(NULL,0,ch_size,2,1,MODE_SMA,0,MODE_MAIN,i)); if(value!=0) counter[100-value]=counter[100-value]+1; //if(counter[100-value]>limit_value && limit_value!=0)counter[100-value]=limit_value; } pdf[0]=0; int limit2=100; if(limit2>Bars) limit2=Bars; for(i=limit2-1;i>0;i--) { pdf[i]=counter[i]; // Print(pdf[i]); } //---- return(0); } //+------------------------------------------------------------------+