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

Wavetrend Scanner With BUY/SELL for Amibroker (AFL)

4 / 5 (Votes 3)
amibroker, oscillator, wavetrend

This scanner was initially posted by Krishna9260 and the credits are due to him.
I have just modified the scanner to make it more presentable and to provide signals after the close of the current candle in order to avoid changing signals which are formed due to dynamic price movement.

I have found that the 15 minute TF provides the best intraday trading signals.


Indicator / Formula

Copy & Paste Friendly
This scanner was adopted from the posting by Krishna9260 but I have modified the scanner to provide a signal 
after the close of the current candle for a definite direction. 

Realtime Wavetrend Scanner which provides BUY/SELL Signals whenever there is a crossover happening. 
between the Oversold and Overbought limit lines 
Ideally the lines are maintained at -60 & -53 for Oversold levels and 53 & 60 for Overbought levels.


TimeframeSet(in15Minute); //Please change this to modify the scanner to suit your favourable timeframe//
ChannelPeriod = Param("Channel Period",10,1,50,1);
AvgPeriod = Param("Average Period",21,1,50,1);
OBL1 = Param("Over Bought Level 1",60,0,100,1);
OBL2 = Param ("Over Bought Level 2",53,0,100,1);
OSL1 = Param("Over Sold Level 1",-60,0,-100,1);
OSL2 = Param("Over Sold Level 2",-53,0,-100,1);
ColTCI=ParamColor("TCI Line Color",colorBrown);
ColOBL1 = ParamColor("Over Bought Level 1 Color",colorRed);
ColOBL2 = ParamColor("Over Bought Level 2 Color",colorRed);
ColOSL1 = ParamColor("Over Sold Level 1 Color",colorGreen);
ColOSL2 = ParamColor("Over Sold Level 2 Color",colorGreen);
XSpace = Param("GraphXSpace",7,0,20,0.5);


AvgPrice=Ref(Avg,-1); // Typical Price = (H + L + C)/3
//AvgPrice=Avg; // Typical Price = (H + L + C)/3
ESA = Wilders(AvgPrice,N1);
D = Wilders(abs(AvgPrice-ESA),N1);
CI = (AvgPrice-ESA)/(0.015*D);

WT1 = EMA(CI,N2);
WT2 = MA(WT1,4);

Buy= Cross(WT1,WT2);
Sell= Cross(WT2,WT1);
CR1 = ValueWhen(Buy,WT1);
CR2 = ValueWhen(Sell,WT1);

Filter=Buy OR Sell;
//Filter=(Buy AND CR1>=-60 AND CR1<=-50) OR (Sell AND CR2>=50 AND CR2<=60);

AddColumn(WT1,"WaveTrend 1",1.4);
AddColumn(WT2,"WaveTrend 2",1.4);

AlertIf(Buy,"SOUND c:\\Windows\\Media\\tada.wav","Audio Alert",1);
AlertIf(Sell,"SOUND c:\\Windows\\Media\\tada.wav","Afgcolor=IIf(Buy,colorWhite,colorWhite),bkcolor=IIf(Buy,colorGreen,colorRed)udio Alert",2);




There is an error in line No.63..

" AddColumn(IIf(Buy,‘B’,‘S’),“Signal”,formatChar,fgcolor=IIf(Buy,colorWhite,colorWhite),bkcolor=IIf(Buy,colorGreen,colorRed));


2. Mechwarrior


I do not see an error in this code. Can you please recheck? Also, the entire code ends at line 58.


3. tchiran

The line number you mentioned is 54,
You can use this, it works I have checked:

AddColumn(IIf(Buy, 66, 83 ),“Signal”,formatChar,fgcolor=IIf(Buy,colorWhite,colorWhite),bkcolor=IIf(Buy,colorGreen,colorRed));

Just replace ‘B’ with number 66 and ‘S’ with 83

4. tchiran

Hope this will work for you too.

Leave Comment

Please login here to leave a comment.