Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

quadra safe indicator for Amibroker (AFL)
vinay
over 11 years ago
Amibroker (AFL)

Rating:
2 / 5 (Votes 3)
Tags:
trading system, amibroker, exploration

A great positional indicator by mr. savant & anant for the positional system.

Link: http://www.traderji.com/technical-analysis/68719-quadra-safe-trading-strategy-i-144.html

Similar Indicators / Formulas

20 Day High Breakout
Submitted by ashokram1 over 12 years ago
Range Constriction
Submitted by davidh over 12 years ago
BULLISH SCAN
Submitted by moon almost 11 years ago
Three Line Net Bar And Tendency
Submitted by moapereira over 13 years ago
2 Day RSI filter/buy
Submitted by davemmm almost 14 years ago
Hilbert study
Submitted by realkaka almost 14 years ago

Indicator / Formula

Copy & Paste Friendly
/****************************/
/*                          */
/*  Quadra Trading System   */
/*       Version 1.30       */
/*     (11 August 2012)     */
/*                          */
/****************************/



SetChartOptions(0, chartShowDates | chartWrapTitle);


/**********************/
/*                    */
/* Define Wilder's MA */
/*                    */
/**********************/

function WilderMA(Field, Period)
	{
		X[0] = Field[0];
		
		for(i = 1; i < BarCount; i++)
			{
				X[i] = Field[i]/Period + X[i - 1] * (Period - 1)/Period;
			}
		return X;
	}

/**********************/
/*                    */
/*     Define EMA     */
/*                    */
/**********************/

function MyEMA(Field, Period)
	{
		Y[0] = Field[0];
		for(i = 1; i < BarCount; i++)
			{
				Y[i] = (Field[i] - Y[i - 1]) * 2/(Period + 1) + Y[i - 1];
			}
		return Y;
	}


/********************/
/*                  */
/*   Wilder's MAs   */
/*                  */
/********************/

A1 = WilderMA(C, 5);
A2 = WilderMA(C, 8);
A3 = WilderMA(C, 13);
A4 = MyEMA(C, 50);

/********************/
/*                  */
/*   Candle Color   */
/*                  */
/********************/


Green = C > O;
Red = C < O;

for(i = 1; i<BarCount; i++)
	{
		if(C[i] == O[i])
			{
				if(Green[i - 1] AND C[i] >= C[i - 1]) Green[i] = 1;
				if(Red[i - 1] AND C[i] <= C[i - 1]) Red[i] = 1;
			}
	}



/********************/
/*                  */
/*    COMPUTE SL    */
/*                  */
/********************/


PrevHi = H;
PrevLo = L;
SLBuy = Null;
SLShort = Null;
GUp = GapUp();
GDn = GapDown();

for(i = 2; i < BarCount; i++)
	{
		PrevLo[i] = PrevLo[i - 1];

		if(L[i - 2] >= L[i - 1] AND L[i - 1] <= L[i])
			{
				PrevLo[i] = L[i - 1];
			}

		PrevHi[i] = PrevHi[i - 1];
		if(H[i - 2] <= H[i - 1] AND H[i - 1] >= H[i])
			{
				PrevHi[i] = H[i - 1];
			}

	}

/********************/
/*                  */
/*     BUY/SELL     */
/*                  */
/********************/


Buy = (A1 > A2 AND A2 > A3);
Sell =(A1 < A2 AND A2 < A3);

Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);

Bought = Flip(Buy, Sell);
Sold = Flip(Sell, Buy);

for(i = 1; i <BarCount; i++)
	{
		SLShort[i] = Min(PrevHi[i], PrevHi[i - 1]) + 0.1;
		if(GDn[i]) SLShort[i] = L[i - 1] + 0.1;
		if(Sell[i]) break;
	}
for(i = 1; i <BarCount; i++)
	{
		SLBuy[i] = Max(PrevLo[i], PrevLo[i - 1]) - 0.1;
		if(GUp[i]) SLBuy[i] = H[i - 1] - 0.1;
		if(Buy[i]) break;
	}

for(i = 1; i < BarCount; i++)
	{
		if(Buy[i]) SLBuy[i] = PrevLo[i - 1] - 0.1;
		if(Bought[i]) SLBuy[i] = Max(SLBuy[i - 1], PrevLo[i] - 0.1);
		if(GUp[i]) SLBuy[i] = H[i - 1] - 0.1;

		if(Sell[i]) SLShort[i] = PrevHi[i - 1] + 0.1;
		if(Sold[i]) SLShort[i] = Min(PrevHi[i - 1], PrevHi[i]) + 0.1;
		if(GDn[i]) SLShort[i] = L[i - 1] + 0.1;
	}
for(i = 1; i<BarCount; i++)
	{
		if(SLShort[i] > SLShort[i - 1]) SLShort[i] = SLShort[i - 1];
	}



Marker1 = Buy * shapeUpArrow + Sell * shapeDownArrow;
MarkerColor = IIf(Buy, colorBrightGreen, colorYellow);
Marker1Dist = IIf(Buy, 0.995 * L, 1.005 * H);
EMA_Position = IIf(A4 > A3 AND A4 > A2 AND A4 > A1, 1, IIf(A4 < A3 AND A4 < A2 AND A4 < A1, -1, 0));


/***********************/
/*                     */
/*   SHOW/HIDE Option  */
/*                     */
/***********************/

Arrows = ParamToggle("Show Arrows", "NO|YES");
ShowTSL= ParamToggle("Show TSL Line", "NO|YES");

_N(Title = EncodeColor(colorAqua) + "QUADRA EOD TRADING SYSTEM by Savant Garde; AFL Version 1.30 by Anant Navale\n\n" 
          + EncodeColor(colorPink)  + StrFormat("{{NAME}}({{INTERVAL}}), {{DATE}} : {{OHLCX}}, Vol=%1.0f\n{{VALUES}}\n", V)
			 + "EMA50 location: " + EncodeColor(colorBrightGreen) + WriteIf(EMA_Position > 0, "Above,     ", "")
			 + EncodeColor(colorLightGrey) + WriteIf(EMA_Position == 0, "Inside,     ", "")
			 + EncodeColor(colorRed) + WriteIf(EMA_Position < 0, "Below,     ", "")
			 + EncodeColor(colorBrightGreen) + WriteIf(Green, " Green Candle", "") 
			 + EncodeColor(colorRed) + WriteIf(Red, " RedCandle\n\n", "\n\n")
			 + EncodeColor(colorWhite) + WriteIf(Buy, "Buy Above " + (H + 0.1), "") 
			 + WriteIf(Sell, "Sell Below " + (L - 0.1), "")
			 + WriteIf(Buy, "   StopLoss = " + SLBuy, "") 
			 + WriteIf(Sell, "   StopLoss = " + SLShort, ""));

if(Status("action") == actionIndicator)
	{
		Plot(A4, "EMA50", colorLightGrey, styleLine | styleThick);
		Plot(A3, "Wilder MA13", colorRed, styleLine);
		Plot(A2, "Wilder MA8", colorLightOrange, styleLine);
		Plot(A1, "Wilder MA5", colorBrightGreen, styleLine);

		if(ShowTSL)
			{
				Plot(SLBuy, "SL for Buy", colorLightBlue, styleDots);
				Plot(SLShort, "SL for Short", colorGold, styleDots);
			}

		Plot(C, "", IIf(Green, colorGreen, IIf(Red, colorRed, colorGrey50)), styleCandle);

		if(Arrows)
			{
				PlotShapes(Marker1, MarkerColor, 0, MArker1Dist);
			}
	}

if(Status("action") == actionExplore)
	{
		Filter = Buy | Sell;
					
		SetOption("NoDefaultColumns", True);
		AddTextColumn(Name(), "SYMBOL");
		AddColumn(DateTime(), "DATE", formatDateTime);
		AddColumn(IIf(Buy, 66, 83), "TRIGGER", formatChar, colorWhite, IIf(Buy, colorGreen, colorRed));
		AddColumn(EMA_Position, "EMA Position",1.0);
		AddColumn(IIf(Buy, H + 0.1, L - 0.1), "TRIG PRICE", 1.2);
		AddColumn(IIf(Buy, SLBuy, SLShort), "Stop Loss", 1.2);
		AddColumn(C, "Last Close", 1.2);
	}

1 comments

1. kananwisha

Nice share :)

Thank you !!!

Leave Comment

Please login here to leave a comment.

Back