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

SSL indicator for Amibroker (AFL)
JovenalC
almost 4 years ago
Amibroker (AFL)

Rating:
3 / 5 (Votes 5)
Tags:
amibroker, trading bands

I watched this SSL indicator in Nononsense forex in Youtube and looks good. Searched for an AFL but what I found was a pinescript code. So, Converted the pinescript code to AFL. This is my interpretation of the indicator for Amibroker.

Screenshots

Indicator / Formula

Copy & Paste Friendly

Apply to price chart

//////////////////////////////////////////////////////////
//Conversion from Pinescript(TradingView) to Amibroker AFL
//Original Pinescript code - 
//https://www.tradingview.com/u/ErwinBeckers/
//How to use: Pls search for Nononsense forex in Youtube
//////////////////////////////////////////////////////////

_SECTION_BEGIN( "SSL" );

period = param("SSL period",10,5,20,1);

smaHigh = MA(High,period);
smaLow = MA(Low,period);

HLVal = IIf(Close>=smaHigh ,1,-1);
sslDown = IIf(HLVal<0,smaHigh,smaLow);
sslUp   = IIf(HLVal<0,smaLow,smaHigh);

Plot(sslDown ,"",colorRed,styleThick);
Plot(sslUp ,"",colorAqua,styleThick);

_SECTION_END();

5 comments

1. ebisevac

This is pretty nice indicator. I saw a very good i4 Vertex indcator in mt4 and tried to convert it to afl but I failed. I don’t know if you are interested. Here is the indicator
//-———————————————————————————————-
//| ProjectName |
//| Copyright 2012, CompanyName |
//| http://www.companyname.net |
//-———————————————————————————————-
#property copyright ""
#property link ""

#property indicator_separate_window
#property indicator_buffers 4

#property indicator_color1 White //Red
#property indicator_color2 Magenta //Blue
#property indicator_color3 DarkGray //DimGray
#property indicator_color4 DarkGray //DimGray

Processed = 2000;
Control_Period = 14;
WprPeriod = 14;
Signal_Period = 5;
Signal_Method = MODE_SMA;
BB_Up_Period = 12;
extern double BB_Up_Deviation = 2.0;
BB_Dn_Period = 12;
BB_Dn_Deviation = 2.0;

for(int i=limit; i>=0; i—) { int y=iBarShift(NULL,timeFrame,Time[i]); values[i] = iCustom(NULL,timeFrame,indicatorFileName,“calculateValue”,Processed,Control_Period,Signal_Period,Signal_Method, BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,0,y); signal[i] = iCustom(NULL,timeFrame,indicatorFileName,“calculateValue”,Processed,Control_Period,Signal_Period,Signal_Method, BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,1,y); band_up[i] = iCustom(NULL,timeFrame,indicatorFileName,“calculateValue”,Processed,Control_Period,Signal_Period,Signal_Method, BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,2,y); band_dn[i] = iCustom(NULL,timeFrame,indicatorFileName,“calculateValue”,Processed,Control_Period,Signal_Period,Signal_Method, BB_Up_Period,BB_Up_Deviation,BB_Dn_Period,BB_Dn_Deviation,3,y); } return(0); } for(idx=limit; idx>=0; idx—) { counter=0; complex_up=0; complex_dn=0; trigger_high=-999999; trigger_low=999999; while(counter<Control_Period) { sum_up=0; sum_dn=0; offset=idx+counter; bar_time = iTime(Symbol(), 0, offset); bar_shft = iBarShift(Symbol(), 0, bar_time, FALSE); bar_cont = bar_shft – Period(); if(bar_cont < 0) bar_cont = 0; for(int jdx=bar_shft; jdx>=bar_cont; jdx—) { if(price_high > trigger_high) {trigger_high = price_high; sum_up += price_close;} if(price_low < trigger_low ) {trigger_low = price_low; sum_dn += price_close;} } counter++; complex_up+=sum_up; complex_dn+=sum_dn; } if(complex_dn!=0.0 && complex_up!=0.0) values[idx]=((complex_dn/complex_up-complex_up/complex_dn)(iWPR(NULL,0,WprPeriod,idx)50)/10) ; } for(idx=limit; idx>=0; idx—) { signal[idx] = iMAOnArray(values, 0, Signal_Period, 0, Signal_Method, idx); band_up[idx] = iBandsOnArray(values, 0, BB_Up_Period, BB_Up_Deviation, 0, MODE_UPPER, idx); band_dn[idx] = iBandsOnArray(values, 0, BB_Dn_Period, BB_Dn_Deviation, 0, MODE_LOWER, idx); } return (0); }
2. ebisevac

It picks tops and bottoms.

3. JovenalC

Sorry, I do not know how to code MT4. But will take a look at this. It looks like this is based on bollinger bands

Comment hidden - Show
5. hotaro3

good indicator

Leave Comment

Please login here to leave a comment.

Back