Navigation:Home > Content >

Fib_SR.mq4

Time: 2011-08-16 | Download file:Fib_SR.mq4

//+------------------------------------------------------------------+
//|                                                       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, C, 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 );
}

Recommend