#mtf camarilladt7 v2

Download script
Author: Copyright � 2005, MetaQuotes Software Corp.
#mtf camarilladt7 v2

This script is a comprehensive technical analysis tool designed to automate the plotting of key price levels on your trading charts. It focuses primarily on identifying significant support and resistance zones based on historical price action, specifically utilizing Camarilla, Fibonacci, and Standard Pivot methodologies.

Core Functionality

1. Automatic Price Calculation The script begins by scanning recent historical data to identify the high, low, and closing prices of previous trading sessions. It uses these figures to calculate several layers of technical levels:

  • Camarilla Levels: These are specialized levels (H3, H4, L3, L4, H5, L5) used by many traders to identify potential breakout points and reversal zones. The script labels these clearly—for example, identifying "Short" opportunities near the H3 line or "Long" opportunities near the L3 line.
  • Fibonacci Retracements: If enabled, the script calculates a series of nine resistance (R) and support (S) levels based on Fibonacci ratios. This helps traders identify where price might stall or bounce during a trend.
  • Standard Pivots: The tool calculates classic Pivot Points (P), along with four levels of Support and Resistance (S1–S4, R1–R4), providing a traditional framework for daily trading.
  • Mid-Point Pivots: This adds an extra layer of granularity by calculating "Middle" pivots (M0–M5), which help in identifying smaller price fluctuations within the larger range.

2. Visual Chart Integration Instead of requiring you to calculate these numbers manually, the script draws them directly on your chart as horizontal lines and text labels.

  • It dynamically adjusts the placement of these lines based on current market data.
  • Each level is color-coded (e.g., distinct colors for support vs. resistance) to allow for quick visual recognition.
  • Labels are placed on the chart to explain the significance of each line (e.g., "Breakout" or "Target").

3. Smart Alert System The script includes a built-in notification system specifically tuned for Camarilla levels. You can configure it to monitor the price as it approaches the H3 and L3 lines. When the price enters a specific pre-defined distance (measured in pips) from these critical zones, the script will:

  • Trigger an on-screen alert message.
  • Play an audible warning sound.
  • Include a "cooldown" logic to ensure you are not bombarded with repeated alerts for the same price movement.

4. Compatibility and Safety The tool is designed to work seamlessly on various timeframes, provided they are not larger than a daily chart. It also includes internal logic to handle different market types (such as JPY currency pairs) to ensure that the decimal placements of the levels remain accurate across different assets.

Miscellaneous
It issuies visual alerts to the screenIt plays sound alerts
13 Views
0 Downloads
0 Favorites
#mtf camarilladt7 v2
//+------------------------------------------------------------------+
//|                                                  camarilladt.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
//---- input parameters
extern bool Alerts = false;
extern double  GMTshiftSun=0;   //sun into mon cams use this corrected value for fri data 
extern double  GMTshift=1;
extern bool Pivot = true;
extern bool CamTargets = true;
extern color PivotColor = LimeGreen;
extern color PivotFontColor = White;
extern int PivotFontSize = 8;
extern int PivotWidth = 1;
extern int PipDistance = 20;
extern color CamFontColor = Gray;
extern int CamFontSize = 10;
extern bool Fibs = true;
extern color FibColorRes = SeaGreen;
extern color FibColorSup = Brown;
extern color FibFontColor = Gray;
extern int FibFontSize = 8;
extern double FibLevel1 = 0.21;
extern double FibLevel2 = 0.34;
extern double FibLevel3 = 0.55;
extern double FibLevel4 = 0.89;
extern double FibLevel5 = 1.44;
extern double FibLevel6 = 2.33;
extern double FibLevel7 = 3.77;
extern double FibLevel8 = 6.10;
extern double FibLevel9 = 9.87;
extern bool StandardPivots = true;
extern color StandardFontColor = Gray;
extern int StandardFontSize = 8;
extern color SupportColor = Brown;
extern color ResistanceColor = SeaGreen;
extern bool MidPivots = false;
extern color MidPivotColor = White;
extern int MidFontSize = 8;

double P, H3, H4, H5;
double L3, L4, L5;
double LastHigh,LastLow,x;
bool firstL3=true;
bool firstH3=true;

double D1=0.091667;
double D2=0.183333;
double D3=0.2750;
double D4=0.55;


// Fib variables

double yesterday_high=0;
double yesterday_low=0;
double yesterday_close=0;
double r9=0;
double r8=0;
double r7=0;
double r6=0;
double r5=0;
double r4=0;
double r3=0;
double r2=0;
double r1=0;
double p=0;
double s1=0;
double s2=0;
double s3=0;
double s4=0;
double s5=0;
double s6=0;
double s7=0;
double s8=0;
double s9=0;
double R;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here
if (Fibs)
{ObjectDelete("FibR1 Label"); 
ObjectDelete("FibR1 Line");
ObjectDelete("FibR2 Label");
ObjectDelete("FibR2 Line");
ObjectDelete("FibR3 Label");
ObjectDelete("FibR3 Line");
ObjectDelete("FibR4 Label");
ObjectDelete("FibR4 Line");
ObjectDelete("FibR5 Label");
ObjectDelete("FibR5 Line");
ObjectDelete("FibR6 Label");
ObjectDelete("FibR6 Line");
ObjectDelete("FibR7 Label");
ObjectDelete("FibR7 Line");
ObjectDelete("FibR8 Label");
ObjectDelete("FibR8 Line");
ObjectDelete("FibR9 Label");
ObjectDelete("FibR9 Line");
ObjectDelete("FibS1 Label");
ObjectDelete("FibS1 Line");
ObjectDelete("FibS2 Label");
ObjectDelete("FibS2 Line");
ObjectDelete("FibS3 Label");
ObjectDelete("FibS3 Line");
ObjectDelete("FibS4 Label");
ObjectDelete("FibS4 Line");
ObjectDelete("FibS5 Label");
ObjectDelete("FibS5 Line");
ObjectDelete("FibS6 Label");
ObjectDelete("FibS6 Line");
ObjectDelete("FibS7 Label");
ObjectDelete("FibS7 Line");
ObjectDelete("FibS8 Label");
ObjectDelete("FibS8 Line");
ObjectDelete("FibS9 Label");
ObjectDelete("FibS9 Line");
}
if (Pivot)
{
ObjectDelete("P Label");
ObjectDelete("P Line");
}
ObjectDelete("H5 Label");
ObjectDelete("H5 Line");
ObjectDelete("H4 Label");
ObjectDelete("H4 Line");
ObjectDelete("H3 Label");
ObjectDelete("H3 Line");
ObjectDelete("L3 Label");
ObjectDelete("L3 Line");
ObjectDelete("L4 Label");
ObjectDelete("L4 Line");
ObjectDelete("L5 Label");
ObjectDelete("L5 Line");
//----
if (StandardPivots)
{
ObjectDelete("R1 Label"); 
ObjectDelete("R1 Line");
ObjectDelete("R2 Label");
ObjectDelete("R2 Line");
ObjectDelete("R3 Label");
ObjectDelete("R3 Line");
ObjectDelete("R4 Label");
ObjectDelete("R4 Line");
ObjectDelete("S1 Label");
ObjectDelete("S1 Line");
ObjectDelete("S2 Label");
ObjectDelete("S2 Line");
ObjectDelete("S3 Label");
ObjectDelete("S3 Line");
ObjectDelete("S4 Label");
ObjectDelete("S4 Line");
}
if (MidPivots)
{
ObjectDelete("M5 Label");
ObjectDelete("M5 Line");
ObjectDelete("M4 Label");
ObjectDelete("M4 Line");
ObjectDelete("M3 Label");
ObjectDelete("M3 Line");
ObjectDelete("M2 Label");
ObjectDelete("M2 Line");
ObjectDelete("M1 Label");
ObjectDelete("M1 Line");
ObjectDelete("M0 Label");
ObjectDelete("M0 Line");

}
   return(0);
  }

int DoAlerts()
{
   double DifAboveL3,PipsLimit;
   double DifBelowH3;

   DifBelowH3 = H3 - Close[0];
   DifAboveL3 = Close[0] - L3;
   PipsLimit = PipDistance*Point;
   
   if (DifBelowH3 > PipsLimit) firstH3 = true;
   if (DifBelowH3 <= PipsLimit && DifBelowH3 > 0)
   {
    if (firstH3)
    {
      Alert("Below Cam H3 Line by ",DifBelowH3, " for ", Symbol(),"-",Period());
      PlaySound("alert.wav");
      firstH3=false;
    }
   }

   if (DifAboveL3 > PipsLimit) firstL3 = true;
   if (DifAboveL3 <= PipsLimit && DifAboveL3 > 0)
   {
    if (firstL3)
    {
      Alert("Above Cam L3 Line by ",DifAboveL3," for ", Symbol(),"-",Period());
      Sleep(2000);
      PlaySound("timeout.wav");
      firstL3=false;
    }
   }
   
}


//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//---- TODO: add your code here
double day_high=0;
double day_low=0;
double yesterday_open=0;
double today_open=0;
double Q=0,S=0,R=0,M2=0,M3=0,S1=0,R1=0,M1=0,M4=0,S2=0,R2=0,M0=0,M5=0,S3=0,R3=0,nQ=0,nD=0,D=0,R4=0,S4=0;
double shift_corrected;
int cnt=720;
double cur_day=0;
double prev_day=0;

double rates_d1[2][6];

//---- exit if period is greater than daily charts
if(Period() > 1440)
{
Print("Error - Chart period is greater than 1 day.");
return(-1); // then exit
}

//---- Get new daily prices & calculate pivots
if (DayOfWeek()==1)  shift_corrected=GMTshiftSun;
//if ((DayOfWeek()==2) && (Hour() < GMTshift)) shift_corrected=(-GMTshiftSun-24);
else    shift_corrected=GMTshift;

while (cnt!= 0)
{
	cur_day = TimeDay(Time[cnt]- (shift_corrected*3600));
	
	if (prev_day != cur_day)
	{
		yesterday_close = Close[cnt+1];
		today_open = Open[cnt];
		yesterday_high = day_high;
		yesterday_low = day_low;

		day_high = High[cnt];
		day_low  = Low[cnt];

		prev_day = cur_day;
	}
   
   if (High[cnt]>day_high)
   {
      day_high = High[cnt];
   }
   if (Low[cnt]<day_low)
   {
      day_low = Low[cnt];
   }
	
	cnt--;

}



D = (day_high - day_low);
Q = (yesterday_high - yesterday_low);
//------ Pivot Points ------

P = (yesterday_high + yesterday_low + yesterday_close)/3;//Pivot
//---- To display all 8 Camarilla pivots remove comment symbols below and
// add the appropriate object functions below
H5 = (yesterday_high/yesterday_low)*yesterday_close;
H4 = ((yesterday_high - yesterday_low)* D4) + yesterday_close;
H3 = ((yesterday_high - yesterday_low)* D3) + yesterday_close;
//H2 = ((yesterday_high - yesterday_low) * D2) + yesterday_close;
//H1 = ((yesterday_high - yesterday_low) * D1) + yesterday_close;

//L1 = yesterday_close - ((yesterday_high - yesterday_low)*(D1));
//L2 = yesterday_close - ((yesterday_high - yesterday_low)*(D2));
L3 = yesterday_close - ((yesterday_high - yesterday_low)*(D3));
L4 = yesterday_close - ((yesterday_high - yesterday_low)*(D4));
L5 = yesterday_close - (H5 - yesterday_close);

if (Fibs)
{
      R = yesterday_high - yesterday_low;//range
      p = (yesterday_high + yesterday_low + yesterday_close)/3;// Standard Pivot
      r1 = p + (R * FibLevel1);
      r2 = p + (R * FibLevel2);
      r3 = p + (R * FibLevel3);
      r4 = p + (R * FibLevel4);
      r5 = p + (R * FibLevel5);
      r6 = p + (R * FibLevel6);
      r7 = p + (R * FibLevel7);
      r8 = p + (R * FibLevel8);
      r9 = p + (R * FibLevel9);
      s1 = p - (R * FibLevel1);
      s2 = p - (R * FibLevel2);
      s3 = p - (R * FibLevel3);
      s4 = p - (R * FibLevel4);
      s5 = p - (R * FibLevel5);
      s6 = p - (R * FibLevel6);
      s7 = p - (R * FibLevel7);
      s8 = p - (R * FibLevel8);
      s9 = p - (R * FibLevel9);
}

if (StandardPivots)
{
R1 = (2*P)-yesterday_low;
S1 = (2*P)-yesterday_high;
R2 = P-S1+R1;
S2 = P-R1+S1;
R3 = (2*P)+(yesterday_high-(2*yesterday_low));
S3 = (2*P)-((2* yesterday_high)-yesterday_low);
R4 = (3*P)+(yesterday_high-(3*yesterday_low));
S4 = (3*P)-((3* yesterday_high)-yesterday_low);
}
if (MidPivots)
{
M0 = (S2+S3)/2;
M1 = (S1+S2)/2;
M2 = (P+S1)/2;
M3 = (P+R1)/2;
M4 = (R1+R2)/2;
M5 = (R2+R3)/2;
}

//comment on OHLC and daily range

if (Q > 5) 
{
	nQ = Q;
}
else
{
	nQ = Q*10000;
}

if (D > 5)
{
	nD = D;
}
else
{
	nD = D*10000;
}

 if (StringSubstr(Symbol(),3,3)=="JPY")
      {
      nQ=nQ/100;
      nD=nD/100;
      }
      

//---- Set line labels on chart window
 if (Pivot)
   {

      if(ObjectFind("P label") != 0)
      {
      ObjectCreate("P label", OBJ_TEXT, 0, Time[0], P);
      ObjectSetText("P label", "Pivot", PivotFontSize, "Arial", PivotFontColor);
      }
      else
      {
      ObjectMove("P label", 0, Time[0], P);
      }

//---  Draw  Pivot lines on chart

      if(ObjectFind("P line") != 0)
      {
      ObjectCreate("P line", OBJ_HLINE, 0, Time[40], P);
      ObjectSet("P line", OBJPROP_STYLE, STYLE_DASH);
      ObjectSet("P line", OBJPROP_COLOR, PivotColor);
      }
      else
      {
      ObjectMove("P line", 0, Time[40], P);
      }

  }

  if (StandardPivots)
  {
if(ObjectFind("R1 label") != 0)
      {
      ObjectCreate("R1 label", OBJ_TEXT, 0, Time[20], R1);
      ObjectSetText("R1 label", " R1", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("R1 label", 0, Time[20], R1);
      }

      if(ObjectFind("R2 label") != 0)
      {
      ObjectCreate("R2 label", OBJ_TEXT, 0, Time[20], R2);
      ObjectSetText("R2 label", " R2", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("R2 label", 0, Time[20], R2);
      }

      if(ObjectFind("R3 label") != 0)
      {
      ObjectCreate("R3 label", OBJ_TEXT, 0, Time[20], R3);
      ObjectSetText("R3 label", " R3", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("R3 label", 0, Time[20], R3);
      }
      
      if(ObjectFind("R4 label") != 0)
      {
      ObjectCreate("R4 label", OBJ_TEXT, 0, Time[20], R4);
      ObjectSetText("R4 label", " R4", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("R4 label", 0, Time[20], R4);
      }

      if(ObjectFind("S1 label") != 0)
      {
      ObjectCreate("S1 label", OBJ_TEXT, 0, Time[20], S1);
      ObjectSetText("S1 label", "S1", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("S1 label", 0, Time[20], S1);
      }

      if(ObjectFind("S2 label") != 0)
      {
      ObjectCreate("S2 label", OBJ_TEXT, 0, Time[20], S2);
      ObjectSetText("S2 label", "S2", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("S2 label", 0, Time[20], S2);
      }

      if(ObjectFind("S3 label") != 0)
      {
      ObjectCreate("S3 label", OBJ_TEXT, 0, Time[20], S3);
      ObjectSetText("S3 label", "S3", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("S3 label", 0, Time[20], S3);
      }
      
      if(ObjectFind("S4 label") != 0)
      {
      ObjectCreate("S4 label", OBJ_TEXT, 0, Time[20], S4);
      ObjectSetText("S4 label", "S4", StandardFontSize, "Arial", StandardFontColor);
      }
      else
      {
      ObjectMove("S4 label", 0, Time[20], S4);
      }

//---  Draw  Pivot lines on chart
      if(ObjectFind("S1 line") != 0)
      {
      ObjectCreate("S1 line", OBJ_HLINE, 0, Time[40], S1);
      ObjectSet("S1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S1 line", OBJPROP_COLOR, SupportColor);
      }
      else
      {
      ObjectMove("S1 line", 0, Time[40], S1);
      }

      if(ObjectFind("S2 line") != 0)
      {
      ObjectCreate("S2 line", OBJ_HLINE, 0, Time[40], S2);
      ObjectSet("S2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S2 line", OBJPROP_COLOR, SupportColor);
      }
      else
      {
      ObjectMove("S2 line", 0, Time[40], S2);
      }

      if(ObjectFind("S3 line") != 0)
      {
      ObjectCreate("S3 line", OBJ_HLINE, 0, Time[40], S3);
      ObjectSet("S3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S3 line", OBJPROP_COLOR, SupportColor);
      }
      else
      {
      ObjectMove("S3 line", 0, Time[40], S3);
      }
      
      if(ObjectFind("S4 line") != 0)
      {
      ObjectCreate("S4 line", OBJ_HLINE, 0, Time[40], S4);
      ObjectSet("S4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("S4 line", OBJPROP_COLOR, SupportColor);
      }
      else
      {
      ObjectMove("S4 line", 0, Time[40], S4);
      }

      if(ObjectFind("R1 line") != 0)
      {
      ObjectCreate("R1 line", OBJ_HLINE, 0, Time[40], R1);
      ObjectSet("R1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R1 line", OBJPROP_COLOR, ResistanceColor);
      }
      else
      {
      ObjectMove("R1 line", 0, Time[40], R1);
      }

      if(ObjectFind("R2 line") != 0)
      {
      ObjectCreate("R2 line", OBJ_HLINE, 0, Time[40], R2);
      ObjectSet("R2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R2 line", OBJPROP_COLOR, ResistanceColor);
      }
      else
      {
      ObjectMove("R2 line", 0, Time[40], R2);
      }

      if(ObjectFind("R3 line") != 0)
      {
      ObjectCreate("R3 line", OBJ_HLINE, 0, Time[40], R3);
      ObjectSet("R3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R3 line", OBJPROP_COLOR, ResistanceColor);
      }
      else
      {
      ObjectMove("R3 line", 0, Time[40], R3);
      }
      
      if(ObjectFind("R4 line") != 0)
      {
      ObjectCreate("R4 line", OBJ_HLINE, 0, Time[40], R4);
      ObjectSet("R4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("R4 line", OBJPROP_COLOR, ResistanceColor);
      }
      else
      {
      ObjectMove("R4 line", 0, Time[40], R4);
      }
  }
  
  if (MidPivots)
  {
      if(ObjectFind("M5 label") != 0)
      {
      ObjectCreate("M5 label", OBJ_TEXT, 0, Time[20], M5);
      ObjectSetText("M5 label", " M5", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M5 label", 0, Time[20], M5);
      }

      if(ObjectFind("M4 label") != 0)
      {
      ObjectCreate("M4 label", OBJ_TEXT, 0, Time[20], M4);
      ObjectSetText("M4 label", " M4", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M4 label", 0, Time[20], M4);
      }

      if(ObjectFind("M3 label") != 0)
      {
      ObjectCreate("M3 label", OBJ_TEXT, 0, Time[20], M3);
      ObjectSetText("M3 label", " M3", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M3 label", 0, Time[20], M3);
      }

      if(ObjectFind("M2 label") != 0)
      {
      ObjectCreate("M2 label", OBJ_TEXT, 0, Time[20], M2);
      ObjectSetText("M2 label", " M2", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M2 label", 0, Time[20], M2);
      }

      if(ObjectFind("M1 label") != 0)
      {
      ObjectCreate("M1 label", OBJ_TEXT, 0, Time[20], M1);
      ObjectSetText("M1 label", " M1", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M1 label", 0, Time[20], M1);
      }

      if(ObjectFind("M0 label") != 0)
      {
      ObjectCreate("M0 label", OBJ_TEXT, 0, Time[20], M0);
      ObjectSetText("M0 label", " M0", MidFontSize, "Arial", MidPivotColor);
      }
      else
      {
      ObjectMove("M0 label", 0, Time[20], M0);
      }
     

      if(ObjectFind("M5 line") != 0)
      {
      ObjectCreate("M5 line", OBJ_HLINE, 0, Time[40], M5);
      ObjectSet("M5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M5 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M5 line", 0, Time[40], M5);
      }

      if(ObjectFind("M4 line") != 0)
      {
      ObjectCreate("M4 line", OBJ_HLINE, 0, Time[40], M4);
      ObjectSet("M4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M4 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M4 line", 0, Time[40], M4);
      }

      if(ObjectFind("M3 line") != 0)
      {
      ObjectCreate("M3 line", OBJ_HLINE, 0, Time[40], M3);
      ObjectSet("M3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M3 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M3 line", 0, Time[40], M3);
      }

      if(ObjectFind("M2 line") != 0)
      {
      ObjectCreate("M2 line", OBJ_HLINE, 0, Time[40], M2);
      ObjectSet("M2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M2 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M2 line", 0, Time[40], M2);
      }

      if(ObjectFind("M1 line") != 0)
      {
      ObjectCreate("M1 line", OBJ_HLINE, 0, Time[40], M1);
      ObjectSet("M1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M1 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M1 line", 0, Time[40], M1);
      }

      if(ObjectFind("M0 line") != 0)
      {
      ObjectCreate("M0 line", OBJ_HLINE, 0, Time[40], M0);
      ObjectSet("M0 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
      ObjectSet("M0 line", OBJPROP_COLOR, MidPivotColor);
      }
      else
      {
      ObjectMove("M0 line", 0, Time[40], M0);
      }
  }
  
  if (Fibs)
  {
      if(ObjectFind("FibR1 label") != 0)
      {
        ObjectCreate("FibR1 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR1 label", "Fib R1", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR1 label", 0, Time[0], r1);
      }
      if(ObjectFind("FibR2 label") != 0)
      {
        ObjectCreate("FibR2 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR2 label", "Fib R2", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR2 label", 0, Time[0], r2);
      }
      if(ObjectFind("FibR3 label") != 0)
      {
        ObjectCreate("FibR3 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR3 label", "Fib R3", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR3 label", 0, Time[0], r3);
      }
       if(ObjectFind("FibR4 label") != 0)
      {
        ObjectCreate("FibR4 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR4 label", "Fib R4", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR4 label", 0, Time[0], r4);
      }
       if(ObjectFind("FibR5 label") != 0)
      {
        ObjectCreate("FibR5 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR5 label", "Fib R5", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR5 label", 0, Time[0], r5);
      }
      if(ObjectFind("FibR6 label") != 0)
      {
        ObjectCreate("FibR6 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR6 label", "Fib R6", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR6 label", 0, Time[0], r6);
      }
      if(ObjectFind("FibR7 label") != 0)
      {
        ObjectCreate("FibR7 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR7 label", "Fib R7", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR7 label", 0, Time[0], r7);
      }
      if(ObjectFind("FibR8 label") != 0)
      {
        ObjectCreate("FibR8 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR8 label", "Fib R8", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR8 label", 0, Time[0], r8);
      }
      if(ObjectFind("FibR9 label") != 0)
      {
        ObjectCreate("FibR9 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibR9 label", "Fib R9", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibR9 label", 0, Time[0], r9);
      }
      if(ObjectFind("FibS1 label") != 0)
      {
        ObjectCreate("FibS1 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS1 label", "Fib S1", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS1 label", 0, Time[0], s1);
      }
      if(ObjectFind("FibS2 label") != 0)
      {
        ObjectCreate("FibS2 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS2 label", "Fib S2", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS2 label", 0, Time[0], s2);
      }
      if(ObjectFind("FibS3 label") != 0)
      {
        ObjectCreate("FibS3 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS3 label", "Fib S3", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS3 label", 0, Time[0], s3);
      }
      if(ObjectFind("FibS4 label") != 0)
      {
        ObjectCreate("FibS4 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS4 label", "Fib S4", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS4 label", 0, Time[0], s4);
      }
      if(ObjectFind("FibS5 label") != 0)
      {
        ObjectCreate("FibS5 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS5 label", "Fib S5", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS5 label", 0, Time[0], s5);
      }
      if(ObjectFind("FibS6 label") != 0)
      {
        ObjectCreate("FibS6 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS6 label", "Fib S6", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS6 label", 0, Time[0], s6);
      }
      if(ObjectFind("FibS7 label") != 0)
      {
        ObjectCreate("FibS7 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS7 label", "Fib S7", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS7 label", 0, Time[0], s7);
      }
      if(ObjectFind("FibS8 label") != 0)
      {
        ObjectCreate("FibS8 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS8 label", "Fib S8", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS8 label", 0, Time[0], s8);
      }
      if(ObjectFind("FibS9 label") != 0)
      {
        ObjectCreate("FibS9 label", OBJ_TEXT, 0, 0, 0);
        ObjectSetText("FibS9 label", "Fib S9", FibFontSize, "Arial", FibFontColor);
      }
      else
      {
        ObjectMove("FibS9 label", 0, Time[0], s9);
      }

//---- Set lines on chart window

      if(ObjectFind("FibS1 line") != 0)
      {
        ObjectCreate("FibS1 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS1 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS1 line", 0, Time[0], s1);
      }
      if(ObjectFind("FibS2 line") != 0)
      {
        ObjectCreate("FibS2 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS2 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS2 line", 0, Time[0], s2);
      }
      if(ObjectFind("FibS3 line") != 0)
      {
        ObjectCreate("FibS3 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS3 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS3 line", 0, Time[0], s3);
      }
      if(ObjectFind("FibS4 line") != 0)
      {
        ObjectCreate("FibS4 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS4 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS4 line", 0, Time[0], s4);
      }
      if(ObjectFind("FibS5 line") != 0)
      {
        ObjectCreate("FibS5 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS5 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS5 line", 0, Time[0], s5);
      }  
      if(ObjectFind("FibS6 line") != 0)
      {
        ObjectCreate("FibS6 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS6 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS6 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS6 line", 0, Time[0], s6);
      }
      if(ObjectFind("FibS7 line") != 0)
      {
        ObjectCreate("FibS7 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS7 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS7 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS7 line", 0, Time[0], s7);
      }   
      if(ObjectFind("FibS8 line") != 0)
      {
        ObjectCreate("FibS8 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS8 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS8 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS8 line", 0, Time[0], s8);
      }   
      if(ObjectFind("FibS9 line") != 0)
      {
        ObjectCreate("FibS9 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibS9 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibS9 line", OBJPROP_COLOR, FibColorSup);
      }
      else
      {
        ObjectMove("FibS9 line", 0, Time[0], s9);
      }      
      if(ObjectFind("FibR1 line") != 0)
      {
        ObjectCreate("FibR1 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR1 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR1 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR1 line", 0, Time[0], r1);
      }
      if(ObjectFind("FibR2 line") != 0)
      {
        ObjectCreate("FibR2 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR2 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR2 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR2 line", 0, Time[0], r2);
      }
      if(ObjectFind("FibR3 line") != 0)
      {
        ObjectCreate("FibR3 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR3 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR3 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR3 line", 0, Time[0], r3);
      }
      if(ObjectFind("FibR4 line") != 0)
      {
        ObjectCreate("FibR4 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR4 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR4 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR4 line", 0, Time[0], r4);
      }
      if(ObjectFind("FibR5 line") != 0)
      {
        ObjectCreate("FibR5 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR5 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR5 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR5 line", 0, Time[0], r5);
      }
      if(ObjectFind("FibR6 line") != 0)
      {
        ObjectCreate("FibR6 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR6 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR6 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR6 line", 0, Time[0], r6);
      }
      if(ObjectFind("FibR7 line") != 0)
      {
        ObjectCreate("FibR7 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR7 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR7 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR7 line", 0, Time[0], r7);
      }
      if(ObjectFind("FibR8 line") != 0)
      {
        ObjectCreate("FibR8 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR8 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR8 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR8 line", 0, Time[0], r8);
      }
      if(ObjectFind("FibR9 line") != 0)
      {
        ObjectCreate("FibR9 line", OBJ_HLINE, 0, 0, 0);
        ObjectSet("FibR9 line", OBJPROP_STYLE, STYLE_DASHDOTDOT);
        ObjectSet("FibR9 line", OBJPROP_COLOR, FibColorRes);
      }
      else
      {
        ObjectMove("FibR9 line", 0, Time[0], r9);
      }

  }


// --- THE CAMARILLA ---
   if(ObjectFind("H5 label") != 0)
      {
      ObjectCreate("H5 label", OBJ_TEXT, 0, Time[20], H5);
      ObjectSetText("H5 label", " H5 LB TARGET", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("H5 label", 0, Time[20], H5);
      }
      
      if(ObjectFind("H4 label") != 0)
      {
      ObjectCreate("H4 label", OBJ_TEXT, 0, Time[20], H4);
      ObjectSetText("H4 label", " H4 LONG BREAKOUT", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("H4 label", 0, Time[20], H4);
      }

      if(ObjectFind("H3 label") != 0)
      {
      ObjectCreate("H3 label", OBJ_TEXT, 0, Time[20], H3);
      ObjectSetText("H3 label", " H3 SHORT", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("H3 label", 0, Time[20], H3);
      }

      if(ObjectFind("L3 label") != 0)
      {
      ObjectCreate("L3 label", OBJ_TEXT, 0, Time[20], L3);
      ObjectSetText("L3 label", " L3 LONG", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("L3 label", 0, Time[20], L3);
      }

      if(ObjectFind("L4 label") != 0)
      {
      ObjectCreate("L4 label", OBJ_TEXT, 0, Time[20], L4);
      ObjectSetText("L4 label", " L4 SHORT BREAKOUT", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("L4 label", 0, Time[20], L4);
      }
      
      if(ObjectFind("L5 label") != 0)
      {
      ObjectCreate("L5 label", OBJ_TEXT, 0, Time[20], L5);
      ObjectSetText("L5 label", " L5 SB TARGET", CamFontSize, "Arial", CamFontColor);
      }
      else
      {
      ObjectMove("L5 label", 0, Time[20], L5);
      }

//---- Draw Camarilla lines on Chart
      if(ObjectFind("H5 line") != 0)
      {
      ObjectCreate("H5 line", OBJ_HLINE, 0, Time[40], H5);
      ObjectSet("H5 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("H5 line", OBJPROP_COLOR, SpringGreen);
      ObjectSet("H5 line", OBJPROP_WIDTH, 1);
      }
      else
      {
      ObjectMove("H5 line", 0, Time[40], H5);
      }
      
      if(ObjectFind("H4 line") != 0)
      {
      ObjectCreate("H4 line", OBJ_HLINE, 0, Time[40], H4);
      ObjectSet("H4 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("H4 line", OBJPROP_COLOR, SpringGreen);
      ObjectSet("H4 line", OBJPROP_WIDTH, 1);
      }
      else
      {
      ObjectMove("H4 line", 0, Time[40], H4);
      }

      if(ObjectFind("H3 line") != 0)
      {
      ObjectCreate("H3 line", OBJ_HLINE, 0, Time[40], H3);
      ObjectSet("H3 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("H3 line", OBJPROP_COLOR, SpringGreen);
      ObjectSet("H3 line", OBJPROP_WIDTH, 2);
      }
      else
      {
      ObjectMove("H3 line", 0, Time[40], H3);
      }

      if(ObjectFind("L3 line") != 0)
      {
      ObjectCreate("L3 line", OBJ_HLINE, 0, Time[40], L3);
      ObjectSet("L3 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("L3 line", OBJPROP_COLOR, Red);
      ObjectSet("L3 line", OBJPROP_WIDTH, 2);
      }
      else
      {
      ObjectMove("L3 line", 0, Time[40], L3);
      }

      if(ObjectFind("L4 line") != 0)
      {
      ObjectCreate("L4 line", OBJ_HLINE, 0, Time[40], L4);
      ObjectSet("L4 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("L4 line", OBJPROP_COLOR, Red);
      ObjectSet("L4 line", OBJPROP_WIDTH, 1);
      }
      else
      {
      ObjectMove("L4 line", 0, Time[40], L4);
      }
      
      if(ObjectFind("L5 line") != 0)
      {
      ObjectCreate("L5 line", OBJ_HLINE, 0, Time[40], L5);
      ObjectSet("L5 line", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("L5 line", OBJPROP_COLOR, Red);
      ObjectSet("L5 line", OBJPROP_WIDTH, 1);
      }
      else
      {
      ObjectMove("L5 line", 0, Time[40], L5);
      }

//---- done
   // Now check for Alert
   
   if (Alerts) DoAlerts();
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments