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

Supertrend for Amibroker (AFL)

Rating:
3 / 5 (Votes 6)
Tags:
amibroker

Supertrend translated from Kolier MQ4, see: http://kolier.li/indicator/kolier-supertrend-indi

many supertrend indicators out there. Here is a nice one. You can toggle between trend mode on/off using the parameter window.

Screenshots

Similar Indicators / Formulas

Kavach Of Karna v2
Submitted by hbkwarez over 10 years ago
Advanced Elliott Waves
Submitted by MarcosEn almost 13 years ago
3_6Day GuaiLiLv
Submitted by motorfly almost 13 years ago
Williams Alligator System
Submitted by durgesh1712 about 13 years ago
Interactive Linear Regression Channel
Submitted by InternetWorm almost 13 years ago
*Level Breakout system*
Submitted by Tinych about 13 years ago

Indicator / Formula

Copy & Paste Friendly
// Supertrend - Translated from Kolier MQ4
// see: http://kolier.li/indicator/kolier-supertrend-indi
// translation in Amibroker AFL code by E.M.Pottasch, 2011

procedure calcTrend_proc(ATR_Period,tr,ATR_Multiplier,TrendMode,CalcPrice)
{
global buffer_line_down;
global buffer_line_up;
buffer_line_down = Null;
buffer_line_up = Null;

PHASE_NONE = 0;
PHASE_BUY = 1;
PHASE_SELL = -1;

phase=PHASE_NONE;
band_upper = 0;band_lower = 0;
  
for(i = ATR_Period + 1; i < BarCount; i++)
{
	band_upper = CalcPrice[i] + ATR_Multiplier * tr[i];
	band_lower = CalcPrice[i] - ATR_Multiplier * tr[i];
	
	if(phase==PHASE_NONE)
	{
		buffer_line_up[i] = CalcPrice[i];
		buffer_line_down[i] = CalcPrice[i];
	}
	if(phase!=PHASE_BUY && Close[i]>buffer_line_down[i-1] && !IsEmpty(buffer_line_down[i-1])) 
	{
		phase = PHASE_BUY;
		buffer_line_up[i] = band_lower;
		buffer_line_up[i-1] = buffer_line_down[i-1];
	}
	if(phase!=PHASE_SELL && Close[i]<buffer_line_up[i-1] && !IsEmpty(buffer_line_up[i-1]))
	{
		phase = PHASE_SELL;
		buffer_line_down[i] = band_upper;
		buffer_line_down[i-1] = buffer_line_up[i-1];
	}	
	if(phase==PHASE_BUY && ((TrendMode==0 && !IsEmpty(buffer_line_up[i-2])) || TrendMode==1) )
	{
		if(band_lower>buffer_line_up[i-1]) 
		{
			buffer_line_up[i] = band_lower;
		}
		else 
		{
			buffer_line_up[i] = buffer_line_up[i-1];
		}
	}
	if(phase==PHASE_SELL && ((TrendMode==0 && !IsEmpty(buffer_line_down[i-2])) || TrendMode==1) )
	{
		if(band_upper<buffer_line_down[i-1])
		{
			buffer_line_down[i] = band_upper;
		}
		else
		{
			buffer_line_down[i] = buffer_line_down[i-1];
		}
	}
}
}

SetBarsRequired(sbrAll,sbrAll);

TrendMode = ParamToggle("TrendMode","Off|On",1);
ATR_Multiplier = Param("ATR_Multiplier",2,0.1,10,0.1);
ATR_Period = Param( "ATR_Period",5,1,20,1);
tr = ATR(ATR_Period);

CalcPrice = (H+L)/2;
calcTrend_proc(ATR_Period,tr,ATR_Multiplier,TrendMode,CalcPrice);

SetChartOptions(0,chartShowDates);
Plot(C,"C",colorWhite,64);
Plot(buffer_line_up,"\ntu",ColorRGB(28,134,238),styleThick);
Plot(buffer_line_down,"\ntd",ColorRGB(205,51,51),styleThick);

Plot( 2,"",IIf(buffer_line_up,colorGreen,colorBlack),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );
Plot( 4,"",IIf(buffer_line_down,colorRed,colorBlack),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );

8 comments

1. telurdadar2000

Error : SetBarsRequired(sbrAll,sbrAll);

2. empottasch

upgrade Amibroker to latest version or use:

//SetBarsRequired(sbrAll,sbrAll);

3. waelalamoudi

its great

4. sacanbu

this afl seeks future quotes, results cannot be produced in reality. it’s an afl for bankruptcy

5. mohanjamkhekdar

GOOD

6. astrosystems

its a black hole for real money.

7. Deepakhallikar

How to add buy sell signal to it

8. acedubai

How to change the candles to bars?

Leave Comment

Please login here to leave a comment.

Back