//+------------------------------------------------------------------+ //| VininI_Cyber | //| Copyright © 2009, Victor Nicolaev | //| e-mail: vinin@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Victor Nicolaev" #property link "e-mail: vinin@mail.ru" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 Blue #property indicator_color2 Lime #property indicator_color3 Red #property indicator_level1 -0.5 #property indicator_level2 0 #property indicator_level3 0.5 #property indicator_minimum -1.05 #property indicator_maximum 1.05 //---- input parameters extern int WPR_Period=5; extern int WPR_Price =0; extern int MA_Period =9; extern int MA_Method =3; //---- buffers double Value[]; double MA[]; double iFish[]; double Buy[]; double Sell[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { IndicatorBuffers(5); SetIndexBuffer(0,iFish); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Buy); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(2,Sell); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(3,Value); SetIndexBuffer(4,MA); return(0); } int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; if(counted_bars==0) limit-=2; for(i = limit; i >= 0; i--) Value[i]=0.1*(iWPR(NULL,0,WPR_Period,i)+50.0); for(i = limit; i >= 0; i--) MA[i]=iMAOnArray(Value,0,MA_Period,0,MA_Method,i); for(i=limit; i>=0; i--) { iFish[i]=(MathExp(2.0*MA[i])-1.0)/(MathExp(2.0*MA[i])+1.0); if(iFish[i]> 0.5) {Buy[i] =iFish[i]; Buy[i+1] =iFish[i+1];} if(iFish[i]<-0.5) {Sell[i]=iFish[i]; Sell[i+1]=iFish[i+1];} } return(0); } //+------------------------------------------------------------------+