//+------------------------------------------------------------------+ //| S-RoC.mq4 | //| Copyright (C) 2009 DragoTrade | //| Licensed under GNU General Public License | //+------------------------------------------------------------------+ #property copyright "DragoTrade" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Yellow //---- input parameters extern int MA_Period=13; extern int ROC_Period=21; //---- buffers double b[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,b); IndicatorShortName("S-RoC("+MA_Period+", "+ROC_Period+")"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i=Bars-(ROC_Period+MA_Period)-1; double t,curr,prev; while(i>=0) { curr=iMA(NULL,0,MA_Period,0,MODE_EMA,PRICE_CLOSE,i); prev=iMA(NULL,0,MA_Period,0,MODE_EMA,PRICE_CLOSE,i+ROC_Period); if(prev!=0) { t=(curr-prev)/prev; } b[i]=t; i--; } //---- //---- return(0); } //+------------------------------------------------------------------+