Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 520

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 535

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 542

Deprecated: Assigning the return value of new by reference is deprecated in /home/forex/public_html/wp-settings.php on line 578

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/forex/public_html/wp-settings.php on line 18
B :forex decode

B Archives

BykovTrend_Sig.mq4

//+------------------------------------------------------------------+
//| BykovTrend_Sig.mq4
//| Ramdass - Conversion only
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Aqua

//---- input parameters
extern int RISK=3;
extern int SSP=9;
extern int CountBars=500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,234);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,233);
   SetIndexBuffer(0,val1);
   SetIndexBuffer(1,val2);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| BykovTrend_Sig                                                   |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexDrawBegin(0,Bars-CountBars+SSP+1);
   SetIndexDrawBegin(1,Bars-CountBars+SSP+1);
   int i,counted_bars=IndicatorCounted();
   int K;
   bool uptrend,old;
   double wpr;

   K=33-RISK;
//----
   if(Bars<=SSP+1) return(0);
//---- initial zero
   if(counted_bars<SSP+1)
   {
      for(i=1;i<=0;i++) val1[CountBars-i]=0.0;
      for(i=1;i<=0;i++) val2[CountBars-i]=0.0;
   }
//----
   i=CountBars-SSP-1;
   if(counted_bars>=SSP+1) i=CountBars-counted_bars-1;
   while(i>=0)
     {

   wpr=iWPR(NULL,0,SSP,i);
   val1[i]=0.0; val2[i]=0.0;
   if (wpr<-100+K) uptrend=false;
   if (wpr>-K) uptrend=true;
   if ((! uptrend==old) && uptrend==true) {val2[i]=Low[i]-5*Point;}
   if ((! uptrend==old) && uptrend==false) {val1[i]=High[i]+5*Point;}
   old=uptrend;

      i--;
     }
   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

Bunnygirl Cross and Daily Open.mq4

//+------------------------------------------------------------------+
//|                               Bunnygirl Cross and Daily Open.mq4 |
//|                                Copyright ? 2005, David W. Thomas |
//|                                           mailto:davidwt@usa.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2005, David W. Thomas"
#property link      "mailto:davidwt@usa.net"

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 DarkViolet
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Gray

//---- input parameters
extern int PipsForBounce=3;
extern int TimeZoneOfData=2;
extern int ma_method=MODE_LWMA;

//---- buffers
double DailyOpenBuffer[];
double BuyFilterBuffer[];
double SellFilterBuffer[];
double CrossBounceBuffer[];

//---- variables
int indexbegin = 0;
string mastrtype = "";
double dailyopen = 0,
		crossamount,
		filter = 0;
int crosstime = 0;
bool crossdir = true;
bool FilterTradingTime = true;
int beginfiltertime = 0;
int endfiltertime = 24;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
	SetIndexStyle(0, DRAW_LINE);
	SetIndexBuffer(0, DailyOpenBuffer);
	SetIndexLabel(0, "Daily Open");
	SetIndexEmptyValue(0, 0.0);
	SetIndexStyle(1, DRAW_LINE);
	SetIndexBuffer(1, BuyFilterBuffer);
	SetIndexLabel(1, "Buy Filter");
	SetIndexEmptyValue(1, 0.0);
	SetIndexStyle(2, DRAW_LINE);
	SetIndexBuffer(2, SellFilterBuffer);
	SetIndexLabel(2, "Sell Filter");
	SetIndexEmptyValue(2, 0.0);
	SetIndexStyle(3, DRAW_LINE, STYLE_DOT);
	SetIndexBuffer(3, CrossBounceBuffer);
	SetIndexLabel(3, "Cross/Bounce");
	SetIndexEmptyValue(3, 0.0);
//----
	indexbegin = Bars - 20;
	if (indexbegin < 0)
		indexbegin = 0;
	if (Symbol() == "EURUSD")
		filter = 20 * Point + Bid;
	else
		filter = 25 * Point + Bid;
	if (ma_method == MODE_EMA)
		mastrtype = "EMA";
	else
		mastrtype = "WMA";
	if (FilterTradingTime)
	{
		beginfiltertime = 6 + TimeZoneOfData;
		endfiltertime = 17 + TimeZoneOfData;
	}
	else
	{
		beginfiltertime = 0;
		endfiltertime = 24;
	}

	return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here

//----
	return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   int i;
	int counted_bars = IndicatorCounted();
	string crossdirstr = "";

	//---- check for possible errors
	if (counted_bars < 0) counted_bars = 0;
	//---- last counted bar will be recounted
	if (counted_bars > 0) counted_bars--;
	if (counted_bars > indexbegin) counted_bars = indexbegin;

	if (Period() == 30)
	{
		double ma20c, ma20p1, ma20p2,
				 diff0, diff1, diff2;

		for (i = indexbegin-counted_bars; i >= 0; i--)
		{
			if ((TimeMinute(Time[i]) == 0) && (TimeHour(Time[i]) - TimeZoneOfData == 0))
				dailyopen = Open[i];
			DailyOpenBuffer[i] = dailyopen;

			ma20c = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i);
			ma20p1 = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i+1);
			ma20p2 = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i+2);
			diff0 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i) - ma20c;
			diff1 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i+1) - ma20p1;
			diff2 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i+2) - ma20p2;

			// bull signals:
			if (diff0 > 0)
			{
				if (diff1 < 0) // simple bull cross.
				{
					crossdir = true;
					// determine which bar is closer to the cross:
					if (MathAbs(diff0) < MathAbs(diff1))
					{
						crosstime = Time[i];
						crossamount = ma20c;
					}
					else
					{
						crosstime = Time[i+1];
						crossamount = ma20p1;
					}
				}
				else
				if (diff1 == 0 && diff2 < 0) // exact cross on last bar.
				{
					crossdir = true;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
				else
				if (diff1 > 0 && diff2 > diff1 && diff0 >= diff1 && diff1 <= PipsForBounce*Point) // a bounce.
				{
					crossdir = true;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
			}
			else
			// bear signals:
			if (diff0 < 0)
			{
				if (diff1 > 0) // simple bear cross.
				{
					crossdir = false;
					// determine which bar is closer to the cross:
					if (MathAbs(diff0) < MathAbs(diff1))
					{
						crosstime = Time[i];
						crossamount = ma20c;
					}
					else
						crosstime = Time[i+1];
						crossamount = ma20p1;
					{
					}
				}
				else
				if (diff1 == 0 && diff2 > 0) // exact cross on last bar.
				{
					crossdir = false;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
				else
				if (diff1 < 0 && diff2 < diff1 && diff0 <= diff1 && MathAbs(diff1) <= PipsForBounce*Point) // a bounce.
				{
					crossdir = false;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
			}
			CrossBounceBuffer[i] = crossamount;
			if (TimeHour(Time[i]) >= beginfiltertime && TimeHour(Time[i]) <= endfiltertime)
			{
				if (crossdir)
				{
					BuyFilterBuffer[i] = crossamount + filter + Ask - Bid;
					SellFilterBuffer[i] = 0;
				}
				else
				{
					SellFilterBuffer[i] = crossamount - filter;
					BuyFilterBuffer[i] = 0;
				}
			}
			if (crosstime == Time[i+1] && TimeHour(Time[i+1]) >= beginfiltertime && TimeHour(Time[i+1]) <= endfiltertime)
			{
				CrossBounceBuffer[i+1] = crossamount;
				if (crossdir)
					BuyFilterBuffer[i+1] = crossamount + filter + Ask - Bid;
				else
					SellFilterBuffer[i+1] = crossamount - filter;
			}
		}
	}
	else
	if (Period() < 30)
	{
		int per30 = 30 / Period();
		int j;
		for (i = indexbegin-counted_bars; i >= 0; i--)
		{
			j = (i + per30 - 1)/per30;
			dailyopen = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 0, j);
			DailyOpenBuffer[i] = dailyopen;
			crossamount = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 3, j);
			CrossBounceBuffer[i] = crossamount;
			if (CrossBounceBuffer[i+1] != crossamount)
				crosstime = Time[i];
			BuyFilterBuffer[i] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 1, j);
			SellFilterBuffer[i] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 2, j);
		}
		crossdir = BuyFilterBuffer[0] != 0.0;
	}
	else
	{
		dailyopen = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 0, 0);
		crossamount = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 3, 0);
		BuyFilterBuffer[0] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 1, 0);
		SellFilterBuffer[0] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 2, 0);
		crossdir = BuyFilterBuffer[0] != 0.0;
	}

	if (crossdir)
		crossdirstr = "bull";
	else
		crossdirstr = "bear";

	if (crosstime != 0)
		Comment("Current daily open = ", dailyopen, "\nLast ", mastrtype, " cross/bounce: ", TimeToStr(crosstime), ", ", crossdirstr, " at ", crossamount);
	else
		Comment("Current daily open = ", dailyopen, "\nLast ", mastrtype, " cross/bounce: ", crossdirstr, " at ", crossamount);

	return(0);
}
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

Bunnygirl Cross and Daily Open 10.mq4

//+------------------------------------------------------------------+
//|                               Bunnygirl Cross and Daily Open.mq4 |
//|                                Copyright ? 2005, David W. Thomas |
//|                                           mailto:davidwt@usa.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2005, David W. Thomas"
#property link      "mailto:davidwt@usa.net"

#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 DarkViolet
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Gray
#property indicator_color5 Blue
#property indicator_color6 Red

//---- input parameters
extern int PipsForBounce=3;
extern int TimeZoneOfData=2;
extern int ma_method=MODE_LWMA;

//---- buffers
double DailyOpenBuffer[];
double BuyFilterBuffer[];
double SellFilterBuffer[];
double CrossBounceBuffer[];
double BuySymbolBuffer[];
double SellSymbolBuffer[];

//---- variables
int indexbegin = 0;
string mastrtype = "";
double dailyopen = 0,
		crossamount,
		filter = 0;
datetime crosstime = 0;
bool crossdir = true;
bool FilterTradingTime = true;
int beginfiltertime = 0;
int endfiltertime = 24;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
	SetIndexStyle(0, DRAW_LINE);
	SetIndexBuffer(0, DailyOpenBuffer);
	SetIndexLabel(0, "Daily Open");
	SetIndexEmptyValue(0, 0.0);
	SetIndexStyle(1, DRAW_LINE);
	SetIndexBuffer(1, BuyFilterBuffer);
	SetIndexLabel(1, "Buy Filter");
	SetIndexEmptyValue(1, 0.0);
	SetIndexStyle(2, DRAW_LINE);
	SetIndexBuffer(2, SellFilterBuffer);
	SetIndexLabel(2, "Sell Filter");
	SetIndexEmptyValue(2, 0.0);
	SetIndexStyle(3, DRAW_LINE, STYLE_DOT);
	SetIndexBuffer(3, CrossBounceBuffer);
	SetIndexLabel(3, "Cross/Bounce");
	SetIndexEmptyValue(3, 0.0);
	SetIndexStyle(4, DRAW_ARROW);
	SetIndexArrow(4, 233);
	SetIndexBuffer(4, BuySymbolBuffer);
	SetIndexLabel(4, "Cross Up Symbol");
	SetIndexEmptyValue(4, 0.0);
	SetIndexStyle(5, DRAW_ARROW);
	SetIndexArrow(5, 234);
	SetIndexBuffer(5, SellSymbolBuffer);
	SetIndexLabel(5, "Cross Down Symbol");
	SetIndexEmptyValue(5, 0.0);
//----
	indexbegin = Bars - 10;
	if (indexbegin < 0)
		indexbegin = 0;
	if (Symbol() == "EURUSD")
		filter = 10 * Point;
	else
		filter = 15 * Point;
	if (ma_method == MODE_EMA)
		mastrtype = "EMA";
	else
		mastrtype = "WMA";
	Print(" Cross of ", mastrtype, " with a filter of ", filter/Point, " pips.");
	if (FilterTradingTime)
	{
		beginfiltertime = 6 + TimeZoneOfData;
		endfiltertime = 17 + TimeZoneOfData;
      Print(" Only shows buy/sell filters from ", beginfiltertime, " to ", endfiltertime, " hours (chart time).");
	}
	else
	{
		beginfiltertime = 0;
		endfiltertime = 24;
		Print(" Show buy/sell filters at all times.");
	}

	return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here

//----
	return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   int i;
	int counted_bars = IndicatorCounted();
	string crossdirstr = "";

	//---- check for possible errors
	if (counted_bars < 0) counted_bars = 0;
	//---- last counted bar will be recounted
	if (counted_bars > 0) counted_bars--;
	if (counted_bars > indexbegin) counted_bars = indexbegin;

	if (Period() == 30)
	{
		double ma20c, ma20p1, ma20p2,
				 diff0, diff1, diff2;

		for (i = indexbegin-counted_bars; i >= 0; i--)
		{
			if ((TimeMinute(Time[i]) == 0) && (TimeHour(Time[i]) - TimeZoneOfData == 0))
				dailyopen = Open[i];
			DailyOpenBuffer[i] = dailyopen;

			ma20c = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i);
			ma20p1 = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i+1);
			ma20p2 = iMA(NULL, PERIOD_M30, 20, 0, ma_method, PRICE_CLOSE, i+2);
			diff0 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i) - ma20c;
			diff1 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i+1) - ma20p1;
			diff2 = iMA(NULL, PERIOD_M30, 5, 0, ma_method, PRICE_CLOSE, i+2) - ma20p2;

			// bull signals:
			if (diff0 > 0)
			{
				if (diff1 < 0) // simple bull cross.
				{
					crossdir = true;
					// determine which bar is closer to the cross:
					if (MathAbs(diff0) < MathAbs(diff1))
					{
						crosstime = Time[i];
						crossamount = ma20c;
					}
					else
					{
						crosstime = Time[i+1];
						crossamount = ma20p1;
					}
				}
				else
				if (diff1 == 0 && diff2 < 0) // exact cross on last bar.
				{
					crossdir = true;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
				else
				if (diff1 > 0 && diff2 > diff1 && diff0 >= diff1 && diff1 <= PipsForBounce*Point) // a bounce.
				{
					crossdir = true;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
			}
			else
			// bear signals:
			if (diff0 < 0)
			{
				if (diff1 > 0) // simple bear cross.
				{
					crossdir = false;
					// determine which bar is closer to the cross:
					if (MathAbs(diff0) < MathAbs(diff1))
					{
						crosstime = Time[i];
						crossamount = ma20c;
					}
					else
						crosstime = Time[i+1];
						crossamount = ma20p1;
					{
					}
				}
				else
				if (diff1 == 0 && diff2 > 0) // exact cross on last bar.
				{
					crossdir = false;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
				else
				if (diff1 < 0 && diff2 < diff1 && diff0 <= diff1 && MathAbs(diff1) <= PipsForBounce*Point) // a bounce.
				{
					crossdir = false;
					crosstime = Time[i+1];
					crossamount = ma20p1;
				}
			}
			CrossBounceBuffer[i] = crossamount;
			if (TimeHour(Time[i]) >= beginfiltertime && TimeHour(Time[i]) <= endfiltertime)
			{
				if (crossdir)
				{
					BuyFilterBuffer[i] = crossamount + filter + Ask - Bid;
					SellFilterBuffer[i] = 0;
					if (i > 0 && BuyFilterBuffer[i] != BuyFilterBuffer[i+1])//crosstime == Time[i])
						BuySymbolBuffer[i] = BuyFilterBuffer[i] + 5*Point;
				}
				else
				{
					SellFilterBuffer[i] = crossamount - filter;
					BuyFilterBuffer[i] = 0;
					if (i > 0 && SellFilterBuffer[i] != SellFilterBuffer[i+1])//crosstime == Time[i])
						SellSymbolBuffer[i] = SellFilterBuffer[i] - 5*Point;
				}
			}
			if (crosstime == Time[i+1] && TimeHour(Time[i+1]) >= beginfiltertime && TimeHour(Time[i+1]) <= endfiltertime)
			{
				CrossBounceBuffer[i+1] = crossamount;
				if (crossdir)
				{
					BuyFilterBuffer[i+1] = crossamount + filter + Ask - Bid;
					BuySymbolBuffer[i+1] = BuyFilterBuffer[i+1] + 5*Point;
					BuySymbolBuffer[i] = 0.0;
				}
				else
				{
					SellFilterBuffer[i+1] = crossamount - filter;
					SellSymbolBuffer[i+1] = SellFilterBuffer[i+1] - 5*Point;
					SellSymbolBuffer[i] = 0.0;
				}
			}
		}
	}
	else
	if (Period() < 30)
	{
      // diff formula from aircom@strategybuilderfx.com.
		int diff = (TimeMinute(Time[0]) - TimeMinute(iTime(NULL, PERIOD_M30, 0))) / Period() + 1;
		int per30 = 30 / Period();
		int j;
		for (i = indexbegin-counted_bars; i >= 0; i--)
		{
			j = (i + per30 - diff)/per30;
			dailyopen = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 0, j);
			DailyOpenBuffer[i] = dailyopen;
			crossamount = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 3, j);
			CrossBounceBuffer[i] = crossamount;
			if (CrossBounceBuffer[i+1] != crossamount)
				crosstime = Time[i];
			BuyFilterBuffer[i] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 1, j);
			SellFilterBuffer[i] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 2, j);
			if (i > 0 && BuyFilterBuffer[i] > 0.0 && BuyFilterBuffer[i+1] == 0.0)
				BuySymbolBuffer[i] = BuyFilterBuffer[i] + 5*Point;
			else if (i > 0 && SellFilterBuffer[i] > 0.0 && SellFilterBuffer[i+1] == 0.0)
				SellSymbolBuffer[i] = SellFilterBuffer[i] - 5*Point;
		}
		crossdir = BuyFilterBuffer[0] != 0.0;
	}
	else
	{
		dailyopen = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
									PipsForBounce, TimeZoneOfData, ma_method, 0, 0);
		crossamount = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 3, 0);
		BuyFilterBuffer[0] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 1, 0);
		SellFilterBuffer[0] = iCustom(NULL, PERIOD_M30, "Bunnygirl Cross and Daily Open",
								PipsForBounce, TimeZoneOfData, ma_method, 2, 0);
		crossdir = BuyFilterBuffer[0] != 0.0;
	}

	if (crossdir)
		crossdirstr = "bull";
	else
		crossdirstr = "bear";

	if (crosstime != 0)  // use of Digits suggested by aircom@strategybuilderfx.com.
		Comment("Current daily open = ", DoubleToStr(dailyopen,Digits), "\nLast ", mastrtype, " cross/bounce: ", TimeToStr(crosstime), ", ", crossdirstr, " at ", DoubleToStr(crossamount,Digits));
	else
		Comment("Current daily open = ", DoubleToStr(dailyopen,Digits), "\nLast ", mastrtype, " cross/bounce: ", crossdirstr, " at ", DoubleToStr(crossamount,Digits));

	return(0);
}
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BullsBearsEyes.mq4

//+-------------------------------------------------------------------------+
//| BullsBearsEyes.mq4                                                      |
//| EmeraldKing , transport_david                                           |
//| http://finance.groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/|
//+-------------------------------------------------------------------------+
#property copyright "Copyright ? 2005"
#property link      "http://finance.groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/"

#property indicator_separate_window
#property indicator_minimum -0.05
#property indicator_maximum 1.05
#property indicator_color1 Orange
#property indicator_level2 1.0
#property indicator_level3 0.75
#property indicator_level4 0.50
#property indicator_level5 0.25
#property indicator_level6 0.0
//---- input parameters
extern double periods=13;
extern double timeperiods=0;
extern double gamma=0.6;
extern int CountBars=300;

double L0 = 0;
double L1 = 0;
double L2 = 0;
double L3 = 0;
double L0A = 0;
double L1A = 0;
double L2A = 0;
double L3A = 0;
double LRSI = 0;
double CU = 0;
double CD = 0;

double val1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   SetIndexBuffer(0,val1);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- TODO: add your code here

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   if (CountBars>Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars);

   int i;
   int    counted_bars=IndicatorCounted();

   i=CountBars-1;
   while(i>=0)
   {
      L0A = L0;
      L1A = L1;
      L2A = L2;
      L3A = L3;
      L0 = ((1 - gamma)*(iBullsPower(NULL, timeperiods, periods,PRICE_CLOSE,i)
                       +iBearsPower(NULL, timeperiods, periods,PRICE_CLOSE,i))) + (gamma*L0A);
      L1 = - gamma *L0 + L0A + gamma *L1A;
      L2 = - gamma *L1 + L1A + gamma *L2A;
      L3 = - gamma *L2 + L2A + gamma *L3A;

      CU = 0;
      CD = 0;

      if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
      if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
      if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

      if (CU + CD != 0) LRSI = CU / (CU + CD);
      val1[i] = LRSI;
	  i--;
	}
   return(0);
 }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BULLS-BEARS-4XTRAFFIC2.mq4

//+------------------------------------------------------------------+
//|                                                   4 Period MA.mq4 |
//|                 Copyright ? 2006, tageiger aka fxid10t@yahoo.com |
//|                                        http://www.metatrader.org |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2006, tageiger aka fxid10t@yahoo.com"
#property link      "mailto:fxid10t@yahoo.com"
#property indicator_chart_window

extern int p1.ma=5;//Period() in minutes
extern int p2.ma=15;//Period() in minutes
extern int p3.ma=30;//Period() in minutes
extern int p4.ma=60;//Period() in minutes

extern int STD.Rgres.length=56;
extern double STD.width=0.809;

extern int ma.applied.price=1;/*
Applied price constants. It can be any of the following values:

Constant       Value Description
PRICE_CLOSE    0     Close price.
PRICE_OPEN     1     Open price.
PRICE_HIGH     2     High price.
PRICE_LOW      3     Low price.
PRICE_MEDIAN   4     Median price, (high+low)/2.
PRICE_TYPICAL  5     Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6     Weighted close price, (high+low+close+close)/4.*/
extern int ma.Method=0;/*
Moving Average Method
Constant    Value Description
MODE_SMA    0     Simple moving average,
MODE_EMA    1     Exponential moving average,
MODE_SMMA   2     Smoothed moving average,
MODE_LWMA   3     Linear weighted moving average.   */

extern int ma1.Length=13;
extern int ma2.Length=21;
extern int ma3.Length=34;
extern int ma4.Length=55;
extern int ma5.Length=89;
extern int ma6.Length=144;
extern int ma7.Length=233;

extern int fib.SR.shadow.1=8;
extern int fib.SR.shadow.2=13;
extern int fib.SR.shadow.3=21;
extern int fib.SR.shadow.4=34;
extern int fib.SR.shadow.5=55;
extern int fib.SR.shadow.6=89;
extern int fib.SR.shadow.7=144;

extern color fib.SR.shadow.1.c=AliceBlue;
extern color fib.SR.shadow.2.c=LightBlue;
extern color fib.SR.shadow.3.c=DodgerBlue;
extern color fib.SR.shadow.4.c=RoyalBlue;
extern color fib.SR.shadow.5.c=Blue;
extern color fib.SR.shadow.6.c=MediumBlue;
extern color fib.SR.shadow.7.c=DarkBlue;

double ma1.p1, ma2.p1, ma3.p1, ma4.p1, ma5.p1, ma6.p1, ma7.p1;
double ma1.p2, ma2.p2, ma3.p2, ma4.p2, ma5.p2, ma6.p2, ma7.p2;
double ma1.p3, ma2.p3, ma3.p3, ma4.p3, ma5.p3, ma6.p3, ma7.p3;
double ma1.p4, ma2.p4, ma3.p4, ma4.p4, ma5.p4, ma6.p4, ma7.p4;
double bb1, bb2, bb3, bb4;
double tmb1,tmb2,tmb3,tmb4,tmr1,tmr2,tmr3,tmr4;
datetime t1.p1, t2.p1, t1.p2, t2.p2, t1.p3, t2.p3, t1.p4, t2.p4;

int init()  {  return(0);  }
int deinit()   {
   ObjectsDeleteAll(0,OBJ_TEXT);ObjectsDeleteAll(0,OBJ_RECTANGLE);
   ObjectsDeleteAll(0,OBJ_ARROW);ObjectsDeleteAll(0,OBJ_TREND);
return(0);  }
int start() {
   ObjectsDeleteAll();
//   ObjectCreate("regression channel",OBJ_REGRESSION,0,Time[STD.Rgres.length],Bid,Time[0],Ask);
//   ObjectSet("regression channel",OBJPROP_RAY,true);
//   ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,Time[STD.Rgres.length],Bid,Time[0],Ask);
//   ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
//   ObjectSet("std channel",OBJPROP_COLOR,Olive);
//   ObjectSet("std channel",OBJPROP_RAY,true);
//p1 ma settings
   ma1.p1=iMA(Symbol(),p1.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p1=iMA(Symbol(),p1.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p1=iMA(Symbol(),p1.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p1=iMA(Symbol(),p1.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p1=iMA(Symbol(),p1.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p1=iMA(Symbol(),p1.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p1=iMA(Symbol(),p1.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p2 ma settings
   ma1.p2=iMA(Symbol(),p2.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p2=iMA(Symbol(),p2.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p2=iMA(Symbol(),p2.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p2=iMA(Symbol(),p2.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p2=iMA(Symbol(),p2.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p2=iMA(Symbol(),p2.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p2=iMA(Symbol(),p2.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p3 ma settings
   ma1.p3=iMA(Symbol(),p3.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p3=iMA(Symbol(),p3.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p3=iMA(Symbol(),p3.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p3=iMA(Symbol(),p3.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p3=iMA(Symbol(),p3.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p3=iMA(Symbol(),p3.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p3=iMA(Symbol(),p3.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//--------------
//p4 ma settings
   ma1.p4=iMA(Symbol(),p4.ma,ma1.Length,0,ma.Method,ma.applied.price,0);
   ma2.p4=iMA(Symbol(),p4.ma,ma2.Length,0,ma.Method,ma.applied.price,0);
   ma3.p4=iMA(Symbol(),p4.ma,ma3.Length,0,ma.Method,ma.applied.price,0);
   ma4.p4=iMA(Symbol(),p4.ma,ma4.Length,0,ma.Method,ma.applied.price,0);
   ma5.p4=iMA(Symbol(),p4.ma,ma5.Length,0,ma.Method,ma.applied.price,0);
   ma6.p4=iMA(Symbol(),p4.ma,ma6.Length,0,ma.Method,ma.applied.price,0);
   ma7.p4=iMA(Symbol(),p4.ma,ma7.Length,0,ma.Method,ma.applied.price,0);
//---------------
bb1=(iBullsPower(NULL,p1.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p1.ma,5,PRICE_CLOSE,0)*10000);
bb2=(iBullsPower(NULL,p2.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p2.ma,5,PRICE_CLOSE,0)*10000);
bb3=(iBullsPower(NULL,p3.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p3.ma,5,PRICE_CLOSE,0)*10000);
bb4=(iBullsPower(NULL,p4.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p4.ma,5,PRICE_CLOSE,0)*10000);

tmb1=iCustom(NULL,p1.ma,"TrendManager",7,2,1,0);
tmb2=iCustom(NULL,p2.ma,"TrendManager",7,2,1,0);
tmb3=iCustom(NULL,p3.ma,"TrendManager",7,2,1,0);
tmb4=iCustom(NULL,p4.ma,"TrendManager",7,2,1,0);

tmr1=iCustom(NULL,p1.ma,"TrendManager",7,2,0,0);
tmr2=iCustom(NULL,p2.ma,"TrendManager",7,2,0,0);
tmr3=iCustom(NULL,p3.ma,"TrendManager",7,2,0,0);
tmr4=iCustom(NULL,p4.ma,"TrendManager",7,2,0,0);

Comment(p1.ma ,"Minutes Bull/Bear Power ",bb1,"\n",p2.ma ,"Minutes Bull/Bear Power ",bb2,"\n",p3.ma ,"Minutes Bull/Bear Power ",bb3,"\n",p4.ma ,"Minutes Bull/Bear Power ",bb4);

//--------------
Time.Coordinate.Set();
p1.Fib.Plot();
p2.Fib.Plot();
p3.Fib.Plot();
p4.Fib.Plot();
column();
//--------------

return(0);}
//+------------------------------------------------------------------+
void Time.Coordinate.Set()   {
//....Variable Settings for Object Spatial Placement.....
   double zoom.multiplier;int bpw=BarsPerWindow();
   if(bpw<25)              {zoom.multiplier=0.05;}
   if(bpw>25 && bpw<50)    {zoom.multiplier=0.07;}
   if(bpw>50 && bpw<175)   {zoom.multiplier=0.12;}
   if(bpw>175 && bpw<375)  {zoom.multiplier=0.25;}
   if(bpw>375 && bpw<750)  {zoom.multiplier=0.5;}
   if(bpw>750)             {zoom.multiplier=1;}
   double time.frame.multiplier;
   if(Period()==1)      {time.frame.multiplier=0.65;}
   if(Period()==5)      {time.frame.multiplier=3.25;}
   if(Period()==15)     {time.frame.multiplier=9.75;}
   if(Period()==30)     {time.frame.multiplier=19.5;}
   if(Period()==60)     {time.frame.multiplier=39;}
   if(Period()==240)    {time.frame.multiplier=156;}
   if(Period()==1440)   {time.frame.multiplier=936;}
   if(Period()==10080)  {time.frame.multiplier=6552;}
   if(Period()==43200)  {time.frame.multiplier=28043;}

   t1.p1=Time[0]+(1000*time.frame.multiplier*zoom.multiplier);
   t2.p1=Time[0]+(3000*time.frame.multiplier*zoom.multiplier);

   t1.p2=Time[0]+(5000*time.frame.multiplier*zoom.multiplier);
   t2.p2=Time[0]+(7000*time.frame.multiplier*zoom.multiplier);

   t1.p3=Time[0]+(9000*time.frame.multiplier*zoom.multiplier);
   t2.p3=Time[0]+(11000*time.frame.multiplier*zoom.multiplier);

   t1.p4=Time[0]+(13000*time.frame.multiplier*zoom.multiplier);
   t2.p4=Time[0]+(16000*time.frame.multiplier*zoom.multiplier);}//end Time.Coordinate.Set()

void p1.Fib.Plot()   {
//p1 dynamic fibo levels
   double lo.ma.p1,hi.ma.p1;
   lo.ma.p1=ma1.p1;
   if(ma2.p1<lo.ma.p1)  {lo.ma.p1=ma2.p1;}
   if(ma3.p1<lo.ma.p1)  {lo.ma.p1=ma3.p1;}
   if(ma4.p1<lo.ma.p1)  {lo.ma.p1=ma4.p1;}
   if(ma5.p1<lo.ma.p1)  {lo.ma.p1=ma5.p1;}
   if(ma6.p1<lo.ma.p1)  {lo.ma.p1=ma6.p1;}
   if(ma7.p1<lo.ma.p1)  {lo.ma.p1=ma7.p1;}
   lo.ma.p1=NormalizeDouble(lo.ma.p1+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p1=ma7.p1;
   if(ma6.p1>hi.ma.p1)  {hi.ma.p1=ma6.p1;}
   if(ma5.p1>hi.ma.p1)  {hi.ma.p1=ma5.p1;}
   if(ma4.p1>hi.ma.p1)  {hi.ma.p1=ma4.p1;}
   if(ma3.p1>hi.ma.p1)  {hi.ma.p1=ma3.p1;}
   if(ma2.p1>hi.ma.p1)  {hi.ma.p1=ma2.p1;}
   if(ma1.p1>hi.ma.p1)  {hi.ma.p1=ma1.p1;}
   hi.ma.p1=NormalizeDouble(hi.ma.p1-(fib.SR.shadow.1*Point),Digits);

//p1 center dynamic fib placement
   if(lo.ma.p1-hi.ma.p1>Ask-Bid)   {
      ObjectCreate("lcf.p1",OBJ_TREND,0,t1.p1, lo.ma.p1, t2.p1, lo.ma.p1);
      ObjectSet("lcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p1",OBJPROP_RAY,false);
      ObjectSet("lcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p1",DoubleToStr(lo.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p1",OBJ_TREND,0,t1.p1, hi.ma.p1, t2.p1, hi.ma.p1);
      ObjectSet("hcf.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p1",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p1",OBJPROP_RAY,false);
      ObjectSet("hcf.p1",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p1",DoubleToStr(hi.ma.p1,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p1.1, lo.ma.p1.2, lo.ma.p1.3, lo.ma.p1.4, lo.ma.p1.5, lo.ma.p1.6;
   lo.ma.p1.1=lo.ma.p1+(fib.SR.shadow.2*Point);
   lo.ma.p1.2=lo.ma.p1.1+(fib.SR.shadow.3*Point);
   lo.ma.p1.3=lo.ma.p1.2+(fib.SR.shadow.4*Point);
   lo.ma.p1.4=lo.ma.p1.3+(fib.SR.shadow.5*Point);
   lo.ma.p1.5=lo.ma.p1.4+(fib.SR.shadow.6*Point);
   lo.ma.p1.6=lo.ma.p1.5+(fib.SR.shadow.7*Point);

   double hi.ma.p1.1, hi.ma.p1.2, hi.ma.p1.3, hi.ma.p1.4, hi.ma.p1.5, hi.ma.p1.6;
   hi.ma.p1.1=hi.ma.p1-(fib.SR.shadow.2*Point);
   hi.ma.p1.2=hi.ma.p1.1-(fib.SR.shadow.3*Point);
   hi.ma.p1.3=hi.ma.p1.2-(fib.SR.shadow.4*Point);
   hi.ma.p1.4=hi.ma.p1.3-(fib.SR.shadow.5*Point);
   hi.ma.p1.5=hi.ma.p1.4-(fib.SR.shadow.6*Point);
   hi.ma.p1.6=hi.ma.p1.5-(fib.SR.shadow.7*Point);

//p1 1st level (hi.1.p1, lo.1.p1)
   if(lo.ma.p1.1-hi.ma.p1.1>Ask-Bid)   {
      ObjectCreate("lo.1.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.1, t2.p1, lo.ma.p1.1);
      ObjectSet("lo.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p1",OBJPROP_RAY,false);
      ObjectSet("lo.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p1",DoubleToStr(lo.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.1, t2.p1, hi.ma.p1.1);
      ObjectSet("hi.1.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p1",OBJPROP_RAY,false);
      ObjectSet("hi.1.p1",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p1",DoubleToStr(hi.ma.p1.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p1, lo.2.p1)
   if(lo.ma.p1.2-hi.ma.p1.2>Ask-Bid)   {
      ObjectCreate("lo.2.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.2, t2.p1, lo.ma.p1.2);
      ObjectSet("lo.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p1",OBJPROP_RAY,false);
      ObjectSet("lo.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p1",DoubleToStr(lo.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.2, t2.p1, hi.ma.p1.2);
      ObjectSet("hi.2.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p1",OBJPROP_RAY,false);
      ObjectSet("hi.2.p1",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p1",DoubleToStr(hi.ma.p1.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p1, lo.3.p1)
   if(lo.ma.p1.3-hi.ma.p1.3>Ask-Bid)   {
      ObjectCreate("lo.3.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.3, t2.p1, lo.ma.p1.3);
      ObjectSet("lo.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p1",OBJPROP_RAY,false);
      ObjectSet("lo.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p1",DoubleToStr(lo.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.3, t2.p1, hi.ma.p1.3);
      ObjectSet("hi.3.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p1",OBJPROP_RAY,false);
      ObjectSet("hi.3.p1",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p1",DoubleToStr(hi.ma.p1.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p1, lo.4.p1)
   if(lo.ma.p1.4-hi.ma.p1.4>Ask-Bid)   {
      ObjectCreate("lo.4.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.4, t2.p1, lo.ma.p1.4);
      ObjectSet("lo.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p1",OBJPROP_RAY,false);
      ObjectSet("lo.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p1",DoubleToStr(lo.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.4, t2.p1, hi.ma.p1.4);
      ObjectSet("hi.4.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p1",OBJPROP_RAY,false);
      ObjectSet("hi.4.p1",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p1",DoubleToStr(hi.ma.p1.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p1, lo.5.p1)
   if(lo.ma.p1.5-hi.ma.p1.5>Ask-Bid)   {
      ObjectCreate("lo.5.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.5, t2.p1, lo.ma.p1.5);
      ObjectSet("lo.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p1",OBJPROP_RAY,false);
      ObjectSet("lo.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p1",DoubleToStr(lo.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.5, t2.p1, hi.ma.p1.5);
      ObjectSet("hi.5.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p1",OBJPROP_RAY,false);
      ObjectSet("hi.5.p1",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p1",DoubleToStr(hi.ma.p1.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p1, lo.6.p1)
   if(lo.ma.p1.6-hi.ma.p1.6>Ask-Bid)   {
      ObjectCreate("lo.6.p1",OBJ_TREND,0,t1.p1, lo.ma.p1.6, t2.p1, lo.ma.p1.6);
      ObjectSet("lo.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p1",OBJPROP_RAY,false);
      ObjectSet("lo.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p1",DoubleToStr(lo.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p1",OBJ_TREND,0,t1.p1, hi.ma.p1.6, t2.p1, hi.ma.p1.6);
      ObjectSet("hi.6.p1",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p1",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p1",OBJPROP_RAY,false);
      ObjectSet("hi.6.p1",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p1",DoubleToStr(hi.ma.p1.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
 //     ObjectCreate("ma1.p1",OBJ_TEXT,0,t1.p1,ma1.p1);//13 ma
      ObjectSetText("ma1.p1",space+DoubleToStr(ma1.p1,Digits),8,"Arial",White);

//      ObjectCreate("ma2.p1",OBJ_TEXT,0,t1.p1,ma2.p1);//21 ma
      ObjectSetText("ma2.p1",space+DoubleToStr(ma2.p1,Digits),8,"Arial",White);

//      ObjectCreate("ma3.p1",OBJ_TEXT,0,t1.p1,ma3.p1);//34 ma
      if(Bid>ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p1) {ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p1 && Ask>=ma3.p1)  {
         ObjectSetText("ma3.p1",space+DoubleToStr(ma3.p1,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma4.p1",OBJ_TEXT,0,t1.p1,ma4.p1);//55 ma
      if(Bid>ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p1) {ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p1 && Ask>=ma4.p1)  {
         ObjectSetText("ma4.p1",space+DoubleToStr(ma4.p1,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma5.p1",OBJ_TEXT,0,t1.p1,ma5.p1);//89 ma
      if(Bid>ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Green);}
      if(Ask<ma5.p1) {ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p1 && Ask>=ma5.p1)  {
         ObjectSetText("ma5.p1",space+DoubleToStr(ma5.p1,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma6.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma6.p1,Digits));//144 ma
      if(Bid>ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Green);}
      if(Ask<ma6.p1) {ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p1 && Ask>=ma6.p1)  {
         ObjectSetText("ma6.p1",space+DoubleToStr(ma6.p1,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma7.p1",OBJ_TEXT,0,t1.p1,NormalizeDouble(ma7.p1,Digits));//233 ma
      if(Bid>ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Green);}
      if(Ask<ma7.p1) {ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p1 && Ask>=ma7.p1)  {
         ObjectSetText("ma7.p1",space+DoubleToStr(ma7.p1,Digits),8,"Arial",Yellow);}
}//end p1.Fib.Plot()

void p2.Fib.Plot()   {
//p2 dynamic fibo levels
   double lo.ma.p2,hi.ma.p2;
   lo.ma.p2=ma1.p2;
   if(ma2.p2<lo.ma.p2)  {lo.ma.p2=ma2.p2;}
   if(ma3.p2<lo.ma.p2)  {lo.ma.p2=ma3.p2;}
   if(ma4.p2<lo.ma.p2)  {lo.ma.p2=ma4.p2;}
   if(ma5.p2<lo.ma.p2)  {lo.ma.p2=ma5.p2;}
   if(ma6.p2<lo.ma.p2)  {lo.ma.p2=ma6.p2;}
   if(ma7.p2<lo.ma.p2)  {lo.ma.p2=ma7.p2;}
   lo.ma.p2=NormalizeDouble(lo.ma.p2+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p2=ma7.p2;
   if(ma6.p2>hi.ma.p2)  {hi.ma.p2=ma6.p2;}
   if(ma5.p2>hi.ma.p2)  {hi.ma.p2=ma5.p2;}
   if(ma4.p2>hi.ma.p2)  {hi.ma.p2=ma4.p2;}
   if(ma3.p2>hi.ma.p2)  {hi.ma.p2=ma3.p2;}
   if(ma2.p2>hi.ma.p2)  {hi.ma.p2=ma2.p2;}
   if(ma1.p2>hi.ma.p2)  {hi.ma.p2=ma1.p2;}
   hi.ma.p2=NormalizeDouble(hi.ma.p2-(fib.SR.shadow.1*Point),Digits);

//p2 center dynamic fib placement
   if(lo.ma.p2-hi.ma.p2>Ask-Bid)   {
      ObjectCreate("lcf.p2",OBJ_TREND,0,t1.p2, lo.ma.p2, t2.p2, lo.ma.p2);
      ObjectSet("lcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p2",OBJPROP_RAY,false);
      ObjectSet("lcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p2",DoubleToStr(lo.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p2",OBJ_TREND,0,t1.p2, hi.ma.p2, t2.p2, hi.ma.p2);
      ObjectSet("hcf.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p2",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p2",OBJPROP_RAY,false);
      ObjectSet("hcf.p2",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p2",DoubleToStr(hi.ma.p2,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p2.1, lo.ma.p2.2, lo.ma.p2.3, lo.ma.p2.4, lo.ma.p2.5, lo.ma.p2.6;
   lo.ma.p2.1=lo.ma.p2+(fib.SR.shadow.2*Point);
   lo.ma.p2.2=lo.ma.p2.1+(fib.SR.shadow.3*Point);
   lo.ma.p2.3=lo.ma.p2.2+(fib.SR.shadow.4*Point);
   lo.ma.p2.4=lo.ma.p2.3+(fib.SR.shadow.5*Point);
   lo.ma.p2.5=lo.ma.p2.4+(fib.SR.shadow.6*Point);
   lo.ma.p2.6=lo.ma.p2.5+(fib.SR.shadow.7*Point);

   double hi.ma.p2.1, hi.ma.p2.2, hi.ma.p2.3, hi.ma.p2.4, hi.ma.p2.5, hi.ma.p2.6;
   hi.ma.p2.1=hi.ma.p2-(fib.SR.shadow.2*Point);
   hi.ma.p2.2=hi.ma.p2.1-(fib.SR.shadow.3*Point);
   hi.ma.p2.3=hi.ma.p2.2-(fib.SR.shadow.4*Point);
   hi.ma.p2.4=hi.ma.p2.3-(fib.SR.shadow.5*Point);
   hi.ma.p2.5=hi.ma.p2.4-(fib.SR.shadow.6*Point);
   hi.ma.p2.6=hi.ma.p2.5-(fib.SR.shadow.7*Point);

//p2 1st level (hi.1.p2, lo.1.p2)
   if(lo.ma.p2.1-hi.ma.p2.1>Ask-Bid)   {
      ObjectCreate("lo.1.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.1, t2.p2, lo.ma.p2.1);
      ObjectSet("lo.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p2",OBJPROP_RAY,false);
      ObjectSet("lo.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p2",DoubleToStr(lo.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.1, t2.p2, hi.ma.p2.1);
      ObjectSet("hi.1.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p2",OBJPROP_RAY,false);
      ObjectSet("hi.1.p2",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p2",DoubleToStr(hi.ma.p2.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p2, lo.2.p2)
   if(lo.ma.p2.2-hi.ma.p2.2>Ask-Bid)   {
      ObjectCreate("lo.2.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.2, t2.p2, lo.ma.p2.2);
      ObjectSet("lo.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p2",OBJPROP_RAY,false);
      ObjectSet("lo.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p2",DoubleToStr(lo.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.2, t2.p2, hi.ma.p2.2);
      ObjectSet("hi.2.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p2",OBJPROP_RAY,false);
      ObjectSet("hi.2.p2",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p2",DoubleToStr(hi.ma.p2.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p2, lo.3.p2)
   if(lo.ma.p2.3-hi.ma.p2.3>Ask-Bid)   {
      ObjectCreate("lo.3.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.3, t2.p2, lo.ma.p2.3);
      ObjectSet("lo.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p2",OBJPROP_RAY,false);
      ObjectSet("lo.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p2",DoubleToStr(lo.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.3, t2.p2, hi.ma.p2.3);
      ObjectSet("hi.3.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p2",OBJPROP_RAY,false);
      ObjectSet("hi.3.p2",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p2",DoubleToStr(hi.ma.p2.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p2, lo.4.p2)
   if(lo.ma.p2.4-hi.ma.p2.4>Ask-Bid)   {
      ObjectCreate("lo.4.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.4, t2.p2, lo.ma.p2.4);
      ObjectSet("lo.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p2",OBJPROP_RAY,false);
      ObjectSet("lo.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p2",DoubleToStr(lo.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.4, t2.p2, hi.ma.p2.4);
      ObjectSet("hi.4.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p2",OBJPROP_RAY,false);
      ObjectSet("hi.4.p2",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p2",DoubleToStr(hi.ma.p2.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p2, lo.5.p2)
   if(lo.ma.p2.5-hi.ma.p2.5>Ask-Bid)   {
      ObjectCreate("lo.5.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.5, t2.p2, lo.ma.p2.5);
      ObjectSet("lo.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p2",OBJPROP_RAY,false);
      ObjectSet("lo.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p2",DoubleToStr(lo.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.5, t2.p2, hi.ma.p2.5);
      ObjectSet("hi.5.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p2",OBJPROP_RAY,false);
      ObjectSet("hi.5.p2",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p2",DoubleToStr(hi.ma.p2.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p2, lo.6.p2)
   if(lo.ma.p2.6-hi.ma.p2.6>Ask-Bid)   {
      ObjectCreate("lo.6.p2",OBJ_TREND,0,t1.p2, lo.ma.p2.6, t2.p2, lo.ma.p2.6);
      ObjectSet("lo.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p2",OBJPROP_RAY,false);
      ObjectSet("lo.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p2",DoubleToStr(lo.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p2",OBJ_TREND,0,t1.p2, hi.ma.p2.6, t2.p2, hi.ma.p2.6);
      ObjectSet("hi.6.p2",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p2",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p2",OBJPROP_RAY,false);
      ObjectSet("hi.6.p2",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p2",DoubleToStr(hi.ma.p2.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
//      ObjectCreate("ma1.p2",OBJ_TEXT,0,t1.p2,ma1.p2);//13 ma
      ObjectSetText("ma1.p2",space+DoubleToStr(ma1.p2,Digits),8,"Arial",White);

//      ObjectCreate("ma2.p2",OBJ_TEXT,0,t1.p2,ma2.p2);//21 ma
      ObjectSetText("ma2.p2",space+DoubleToStr(ma2.p2,Digits),8,"Arial",White);

//      ObjectCreate("ma3.p2",OBJ_TEXT,0,t1.p2,ma3.p2);//34 ma
      if(Bid>ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p2) {ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p2 && Ask>=ma3.p2)  {
         ObjectSetText("ma3.p2",space+DoubleToStr(ma3.p2,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma4.p2",OBJ_TEXT,0,t1.p2,ma4.p2);//55 ma
      if(Bid>ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p2) {ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p2 && Ask>=ma4.p2)  {
         ObjectSetText("ma4.p2",space+DoubleToStr(ma4.p2,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma5.p2",OBJ_TEXT,0,t1.p2,ma5.p2);//89 ma
      if(Bid>ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Green);}
      if(Ask<ma5.p2) {ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p2 && Ask>=ma5.p2)  {
         ObjectSetText("ma5.p2",space+DoubleToStr(ma5.p2,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma6.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma6.p2,Digits));//144 ma
      if(Bid>ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Green);}
      if(Ask<ma6.p2) {ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p2 && Ask>=ma6.p2)  {
         ObjectSetText("ma6.p2",space+DoubleToStr(ma6.p2,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma7.p2",OBJ_TEXT,0,t1.p2,NormalizeDouble(ma7.p2,Digits));//233 ma
      if(Bid>ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Green);}
      if(Ask<ma7.p2) {ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p2 && Ask>=ma7.p2)  {
         ObjectSetText("ma7.p2",space+DoubleToStr(ma7.p2,Digits),8,"Arial",Yellow);}
}//end p2.Fib.Plot()

void p3.Fib.Plot()   {
//p3 dynamic fibo levels
   double lo.ma.p3,hi.ma.p3;
   lo.ma.p3=ma1.p3;
   if(ma2.p3<lo.ma.p3)  {lo.ma.p3=ma2.p3;}
   if(ma3.p3<lo.ma.p3)  {lo.ma.p3=ma3.p3;}
   if(ma4.p3<lo.ma.p3)  {lo.ma.p3=ma4.p3;}
   if(ma5.p3<lo.ma.p3)  {lo.ma.p3=ma5.p3;}
   if(ma6.p3<lo.ma.p3)  {lo.ma.p3=ma6.p3;}
   if(ma7.p3<lo.ma.p3)  {lo.ma.p3=ma7.p3;}
   lo.ma.p3=NormalizeDouble(lo.ma.p3+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p3=ma7.p3;
   if(ma6.p3>hi.ma.p3)  {hi.ma.p3=ma6.p3;}
   if(ma5.p3>hi.ma.p3)  {hi.ma.p3=ma5.p3;}
   if(ma4.p3>hi.ma.p3)  {hi.ma.p3=ma4.p3;}
   if(ma3.p3>hi.ma.p3)  {hi.ma.p3=ma3.p3;}
   if(ma2.p3>hi.ma.p3)  {hi.ma.p3=ma2.p3;}
   if(ma1.p3>hi.ma.p3)  {hi.ma.p3=ma1.p3;}
   hi.ma.p3=NormalizeDouble(hi.ma.p3-(fib.SR.shadow.1*Point),Digits);

//p3 center dynamic fib placement
   if(lo.ma.p3-hi.ma.p3>Ask-Bid)   {
      ObjectCreate("lcf.p3",OBJ_TREND,0,t1.p3, lo.ma.p3, t2.p3, lo.ma.p3);
      ObjectSet("lcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p3",OBJPROP_RAY,false);
      ObjectSet("lcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p3",DoubleToStr(lo.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p3",OBJ_TREND,0,t1.p3, hi.ma.p3, t2.p3, hi.ma.p3);
      ObjectSet("hcf.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p3",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p3",OBJPROP_RAY,false);
      ObjectSet("hcf.p3",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p3",DoubleToStr(hi.ma.p3,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p3.1, lo.ma.p3.2, lo.ma.p3.3, lo.ma.p3.4, lo.ma.p3.5, lo.ma.p3.6;
   lo.ma.p3.1=lo.ma.p3+(fib.SR.shadow.2*Point);
   lo.ma.p3.2=lo.ma.p3.1+(fib.SR.shadow.3*Point);
   lo.ma.p3.3=lo.ma.p3.2+(fib.SR.shadow.4*Point);
   lo.ma.p3.4=lo.ma.p3.3+(fib.SR.shadow.5*Point);
   lo.ma.p3.5=lo.ma.p3.4+(fib.SR.shadow.6*Point);
   lo.ma.p3.6=lo.ma.p3.5+(fib.SR.shadow.7*Point);

   double hi.ma.p3.1, hi.ma.p3.2, hi.ma.p3.3, hi.ma.p3.4, hi.ma.p3.5, hi.ma.p3.6;
   hi.ma.p3.1=hi.ma.p3-(fib.SR.shadow.2*Point);
   hi.ma.p3.2=hi.ma.p3.1-(fib.SR.shadow.3*Point);
   hi.ma.p3.3=hi.ma.p3.2-(fib.SR.shadow.4*Point);
   hi.ma.p3.4=hi.ma.p3.3-(fib.SR.shadow.5*Point);
   hi.ma.p3.5=hi.ma.p3.4-(fib.SR.shadow.6*Point);
   hi.ma.p3.6=hi.ma.p3.5-(fib.SR.shadow.7*Point);

//p3 1st level (hi.1.p3, lo.1.p3)
   if(lo.ma.p3.1-hi.ma.p3.1>Ask-Bid)   {
      ObjectCreate("lo.1.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.1, t2.p3, lo.ma.p3.1);
      ObjectSet("lo.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p3",OBJPROP_RAY,false);
      ObjectSet("lo.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p3",DoubleToStr(lo.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.1, t2.p3, hi.ma.p3.1);
      ObjectSet("hi.1.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p3",OBJPROP_RAY,false);
      ObjectSet("hi.1.p3",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p3",DoubleToStr(hi.ma.p3.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p3, lo.2.p3)
   if(lo.ma.p3.2-hi.ma.p3.2>Ask-Bid)   {
      ObjectCreate("lo.2.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.2, t2.p3, lo.ma.p3.2);
      ObjectSet("lo.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p3",OBJPROP_RAY,false);
      ObjectSet("lo.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p3",DoubleToStr(lo.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.2, t2.p3, hi.ma.p3.2);
      ObjectSet("hi.2.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p3",OBJPROP_RAY,false);
      ObjectSet("hi.2.p3",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p3",DoubleToStr(hi.ma.p3.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p3, lo.3.p3)
   if(lo.ma.p3.3-hi.ma.p3.3>Ask-Bid)   {
      ObjectCreate("lo.3.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.3, t2.p3, lo.ma.p3.3);
      ObjectSet("lo.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p3",OBJPROP_RAY,false);
      ObjectSet("lo.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p3",DoubleToStr(lo.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.3, t2.p3, hi.ma.p3.3);
      ObjectSet("hi.3.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p3",OBJPROP_RAY,false);
      ObjectSet("hi.3.p3",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p3",DoubleToStr(hi.ma.p3.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p3, lo.4.p3)
   if(lo.ma.p3.4-hi.ma.p3.4>Ask-Bid)   {
      ObjectCreate("lo.4.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.4, t2.p3, lo.ma.p3.4);
      ObjectSet("lo.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p3",OBJPROP_RAY,false);
      ObjectSet("lo.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p3",DoubleToStr(lo.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.4, t2.p3, hi.ma.p3.4);
      ObjectSet("hi.4.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p3",OBJPROP_RAY,false);
      ObjectSet("hi.4.p3",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p3",DoubleToStr(hi.ma.p3.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p3, lo.5.p3)
   if(lo.ma.p3.5-hi.ma.p3.5>Ask-Bid)   {
      ObjectCreate("lo.5.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.5, t2.p3, lo.ma.p3.5);
      ObjectSet("lo.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p3",OBJPROP_RAY,false);
      ObjectSet("lo.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p3",DoubleToStr(lo.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.5, t2.p3, hi.ma.p3.5);
      ObjectSet("hi.5.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p3",OBJPROP_RAY,false);
      ObjectSet("hi.5.p3",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p3",DoubleToStr(hi.ma.p3.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p3, lo.6.p3)
   if(lo.ma.p3.6-hi.ma.p3.6>Ask-Bid)   {
      ObjectCreate("lo.6.p3",OBJ_TREND,0,t1.p3, lo.ma.p3.6, t2.p3, lo.ma.p3.6);
      ObjectSet("lo.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p3",OBJPROP_RAY,false);
      ObjectSet("lo.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p3",DoubleToStr(lo.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p3",OBJ_TREND,0,t1.p3, hi.ma.p3.6, t2.p3, hi.ma.p3.6);
      ObjectSet("hi.6.p3",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p3",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p3",OBJPROP_RAY,false);
      ObjectSet("hi.6.p3",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p3",DoubleToStr(hi.ma.p3.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
//      ObjectCreate("ma1.p3",OBJ_TEXT,0,t1.p3,ma1.p3);//13 ma
      ObjectSetText("ma1.p3",space+DoubleToStr(ma1.p3,Digits),8,"Arial",White);

 //     ObjectCreate("ma2.p3",OBJ_TEXT,0,t1.p3,ma2.p3);//21 ma
      ObjectSetText("ma2.p3",space+DoubleToStr(ma2.p3,Digits),8,"Arial",White);

//      ObjectCreate("ma3.p3",OBJ_TEXT,0,t1.p3,ma3.p3);//34 ma
      if(Bid>ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p3) {ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p3 && Ask>=ma3.p3)  {
         ObjectSetText("ma3.p3",space+DoubleToStr(ma3.p3,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma4.p3",OBJ_TEXT,0,t1.p3,ma4.p3);//55 ma
      if(Bid>ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p3) {ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p3 && Ask>=ma4.p3)  {
         ObjectSetText("ma4.p3",space+DoubleToStr(ma4.p3,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma5.p3",OBJ_TEXT,0,t1.p3,ma5.p3);//89 ma
      if(Bid>ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Green);}
      if(Ask<ma5.p3) {ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p3 && Ask>=ma5.p3)  {
         ObjectSetText("ma5.p3",space+DoubleToStr(ma5.p3,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma6.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma6.p3,Digits));//144 ma
      if(Bid>ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Green);}
      if(Ask<ma6.p3) {ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p3 && Ask>=ma6.p3)  {
         ObjectSetText("ma6.p3",space+DoubleToStr(ma6.p3,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma7.p3",OBJ_TEXT,0,t1.p3,NormalizeDouble(ma7.p3,Digits));//233 ma
      if(Bid>ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Green);}
      if(Ask<ma7.p3) {ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p3 && Ask>=ma7.p3)  {
         ObjectSetText("ma7.p3",space+DoubleToStr(ma7.p3,Digits),8,"Arial",Yellow);}
}//end p3.Fib.Plot()

void p4.Fib.Plot()   {
//p4 dynamic fibo levels
   double lo.ma.p4,hi.ma.p4;
   lo.ma.p4=ma1.p4;
   if(ma2.p4<lo.ma.p4)  {lo.ma.p4=ma2.p4;}
   if(ma3.p4<lo.ma.p4)  {lo.ma.p4=ma3.p4;}
   if(ma4.p4<lo.ma.p4)  {lo.ma.p4=ma4.p4;}
   if(ma5.p4<lo.ma.p4)  {lo.ma.p4=ma5.p4;}
   if(ma6.p4<lo.ma.p4)  {lo.ma.p4=ma6.p4;}
   if(ma7.p4<lo.ma.p4)  {lo.ma.p4=ma7.p4;}
   lo.ma.p4=NormalizeDouble(lo.ma.p4+(fib.SR.shadow.1*Point),Digits);

   hi.ma.p4=ma7.p4;
   if(ma6.p4>hi.ma.p4)  {hi.ma.p4=ma6.p4;}
   if(ma5.p4>hi.ma.p4)  {hi.ma.p4=ma5.p4;}
   if(ma4.p4>hi.ma.p4)  {hi.ma.p4=ma4.p4;}
   if(ma3.p4>hi.ma.p4)  {hi.ma.p4=ma3.p4;}
   if(ma2.p4>hi.ma.p4)  {hi.ma.p4=ma2.p4;}
   if(ma1.p4>hi.ma.p4)  {hi.ma.p4=ma1.p4;}
   hi.ma.p4=NormalizeDouble(hi.ma.p4-(fib.SR.shadow.1*Point),Digits);

//p4 center dynamic fib placement
   if(lo.ma.p4-hi.ma.p4>Ask-Bid)   {
      ObjectCreate("lcf.p4",OBJ_TREND,0,t1.p4, lo.ma.p4, t2.p4, lo.ma.p4);
      ObjectSet("lcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("lcf.p4",OBJPROP_RAY,false);
      ObjectSet("lcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("lcf.p4",DoubleToStr(lo.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);

      ObjectCreate("hcf.p4",OBJ_TREND,0,t1.p4, hi.ma.p4, t2.p4, hi.ma.p4);
      ObjectSet("hcf.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hcf.p4",OBJPROP_WIDTH,2);
      ObjectSet("hcf.p4",OBJPROP_RAY,false);
      ObjectSet("hcf.p4",OBJPROP_COLOR,fib.SR.shadow.1.c);
      ObjectSetText("hcf.p4",DoubleToStr(hi.ma.p4,Digits),7,"Arial",fib.SR.shadow.1.c);   }

   double lo.ma.p4.1, lo.ma.p4.2, lo.ma.p4.3, lo.ma.p4.4, lo.ma.p4.5, lo.ma.p4.6;
   lo.ma.p4.1=lo.ma.p4+(fib.SR.shadow.2*Point);
   lo.ma.p4.2=lo.ma.p4.1+(fib.SR.shadow.3*Point);
   lo.ma.p4.3=lo.ma.p4.2+(fib.SR.shadow.4*Point);
   lo.ma.p4.4=lo.ma.p4.3+(fib.SR.shadow.5*Point);
   lo.ma.p4.5=lo.ma.p4.4+(fib.SR.shadow.6*Point);
   lo.ma.p4.6=lo.ma.p4.5+(fib.SR.shadow.7*Point);

   double hi.ma.p4.1, hi.ma.p4.2, hi.ma.p4.3, hi.ma.p4.4, hi.ma.p4.5, hi.ma.p4.6;
   hi.ma.p4.1=hi.ma.p4-(fib.SR.shadow.2*Point);
   hi.ma.p4.2=hi.ma.p4.1-(fib.SR.shadow.3*Point);
   hi.ma.p4.3=hi.ma.p4.2-(fib.SR.shadow.4*Point);
   hi.ma.p4.4=hi.ma.p4.3-(fib.SR.shadow.5*Point);
   hi.ma.p4.5=hi.ma.p4.4-(fib.SR.shadow.6*Point);
   hi.ma.p4.6=hi.ma.p4.5-(fib.SR.shadow.7*Point);

//p4 1st level (hi.1.p4, lo.1.p4)
   if(lo.ma.p4.1-hi.ma.p4.1>Ask-Bid)   {
      ObjectCreate("lo.1.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.1, t2.p4, lo.ma.p4.1);
      ObjectSet("lo.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.1.p4",OBJPROP_RAY,false);
      ObjectSet("lo.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("lo.1.p4",DoubleToStr(lo.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);

      ObjectCreate("hi.1.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.1, t2.p4, hi.ma.p4.1);
      ObjectSet("hi.1.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.1.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.1.p4",OBJPROP_RAY,false);
      ObjectSet("hi.1.p4",OBJPROP_COLOR,fib.SR.shadow.2.c);
      ObjectSetText("hi.1.p4",DoubleToStr(hi.ma.p4.1,Digits),7,"Arial",fib.SR.shadow.2.c);   }

// 2st level (hi.2.p4, lo.2.p4)
   if(lo.ma.p4.2-hi.ma.p4.2>Ask-Bid)   {
      ObjectCreate("lo.2.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.2, t2.p4, lo.ma.p4.2);
      ObjectSet("lo.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.2.p4",OBJPROP_RAY,false);
      ObjectSet("lo.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("lo.2.p4",DoubleToStr(lo.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);

      ObjectCreate("hi.2.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.2, t2.p4, hi.ma.p4.2);
      ObjectSet("hi.2.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.2.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.2.p4",OBJPROP_RAY,false);
      ObjectSet("hi.2.p4",OBJPROP_COLOR,fib.SR.shadow.3.c);
      ObjectSetText("hi.2.p4",DoubleToStr(hi.ma.p4.2,Digits),7,"Arial",fib.SR.shadow.3.c);   }

// 3rd level (hi.3.p4, lo.3.p4)
   if(lo.ma.p4.3-hi.ma.p4.3>Ask-Bid)   {
      ObjectCreate("lo.3.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.3, t2.p4, lo.ma.p4.3);
      ObjectSet("lo.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.3.p4",OBJPROP_RAY,false);
      ObjectSet("lo.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("lo.3.p4",DoubleToStr(lo.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);

      ObjectCreate("hi.3.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.3, t2.p4, hi.ma.p4.3);
      ObjectSet("hi.3.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.3.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.3.p4",OBJPROP_RAY,false);
      ObjectSet("hi.3.p4",OBJPROP_COLOR,fib.SR.shadow.4.c);
      ObjectSetText("hi.3.p4",DoubleToStr(hi.ma.p4.3,Digits),7,"Arial",fib.SR.shadow.4.c);   }

// 4th level (hi.4.p4, lo.4.p4)
   if(lo.ma.p4.4-hi.ma.p4.4>Ask-Bid)   {
      ObjectCreate("lo.4.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.4, t2.p4, lo.ma.p4.4);
      ObjectSet("lo.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.4.p4",OBJPROP_RAY,false);
      ObjectSet("lo.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("lo.4.p4",DoubleToStr(lo.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);

      ObjectCreate("hi.4.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.4, t2.p4, hi.ma.p4.4);
      ObjectSet("hi.4.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.4.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.4.p4",OBJPROP_RAY,false);
      ObjectSet("hi.4.p4",OBJPROP_COLOR,fib.SR.shadow.5.c);
      ObjectSetText("hi.4.p4",DoubleToStr(hi.ma.p4.4,Digits),7,"Arial",fib.SR.shadow.5.c);   }

// 5th level (hi.5.p4, lo.5.p4)
   if(lo.ma.p4.5-hi.ma.p4.5>Ask-Bid)   {
      ObjectCreate("lo.5.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.5, t2.p4, lo.ma.p4.5);
      ObjectSet("lo.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.5.p4",OBJPROP_RAY,false);
      ObjectSet("lo.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("lo.5.p4",DoubleToStr(lo.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);

      ObjectCreate("hi.5.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.5, t2.p4, hi.ma.p4.5);
      ObjectSet("hi.5.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.5.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.5.p4",OBJPROP_RAY,false);
      ObjectSet("hi.5.p4",OBJPROP_COLOR,fib.SR.shadow.6.c);
      ObjectSetText("hi.5.p4",DoubleToStr(hi.ma.p4.5,Digits),7,"Arial",fib.SR.shadow.6.c);   }

// 6th level (hi.6.p4, lo.6.p4)
   if(lo.ma.p4.6-hi.ma.p4.6>Ask-Bid)   {
      ObjectCreate("lo.6.p4",OBJ_TREND,0,t1.p4, lo.ma.p4.6, t2.p4, lo.ma.p4.6);
      ObjectSet("lo.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("lo.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("lo.6.p4",OBJPROP_RAY,false);
      ObjectSet("lo.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("lo.6.p4",DoubleToStr(lo.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);

      ObjectCreate("hi.6.p4",OBJ_TREND,0,t1.p4, hi.ma.p4.6, t2.p4, hi.ma.p4.6);
      ObjectSet("hi.6.p4",OBJPROP_STYLE,STYLE_SOLID);
      ObjectSet("hi.6.p4",OBJPROP_WIDTH,2);
      ObjectSet("hi.6.p4",OBJPROP_RAY,false);
      ObjectSet("hi.6.p4",OBJPROP_COLOR,fib.SR.shadow.7.c);
      ObjectSetText("hi.6.p4",DoubleToStr(hi.ma.p4.6,Digits),7,"Arial",fib.SR.shadow.7.c);   }
//...............Moving Average Support & Resistance Levels..............................
   string space="             ";
 //     ObjectCreate("ma1.p4",OBJ_TEXT,0,t1.p4,ma1.p4);//13 ma
      ObjectSetText("ma1.p4",space+DoubleToStr(ma1.p4,Digits),8,"Arial",White);

 //     ObjectCreate("ma2.p4",OBJ_TEXT,0,t1.p4,ma2.p4);//21 ma
      ObjectSetText("ma2.p4",space+DoubleToStr(ma2.p4,Digits),8,"Arial",White);

 //     ObjectCreate("ma3.p4",OBJ_TEXT,0,t1.p4,ma3.p4);//34 ma
      if(Bid>ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma3.p4) {ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma3.p4 && Ask>=ma3.p4)  {
         ObjectSetText("ma3.p4",space+DoubleToStr(ma3.p4,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma4.p4",OBJ_TEXT,0,t1.p4,ma4.p4);//55 ma
      if(Bid>ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",LightGreen);}
      if(Ask<ma4.p4) {ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Pink);}
      if(Bid<=ma4.p4 && Ask>=ma4.p4)  {
         ObjectSetText("ma4.p4",space+DoubleToStr(ma4.p4,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma5.p4",OBJ_TEXT,0,t1.p4,ma5.p4);//89 ma
      if(Bid>ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Green);}
      if(Ask<ma5.p4) {ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma5.p4 && Ask>=ma5.p4)  {
         ObjectSetText("ma5.p4",space+DoubleToStr(ma5.p4,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma6.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma6.p4,Digits));//144 ma
      if(Bid>ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Green);}
      if(Ask<ma6.p4) {ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma6.p4 && Ask>=ma6.p4)  {
         ObjectSetText("ma6.p4",space+DoubleToStr(ma6.p4,Digits),8,"Arial",Yellow);}

//      ObjectCreate("ma7.p4",OBJ_TEXT,0,t1.p4,NormalizeDouble(ma7.p4,Digits));//233 ma
      if(Bid>ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Green);}
      if(Ask<ma7.p4) {ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Red);}
      if(Bid<=ma7.p4 && Ask>=ma7.p4)  {
         ObjectSetText("ma7.p4",space+DoubleToStr(ma7.p4,Digits),8,"Arial",Yellow);}
}//end p4.Fib.Plot()
void column()  {
//..................Time Frame Columns.................................................
//Addition - uses Psar of that timeframe to colour the lanes
//Dull red-green psars are not with you
//brighter red-green psar in your favour

// because Psar appears with the new bar I thing i can use Bar 0
// for faster notification.

      string column.down, column.up;
      column.down=Bid+" "; column.up=Ask+" ";
         //1st Column
         if(iBullsPower(NULL,p1.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p1.ma,5,PRICE_CLOSE,0)>0)// no equals for 1 min its sensitive
         {
         if(iSAR(NULL,p1.ma,0.02,0.2,0)<Ask)
         {
        // if(tmb1<Ask)
       //  {
         ObjectCreate(column.up+p1.ma,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
         ObjectSet(column.up+p1.ma,OBJPROP_COLOR,LimeGreen);
         }
         }
       //  }
         else
               {
               ObjectCreate(column.up+p1.ma,OBJ_RECTANGLE,0,t1.p1,Ask,t2.p1,Ask*1.5);
               ObjectSet(column.up+p1.ma,OBJPROP_COLOR,Black);
               }

         if(iBullsPower(NULL,p1.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p1.ma,5,PRICE_CLOSE,0)<0)// no equals for 1 min its sensitive
         {
         if(iSAR(NULL,p1.ma,0.02,0.2,0)>Bid)
         {
       //  if(tmr1>Ask)
       //  {
         ObjectCreate(column.down+p1.ma,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
         ObjectSet(column.down+p1.ma,OBJPROP_COLOR,Red);
         }
         }
      //   }
         else
             {
             ObjectCreate(column.down+p1.ma,OBJ_RECTANGLE,0,t1.p1,Bid,t2.p1,0);
             ObjectSet(column.down+p1.ma,OBJPROP_COLOR,Black);
             }
         //2nd Column
         if(iBullsPower(NULL,p2.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p2.ma,5,PRICE_CLOSE,0)>0)
         {
         if(iSAR(NULL,p2.ma,0.02,0.2,0)<=Ask)
         {
       ///  if(tmb2<Ask)
       //  {
         ObjectCreate(column.up+p2.ma,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
         ObjectSet(column.up+p2.ma,OBJPROP_COLOR,LimeGreen);
         }
         }
      //   }
               else
               {
               ObjectCreate(column.up+p2.ma,OBJ_RECTANGLE,0,t1.p2,Ask,t2.p2,Ask*1.5);
               ObjectSet(column.up+p2.ma,OBJPROP_COLOR,Black);
               }
         if(iBullsPower(NULL,p2.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p2.ma,5,PRICE_CLOSE,0)<0)
         {
         if(iSAR(NULL,p2.ma,0.02,0.2,0)>=Bid)
         {
      //   if(tmr2>Ask)
      //   {
         ObjectCreate(column.down+p2.ma,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
         ObjectSet(column.down+p2.ma,OBJPROP_COLOR,Red);
         }
         }
      //   }
               else
               {
               ObjectCreate(column.down+p2.ma,OBJ_RECTANGLE,0,t1.p2,0,t2.p2,Bid);
               ObjectSet(column.down+p2.ma,OBJPROP_COLOR,Black);
               }
         //3rd Column
         if(iBullsPower(NULL,p3.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p3.ma,5,PRICE_CLOSE,0)>0)
         {
         if(iSAR(NULL,p3.ma,0.02,0.2,0)<=Ask)
         {
     //    if(tmb3<Ask)
     //    {
         ObjectCreate(column.up+p3.ma,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
         ObjectSet(column.up+p3.ma,OBJPROP_COLOR,LimeGreen);
         }
         }
     //    }
               else
               {
               ObjectCreate(column.up+p3.ma,OBJ_RECTANGLE,0,t1.p3,Ask,t2.p3,Ask*1.5);
               ObjectSet(column.up+p3.ma,OBJPROP_COLOR,Black);
               }
         if(iBullsPower(NULL,p3.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p3.ma,5,PRICE_CLOSE,0)<0)
         {
         if(iSAR(NULL,p3.ma,0.02,0.2,0)>=Bid)
         {
     //    if(tmr3>Ask)
    //     {
          ObjectCreate(column.down+p3.ma,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
          ObjectSet(column.down+p3.ma,OBJPROP_COLOR,Red);
         }
         }
    //     }
               else
               {
               ObjectCreate(column.down+p3.ma,OBJ_RECTANGLE,0,t1.p3,Bid,t2.p3,0);
               ObjectSet(column.down+p3.ma,OBJPROP_COLOR,Black);
               }
         //4th column

         if(iBullsPower(NULL,p4.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p4.ma,5,PRICE_CLOSE,0)>0)
         {
         if(iSAR(NULL,p4.ma,0.02,0.2,0)<=Ask)
         {
    //     if(tmb4<Ask)
    //     {
         ObjectCreate(column.up+p4.ma,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
         ObjectSet(column.up+p4.ma,OBJPROP_COLOR,LimeGreen);
         }
         }
   //      }
               else
               {
               ObjectCreate(column.up+p4.ma,OBJ_RECTANGLE,0,t1.p4,Ask,t2.p4,Ask*1.5);
               ObjectSet(column.up+p4.ma,OBJPROP_COLOR,Black);
               }
        if(iBullsPower(NULL,p4.ma,5,PRICE_CLOSE,0)+ iBearsPower(NULL,p4.ma,5,PRICE_CLOSE,0)<0)
         {
        if(iSAR(NULL,p4.ma,0.02,0.2,0)>=Bid)
         {
   //      if(tmr4>Ask)
   //      {
         ObjectCreate(column.down+p4.ma,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
         ObjectSet(column.down+p4.ma,OBJPROP_COLOR,Red);
         }
         }
   //      }
               else
               {
               ObjectCreate(column.down+p4.ma,OBJ_RECTANGLE,0,t1.p4,Bid,t2.p4,0);
               ObjectSet(column.down+p4.ma,OBJPROP_COLOR,Black);
               }

         }//end Columns

//---- done

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BTtrend Trigger.mq4

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LightSeaGreen
#property indicator_color2 Red
//---- input parameters
extern int TTFbars=15;
//15=default number of bars for computation
extern int TopLine=50;
extern int BottomLine=-50;
extern int t3_period=5;
extern double b=0.7;
//---- buffers
double MainBuffer[];
double SignalBuffer[];
//----
int draw_begin1=0;
int draw_begin2=0;
double b2=0;
double b3=0;
double c1=0;
double c2=0;
double c3=0;
double c4=0;
double r=0;
double w1=0;
double w2=0;
double e1 = 0;
double e2 = 0;
double e3 = 0;
double e4 = 0;
double e5 = 0;
double e6 = 0;
double  HighestHighRecent=0;
double  HighestHighOlder =0;
double  LowestLowRecent =0;
double  LowestLowOlder =0;
double  BuyPower =0;
double  SellPower=0;
double  TTF=0;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(2);
//---- indicator lines
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0, MainBuffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1, SignalBuffer);
//---- name for DataWindow and indicator subwindow label
   short_name="TTF("+TTFbars;
   IndicatorShortName(short_name);
   SetIndexLabel(0,short_name);
   SetIndexLabel(1,"Signal");
//----
   draw_begin1=TTFbars*2+1;
   draw_begin2=draw_begin1;
   SetIndexDrawBegin(0,draw_begin1);
   SetIndexDrawBegin(1,draw_begin2);

   b2=b*b;
   b3=b2*b;
   c1=-b3;
   c2=(3*(b2+b3));
   c3=-3*(2*b2+b+b3);
   c4=(1+3*b+b3+3*b2);

   r=t3_period;

   if (r<1) r=1;
   r = 1 + 0.5*(r-1);
   w1 = 2 / (r + 1);
   w2 = 1 - w1;

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| ttf                                            |
//+------------------------------------------------------------------+
int start()
  {
   int    i,k;
   int    counted_bars=IndicatorCounted();
   double price;
//----
   if(Bars<=draw_begin2) return(0);
//---- initial zero
   if(counted_bars<1)
     {
      for(i=1;i<=draw_begin1;i++) MainBuffer[Bars-i]=0;
      for(i=1;i<=draw_begin2;i++) SignalBuffer[Bars-i]=0;
     }
//---- %K line
   i=Bars-draw_begin1;
   if(counted_bars>draw_begin1) i=Bars-counted_bars-1;
   while(i>=0)
     {
  HighestHighRecent=High[Highest(NULL,0,MODE_HIGH,TTFbars,i)];//High[Highest(MODE_HIGH,shift+TTFbars-1,TTFbars)];
  HighestHighOlder =High[Highest(NULL,0,MODE_HIGH,TTFbars,i+TTFbars)];//High[Highest(MODE_HIGH,shift+TTFbars*2-1,TTFbars)];
  LowestLowRecent =Low[Lowest(NULL,0,MODE_LOW,TTFbars,i)];//Low [Lowest (MODE_LOW ,shift+TTFbars-1,TTFbars)];
  LowestLowOlder =Low[Lowest(NULL,0,MODE_LOW,TTFbars,i+TTFbars)];//Low [Lowest (MODE_LOW ,shift+TTFbars*2-1,TTFbars)];
  BuyPower =HighestHighRecent-LowestLowOlder;
  SellPower=HighestHighOlder -LowestLowRecent;
  TTF=(BuyPower-SellPower)/(0.5*(BuyPower+SellPower))*100;

  e1 = w1*TTF + w2*e1;
  e2 = w1*e1 + w2*e2;
  e3 = w1*e2 + w2*e3;
  e4 = w1*e3 + w2*e4;
  e5 = w1*e4 + w2*e5;
  e6 = w1*e5 + w2*e6;

  TTF = c1*e6 + c2*e5 + c3*e4 + c4*e3;

  MainBuffer[i]=TTF;
  i--;
 }
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   int limit=Bars-counted_bars;
//---- signal line is simple movimg average
   for(i=0; i<limit; i++) {
      if (MainBuffer[i]>=0)
         SignalBuffer[i]=TopLine;
      else
         SignalBuffer[i]=BottomLine;
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BT2Stop.mq4

//+-----------------------------------------------------------------------+
//|                                                   BrainTrend1Stop.mq4 |
//|                                   Copyright ? 2005. Alejandro Galindo |
//|                                                   http://elCactus.com |
//+-----------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

//---- input parameters
extern int AveragePeriod=10;
extern int Reg=1;

//---- buffers
double Buffer1[];
double Buffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexBuffer(0,Buffer1);
   SetIndexBuffer(1,Buffer2);
   SetIndexArrow(0,159);
   SetIndexArrow(1,159);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| BrainTrend1Stop                                                  |
//+------------------------------------------------------------------+
int start()
  {

   int i,shift,counted_bars=IndicatorCounted();
   double value=0, price=0, trend=0, dK=0, AvgRange=0, WATR=0;
   int bar=0;
   int CountBars=500;
   if (CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars+11+1);
   SetIndexDrawBegin(1,Bars-CountBars+11+1);

//---- initial zero
   AvgRange=0;
   for (i=1;i<=AveragePeriod;i++)
   {
      dK = 1+(AveragePeriod-i)/AveragePeriod;
      AvgRange=AvgRange+ dK*MathAbs(High[i]-Low[i]);
   }
   if (Point>=0.01) { WATR = (AvgRange/AveragePeriod)*Point; }
   else { WATR = AvgRange/AveragePeriod; }

   if (Close[Bars-1] > Open[Bars-1])
   {
      value = Close[Bars - 1] * (1 - WATR);
      trend = 1;
      Buffer2[Bars-1]=value;
   }
   if (Close[Bars-1] < Open[Bars-1])
   {
      value = Close[Bars - 1] * (1 + WATR);
      trend = -1;
      Buffer1[Bars-1]=value;
   }

   bar=CountBars-11-1;
   while(bar>=0)
   {

   Buffer1[shift]=0;
   Buffer2[shift]=0;

   if (Reg==2)
   {
      AvgRange=0;
      for (i=1;i<=AveragePeriod;i++)
      {
         dK = 1+(AveragePeriod-i)/AveragePeriod;
         AvgRange=AvgRange+ dK*MathAbs(High[bar + i]-Low[bar + i]);
      }
      if (Point>=0.01) { WATR = (AvgRange/AveragePeriod)*Point; }
      else { WATR = AvgRange/AveragePeriod; }

   }

   if (trend >= 0)
   {
      if (Close[bar] > price) { price = Close[bar]; }
      value = price * (1 - WATR);
      if (Close[bar] < value)
      {
          price = Close[bar];
          value = price * (1 + WATR);
          trend = -1;
       }
    } else {
      if (trend <= 0) {
         if (Close[bar] < price) { price = Close[bar]; }
         value = price * (1 + WATR);
         if (Close[bar] > value)
         {
             price = Close[bar];
            value = price * (1 - WATR);
            trend = 1;
         }
      }
    }

   if (trend == -1) { Buffer1[bar]=value; }
   if (trend == 1) { Buffer2[bar]=value; }
//----

   bar--;
   }
   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BT2Sig.mq4

//+-----------------------------------------------------------------------+
//|                                                    BrainTrend2Sig.mq4 |
//|                                   Copyright ? 2005. Alejandro Galindo |
//|                                                   http://elCactus.com |
//|         ASCTrend1 modified to generate similar signals to BrainTrend1 |
//|           	Author := C0Rpus - big thanks CHANGE2002, STEPAN and SERSH |
//|	                                 Notes := ASCTrend1 3.0 Open Source |
//+-----------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red

//---- input parameters
extern int RISK=3;
extern int CountBars=500;

//---- buffers
double Buffer1[];
double Buffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW,0,1);
   SetIndexStyle(1,DRAW_ARROW,0,1);
   SetIndexBuffer(0,Buffer1);
   SetIndexBuffer(1,Buffer2);
   SetIndexArrow(0,108);
   SetIndexArrow(1,108);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| ASCTrend1                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int i,shift,counted_bars=IndicatorCounted();
   //int Counter,i1,value10,value11;
   //double value1,x1,x2;
   //double value2,value3;
   //double TrueCount,Range,AvgRange,MRO1,MRO2;
   double BT1=0, BT2=0, BT3=0, BT4=0;
   if (CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars+11+1);
   SetIndexDrawBegin(1,Bars-CountBars+11+1);

//---- initial zero
//----
   shift=CountBars-11-1;
   while(shift>=0)
     {
         Buffer1[shift]=0;
         Buffer2[shift]=0;
         BT1=iCustom(NULL,0,"BrainTrend2Stop",10,0,shift);
         BT2=iCustom(NULL,0,"BrainTrend2Stop",10,0,shift+1);
         BT3=iCustom(NULL,0,"BrainTrend2Stop",10,1,shift);
         BT4=iCustom(NULL,0,"BrainTrend2Stop",10,1,shift+1);
         if (BT1 && !BT2) { Buffer2[shift]=BT1; }
         if (BT3 && !BT4) { Buffer1[shift]=BT3; }

      shift--;
     }

   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BT1.mq4

//+-----------------------------------------------------------------------+
//|                                                       BrainTrend1.mq4 |
//|                                   Copyright ? 2005. Alejandro Galindo |
//|                                                   http://elCactus.com |
//|         ASCTrend1 modified to generate similar signals to BrainTrend1 |
//|           	Author := C0Rpus - big thanks CHANGE2002, STEPAN and SERSH |
//|	                                 Notes := ASCTrend1 3.0 Open Source |
//+-----------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue

//---- input parameters
extern int RISK=3;
extern int CountBars=500;

//---- buffers
double Buffer1[];
double Buffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1);
   SetIndexBuffer(0,Buffer1);
   SetIndexBuffer(1,Buffer2);

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| ASCTrend1                                                  |
//+------------------------------------------------------------------+
int start()
  {
   if (CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars+11+1);
   SetIndexDrawBegin(1,Bars-CountBars+11+1);
   int i,shift,counted_bars=IndicatorCounted();
   int Counter,i1,value10,value11;
   double value1,x1,x2;
   double value2,value3;
   double TrueCount,Range,AvgRange,MRO1,MRO2;

   value10=3+RISK*2;
   x1=67+RISK;
   x2=33-RISK;
   value11=value10;
//----
   if(Bars<=value11+1) return(0);
//---- initial zero
   if(counted_bars<value11+1)
   {
      for(i=1;i<=0;i++) Buffer1[CountBars-i]=0.0;
      for(i=1;i<=0;i++) Buffer2[CountBars-i]=0.0;
   }
//----
   shift=CountBars-11-1;
   while(shift>=0)
     {

   Counter=shift;
	Range=0.0;
	AvgRange=0.0;
	for (Counter=shift; Counter<=shift+9; Counter++) AvgRange=AvgRange+MathAbs(High[Counter]-Low[Counter]);

	Range=AvgRange/10;
	Counter=shift;
	TrueCount=0;
	while (Counter<shift+9 && TrueCount<1)
		{if (MathAbs(Open[Counter]-Close[Counter+1])>=Range*2.0) TrueCount=TrueCount+1;
		Counter=Counter+1;
		}
	if (TrueCount>=1) {MRO1=Counter;} else {MRO1=-1;}
	Counter=shift;
	TrueCount=0;
	while (Counter<shift+6 && TrueCount<1)
		{if (MathAbs(Close[Counter+3]-Close[Counter])>=Range*4.6) TrueCount=TrueCount+1;
		Counter=Counter+1;
		}
	if (TrueCount>=1) {MRO2=Counter;} else {MRO2=-1;}
	if (MRO1>-1) {value11=3;} else {value11=value10;}
	if (MRO2>-1) {value11=4;} else {value11=value10;}
	value2=100-MathAbs(iWPR(NULL,0,value11,shift)); // PercentR(value11=9)
   Buffer1[shift]=0;
	Buffer2[shift]=0;
	if (value2>x1)
		{
		Buffer1[shift]=Low[shift]; Buffer2[shift]=High[shift];
		}
	if (value2<x2)
		{
		Buffer1[shift]=High[shift]; Buffer2[shift]=Low[shift];
		}

      shift--;
     }

   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

BrainTrendALP2.mq4

//+------------------------------------------------------------------+
//|                                                  BrainTrend2.mq4 |
//|                                                BrainTrading Inc. |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "BrainTrading Inc."
#property link      ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int       NumBars=5000;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexBuffer(1,ExtMapBuffer2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----

double    artp=7;
double    cecf=0.7;
int     satb=0;
int    Shift=0;
double    river=True;
double    Emaxtra=0;
double    widcha=0;
double    TR=0;
double    Values[100];
int    glava=0;
double    ATR=0;
int   J=0;
double    Weight=0;
double    r=0;
double    r1=0;
double    p=0;
int    Curr=0;
double    Range1=0;
double    s=2;
double    f=10;
double    val1=0;
double    val2=0;
double    h11=0;
double    h12=0;
double    h13=0;
double    const=0;
double    orig=0;
double    st=0;
double    h2=0;
double    h1=0;
double    h10=0;
double    sxs=0;
double    sms=0;
double    temp=0;
double    h5=0;
double    r1s=0;
double    r2s=0;
double    r3s=0;
double    r4s=0;
double    pt=0;
double    pts=0;
double    r2=0;
double    r3=0;
double    r4=0;
double    tt=0;

st=1;
if( st == 1)
   {
   if( Bars < NumBars) satb = Bars; else satb = NumBars;
   if( Close[satb - 2] > Close[satb - 1]) river = True; else river = False;
   Emaxtra = Close[satb - 2];
  Shift=satb-3;

   while(Shift>=0)

      {
      TR = High[Shift] - Low[Shift];
      if( MathAbs(High[Shift] - Close[Shift + 1]) > TR ) TR = MathAbs(High[Shift] - Close[Shift + 1]);
      if( MathAbs(Low[Shift] - Close[Shift + 1]) > TR)  TR = MathAbs(Low[Shift] - Close[Shift + 1]);
      if (Shift == satb - 3 )
         {
         for(J=0;Shift==artp-1;Shift++)

         { Values[J] = TR; }
         }

 Values[glava] = TR;
      ATR = 0;
      Weight = artp;
      Curr = glava;
      for (J = 0;J== artp - 1;J++)
         {
         ATR += Values[Curr] * Weight;
         Weight -= 1;
         Curr -= 1;
         if (Curr == -1) Curr = artp - 1;
         }
      ATR = 2 * ATR / (artp * (artp + 1));
      glava += 1;
      if (glava == artp) glava = 0;
      widcha = cecf * ATR;
      if (river && Low[Shift] < Emaxtra - widcha)
         {
         river = False;
         Emaxtra = High[Shift];
         }
      if (river && High[Shift] < Emaxtra + widcha)
         {
         river = True;
         Emaxtra = Low[Shift];
         }
      if (river && Low[Shift] > Emaxtra)
         {
         Emaxtra = Low[Shift];
         }
      if (river && High[Shift] < Emaxtra )
         {
         Emaxtra = High[Shift];
         }
      Range1 = iATR(NULL,0,10,Shift);
      if( river==true )
               {
         val1 = High[Shift];
         val2 = Low[Shift];
         }
            else
         {
         val1 = Low[Shift];
         val2 = High[Shift];
         }
       ExtMapBuffer1[Shift]=val1;
       ExtMapBuffer2[Shift]=val1;
     Shift--;
      }
   }

//----
   return(0);
  }
//+------------------------------------------------------------------+

[Post to Twitter] Tweet This Post  [Post to Delicious] Delicious This Post  [Post to Ping.fm] Ping This Post  [Post to StumbleUpon] Stumble This Post 

 Page 1 of 5  1  2  3  4  5 »

Tweet This Post links powered by Tweet This v1.3.9, a WordPress plugin for Twitter.