IFish_v2





//+------------------------------------------------------------------+
//|                                                        IFish.mq4 |
//|                                                          Kalenzo |
//|                                      bartlomiej.gorski@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Kalenzo"
#property link      "bartlomiej.gorski@gmail.com"
//----
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_level1 0.5
#property indicator_level2 -0.5
//----
double value1[];
double value2[];
double ifish[];
double red[];
double green[];
double alertBar;
double prev;
double high=0.5;
double low=-0.5;
extern bool SoundON=true;
//----
#property indicator_separate_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(3);
   SetIndexBuffer(0,ifish);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
   SetIndexBuffer(1,value1);
   SetIndexBuffer(2,value2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) counted_bars=0;
   if(counted_bars>0) counted_bars--;
//----   
   limit=Bars-counted_bars;
//---- 
   for(int i=0 ;i<=limit ;i++) value1[i]=0.1*(iRSI(Symbol(),0,5,PRICE_CLOSE,i)-50);
   for(int j=0 ;j<=limit ;j++) value2[j]=iMAOnArray(value1,0,9,0,MODE_LWMA,j);
   for(int f=0 ;f<=limit ;f++) ifish[f]=(MathExp(2*value2[f])-1)/(MathExp(2*value2[f])+1);
//----   
   if(ifish[f]>=high && prev==0) prev=1;
   if(ifish[f]<=low && prev==0) prev=2;
   if(SoundON==true && prev==1 && ifish[f]>=high && Bars>alertBar) {Alert("IFISH Hit 0.5 or above exit Buy on ",Symbol()," Period ",Period());alertBar=Bars;prev=2;}
   if(SoundON==true && prev==2 && ifish[f]<=low && Bars>alertBar) {Alert("IFISH Hit -0.5 or below exit Sell on ",Symbol()," Period ",Period());alertBar=Bars;prev=1;}
//----
   return(0);
  }
//+------------------------------------------------------------------+



Sample





Analysis



Market Information Used:



Indicator Curves created:


Implements a curve of type DRAW_LINE

Indicators Used:

Relative strength index
Moving average indicator


Custom Indicators Used:

Order Management characteristics:

Other Features:

It issuies visual alerts to the screen