//+------------------------------------------------------------------+
//|                                                       Fib SR.mq4 |
//|                                      Copyright © 2006, Eli hayun |
//|                                          http://www.elihayun.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Eli hayun"
#property link      "http://www.elihayun.com"
//----
#property indicator_chart_window
//----
#define FIB_SUP1 "FIB_SUP_1"
#define FIB_SUP2 "FIB_SUP_2"
#define FIB_RES1 "FIB_RES_1"
#define FIB_RES2 "FIB_RES_2"
//----
extern color clrSup1=DeepSkyBlue;
extern color clrSup2=Aqua;
extern color clrRes1=Coral;
extern color clrRes2=Tan;
//----
double A, B, D, E;
double A1, B1, D1, E1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   Recalc();
   ObjectDelete(FIB_SUP1);
   ObjectDelete(FIB_SUP2);
   ObjectDelete(FIB_RES1);
   ObjectDelete(FIB_RES2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   static datetime dt=0;
   if (dt!=iTime(NULL, PERIOD_D1,0))
     {
      Recalc();
      dt=iTime(NULL, PERIOD_D1,0);
     }
   if (NewBar())
     {
      ObjectDelete(FIB_SUP1);
      ObjectDelete(FIB_SUP2);
      ObjectDelete(FIB_RES1);
      ObjectDelete(FIB_RES2);
      //
      ObjectCreate(FIB_SUP1, OBJ_RECTANGLE, 0, iTime(NULL, PERIOD_D1, 0), B, Time[0], B1);  ObjectSet(FIB_SUP1, OBJPROP_COLOR, clrSup1);
      ObjectCreate(FIB_SUP2, OBJ_RECTANGLE, 0, iTime(NULL, PERIOD_D1, 0), A, Time[0], A1);  ObjectSet(FIB_SUP2, OBJPROP_COLOR, clrSup2);
      ObjectCreate(FIB_RES1, OBJ_RECTANGLE, 0, iTime(NULL, PERIOD_D1, 0), D, Time[0], D1);  ObjectSet(FIB_RES1, OBJPROP_COLOR, clrRes1);
      ObjectCreate(FIB_RES2, OBJ_RECTANGLE, 0, iTime(NULL, PERIOD_D1, 0), E, Time[0], E1);  ObjectSet(FIB_RES2, OBJPROP_COLOR, clrRes2);
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime dt=0;
   if (dt!=Time[0])
     {
      dt=Time[0];
      return(true);
     }
   return(false);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Recalc()
  {
   double C=iClose(NULL, PERIOD_D1, 1); // Yesterday close
   double L=iLow(NULL, PERIOD_D1, 1); // Yesterday Low
   double H=iHigh(NULL, PERIOD_D1, 1); // Yesterday High
   double R=(H-L);
//----
   C=(H+L+C)/3;
   D=(R/2) + C;
   B=C - (R/2);
   E=R + C;
   A=C - R;
//----
   B1=C -(R * 0.618 );
   A1=C -(R * 1.382 );
//----
   D1=C +(R * 0.618 );
   E1=C +(R * 1.382 );
  }
//+------------------------------------------------------------------+
             
            
            
            
Comments