VX_FibPiv_rws





//+------------------------------------------------------------------+ 
//|   VX_FibPiv_rws                                                  | 
//|                                                                  | 
//|   Copyright © 2008, V-X                                          |
//|                                                                  |
//|   Thanks to Kalenzo for S&R formula                              |
//|   Thanks to TRO for the source code                              |
//+------------------------------------------------------------------+ 

#property copyright "Copyright © 2008, V-X"
#property link      "vogimerox_x@hotmail.com"

#property indicator_chart_window

extern int myChartY = 100 ;
extern string myFont  = "Courier" ; // "Verdana"
extern int myFontSize = 12 ; //9
extern int myCorner   = 0;
extern int myChartPeriod = 1440 ;
extern color myColorH = Gold ;
extern color myColor1 = Gold ;
extern color myColor2 = Gold ;
extern color myColor3 = Gold ;
extern color myColor4 = Gold ;
extern color myColor5 = Gold ;
extern color myColor6 = Gold ;
extern color myColor7 = Gold ;


int i;

double X01,X02,X03,X04,X05 ;
double X06 ;   
double X07 ;
double r3, r2, r1, p, s1, s2, s3 ; 
string symbol, tChartPeriod ;  
int    digits, period, win ;
double point ;


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   if(myChartPeriod == 0) { myChartPeriod = Period() ; }    
   tChartPeriod =  TimeFrameToString(myChartPeriod) ;
   symbol       =  Symbol() ;
   digits       =  Digits ;
   point        =  Point ;
 
   win          = 0 ;
    
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
ObjectsDeleteAll( win, 21);
ObjectsDeleteAll( win, 22);
ObjectsDeleteAll( win, 23);     
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   
//----
double rates[1][6],yesterday_close,yesterday_high,yesterday_low;
ArrayCopyRates(rates, Symbol(), PERIOD_D1);

if(DayOfWeek() == 1)
{
   if(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,1)) == 5)
   {
       yesterday_close = rates[1][4];
       yesterday_high = rates[1][3];
       yesterday_low = rates[1][2];
   }
   else
   {
      for(int d = 5;d>=0;d--)
      {
         if(TimeDayOfWeek(iTime(Symbol(),PERIOD_D1,d)) == 5)
         {
             yesterday_close = rates[d][4];
             yesterday_high = rates[d][3];
             yesterday_low = rates[d][2];
         }
         
      }  
      
   }
}
else
{
    yesterday_close = rates[1][4];
    yesterday_high = rates[1][3];
    yesterday_low = rates[1][2];
}


//---- Calculate Pivots

Comment("\nYesterday quotations:\nH ",yesterday_high,"\nL ",yesterday_low, "\nC ",yesterday_close);
double R = yesterday_high - yesterday_low;//range
p = (yesterday_high + yesterday_low + yesterday_close)/3;// Standard Pivot
r3 = p + (R * 1.000);
r2 = p + (R * 0.618);
r1 = p + (R * 0.382);
s1 = p - (R * 0.382);
s2 = p - (R * 0.618);
s3 = p - (R * 1.000);

DoShowGauge() ;
   return(0);
  }

void DoShowGauge()
{

X01  = r3 ;
X02  = r2 ;
X03  = r1 ;
X04  = p ;
X05  = s1 ;
X06  = s2 ;
X07  = s3 ;

string StrH   = " S&R" ;
string StrX01 = "R3  " ; 
string StrX02 = "R2  " ; 
string StrX03 = "R1  " ; 
string StrX04 = "Piv  " ;  
string StrX05 = "S1  " ; 
string StrX06 = "S2  " ;
string StrX07 = "S3  " ;

  
color color_X01=myColor1;
color color_X02=myColor2;
color color_X03=myColor3;  
color color_X04=myColor4;
color color_X05=myColor5;
color color_X06=myColor6;
color color_X07=myColor7;  


   int WindowToUse;
   int Corner_line, Xdist_line;
   int Corner_text, Corner_vSRFP, Xdist_text, Xdist_vSRFP;
   int Ydist_line5;
   int Corner_pivots, Xdist_pivots, Ydist_pivots;
   int Ydist_X01, Ydist_X02, Ydist_X03, Ydist_X04, Ydist_X05, Ydist_X06, Ydist_X07, Ydist_X08, Ydist_X09, Ydist_X10 ;
  
   int YdistInc ;
   
    WindowToUse =  0;
    Corner_line = myCorner;
    Corner_text = myCorner; Corner_vSRFP = myCorner;
    Xdist_line = 21; Xdist_text = 93; Xdist_vSRFP = 23;
    Corner_pivots = myCorner; Xdist_pivots = 21; 
    
    Ydist_pivots = myChartY;  
    Ydist_line5 = Ydist_pivots + 11; YdistInc = 15 ;
    
    Ydist_X01 = Ydist_pivots + 25; 
    Ydist_X02 = Ydist_X01 + YdistInc; 
    Ydist_X03 = Ydist_X01 + YdistInc*2; 
    Ydist_X04 = Ydist_X01 + YdistInc*3; 
    Ydist_X05 = Ydist_X01 + YdistInc*4;
    Ydist_X06 = Ydist_X01 + YdistInc*5;    
    Ydist_X07 = Ydist_X01 + YdistInc*6; 

   ObjectCreate("SRFP", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("SRFP",tChartPeriod + StrH,myFontSize, myFont, myColorH);
   ObjectSet("SRFP", OBJPROP_CORNER, Corner_pivots);
   ObjectSet("SRFP", OBJPROP_XDISTANCE, Xdist_pivots);
   ObjectSet("SRFP", OBJPROP_YDISTANCE, Ydist_pivots);
   
   ObjectCreate("line5SRFP", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("line5SRFP","-------------",myFontSize, myFont, myColorH);
   ObjectSet("line5SRFP", OBJPROP_CORNER, Corner_line);
   ObjectSet("line5SRFP", OBJPROP_XDISTANCE, Xdist_line);
   ObjectSet("line5SRFP", OBJPROP_YDISTANCE, Ydist_line5);
   
   ObjectCreate("X01_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X01_LabelRGE",StrX01,myFontSize, myFont, myColor1 );
   ObjectSet("X01_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X01_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X01_LabelRGE", OBJPROP_YDISTANCE, Ydist_X01);
   
   ObjectCreate("X01_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X01_ValueRGE"," "+DoubleToStr(X01,digits),myFontSize, myFont, color_X01);
   ObjectSet("X01_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X01_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X01_ValueRGE", OBJPROP_YDISTANCE, Ydist_X01);
    
   ObjectCreate("X02_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X02_LabelRGE",StrX02,myFontSize, myFont, myColor2 );
   ObjectSet("X02_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X02_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X02_LabelRGE", OBJPROP_YDISTANCE, Ydist_X02);
   
   ObjectCreate("X02_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X02_ValueRGE"," "+DoubleToStr(X02,digits),myFontSize, myFont, color_X02);
   ObjectSet("X02_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X02_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X02_ValueRGE", OBJPROP_YDISTANCE, Ydist_X02);

   ObjectCreate("X03_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X03_LabelRGE",StrX03,myFontSize, myFont, myColor3 );
   ObjectSet("X03_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X03_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X03_LabelRGE", OBJPROP_YDISTANCE, Ydist_X03);
   
   ObjectCreate("X03_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X03_ValueRGE"," "+DoubleToStr(X03,digits),myFontSize, myFont, color_X03);
   ObjectSet("X03_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X03_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X03_ValueRGE", OBJPROP_YDISTANCE, Ydist_X03);

   ObjectCreate("X04_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X04_LabelRGE",StrX04,myFontSize, myFont, myColor4 );
   ObjectSet("X04_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X04_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X04_LabelRGE", OBJPROP_YDISTANCE, Ydist_X04);
   
   ObjectCreate("X04_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X04_ValueRGE"," "+DoubleToStr(X04,digits),myFontSize, myFont, color_X04);
   ObjectSet("X04_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X04_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X04_ValueRGE", OBJPROP_YDISTANCE, Ydist_X04);  
       
   
   ObjectCreate("X05_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X05_LabelRGE",StrX05,myFontSize, myFont, myColor5 );
   ObjectSet("X05_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X05_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X05_LabelRGE", OBJPROP_YDISTANCE, Ydist_X05);
   
   ObjectCreate("X05_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X05_ValueRGE"," "+DoubleToStr(X05,digits),myFontSize, myFont, color_X05);
   ObjectSet("X05_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X05_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X05_ValueRGE", OBJPROP_YDISTANCE, Ydist_X05);
    
   ObjectCreate("X06_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X06_LabelRGE",StrX06,myFontSize, myFont, myColor6 );
   ObjectSet("X06_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X06_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X06_LabelRGE", OBJPROP_YDISTANCE, Ydist_X06);
   
   ObjectCreate("X06_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X06_ValueRGE"," "+DoubleToStr(X06,digits),myFontSize, myFont, color_X06);
   ObjectSet("X06_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X06_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X06_ValueRGE", OBJPROP_YDISTANCE, Ydist_X06);

   ObjectCreate("X07_LabelRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X07_LabelRGE",StrX07,myFontSize, myFont, myColor7 );
   ObjectSet("X07_LabelRGE", OBJPROP_CORNER, Corner_text);
   ObjectSet("X07_LabelRGE", OBJPROP_XDISTANCE, Xdist_text);
   ObjectSet("X07_LabelRGE", OBJPROP_YDISTANCE, Ydist_X07);
   
   ObjectCreate("X07_ValueRGE", OBJ_LABEL, WindowToUse, 0, 0);
   ObjectSetText("X07_ValueRGE"," "+DoubleToStr(X07,digits),myFontSize, myFont, color_X07);
   ObjectSet("X07_ValueRGE", OBJPROP_CORNER, Corner_vSRFP);
   ObjectSet("X07_ValueRGE", OBJPROP_XDISTANCE, Xdist_vSRFP);
   ObjectSet("X07_ValueRGE", OBJPROP_YDISTANCE, Ydist_X07);


}

//+------------------------------------------------------------------+ 

string TimeFrameToString(int tf)
{
   string tfs;
   switch(tf) {
      case PERIOD_M1:  tfs="M1"  ; break;
      case PERIOD_M5:  tfs="M5"  ; break;
      case PERIOD_M15: tfs="M15" ; break;
      case PERIOD_M30: tfs="M30" ; break;
      case PERIOD_H1:  tfs="H1"  ; break;
      case PERIOD_H4:  tfs="H4"  ; break;
      case PERIOD_D1:  tfs="D1"  ; break;
      case PERIOD_W1:  tfs="W1"  ; break;
      case PERIOD_MN1: tfs="MN";
   }
   return(tfs);
}



Sample





Analysis



Market Information Used:



Indicator Curves created:


Indicators Used:



Custom Indicators Used:

Order Management characteristics:

Other Features: