Automated "Normalized Length" to intraday interval

post your indicators here

Moderator: moderators

balha76202
rank: <50 posts
rank: <50 posts
Posts: 19
Joined: Fri Aug 18, 2006 8:36 am
Reputation: 0
Gender: None specified

Automated "Normalized Length" to intraday interval

Postby balha76202 » Fri Feb 16, 2007 7:32 pm

Hi TRO,
Hi Michal,
Hi All,

Normalizing means "transforming" a non normalized indicator into a normalized one that is to say that this indicator will, once normalized, vary between [0, +100] or [-1, +1] or even [-100, + 100].

When John Bollinger talks about the Bollinger Normalized Volume Indicator, it is a little bit different as the Bollinger Normalized Volume vary between [0, Unlimited] but with the following levels [0, +100, +200, + 300, Unlimited].

More precisely, the 100 Levels equals the X Average of the Volume.
Usually the 50 SMA Average is used.

For Daily or Weekly charts, it is O.K. but for Intraday Volume it is a big mistake because the Intrady Volumes vary strongly during the trading session with peaks at the beginning and at the end of the session and throughs during lunchs. Then how to interpret intraday volumes ?

Easy to say but more difficult to code in EL.

(To continue in 3 minutes)

Please add www.kreslik.com to your ad blocker white list.
Thank you for your support.

balha76202
rank: <50 posts
rank: <50 posts
Posts: 19
Joined: Fri Aug 18, 2006 8:36 am
Reputation: 0
Gender: None specified

Postby balha76202 » Fri Feb 16, 2007 7:40 pm

John Bollinger says that the Daily Saisonnality should be used for intraday volumes.

1 day or preferably 2 or 3 days.

That is 1 or 2 or 3 x (390 minutes) for stocks.
That is 1 or 2 or 3 x (480 minutes) for e-minis.

Then if we play stocks, we should create an input called :

TradingSessionLengthInMinutes(390)

Then the normalization will be done as follows :

For a 1 minute chart, the Bollinger Normalized Volume's 100 Level will be the 390/780/1170 Average of 1 Minute Volume Bars.

For a 3 minute chart, the Bollinger Normalized Volume's 100 Level will be the 130/260/390 Average of 3 minute Volume Bars.

It is easy to code but what I would like is that the Indicator automatically detects if running on Charts or on RadarScreen.

This is done in the EL code attached.

AND that the EL code detects the Interval in which the indicator is inserted
for AUTOMATIC VOLUME AVERAGE LENGTH CALCULATION for Normalizing.

My code is supplied hereafter... in 3 minutes.

balha76202
rank: <50 posts
rank: <50 posts
Posts: 19
Joined: Fri Aug 18, 2006 8:36 am
Reputation: 0
Gender: None specified

Postby balha76202 » Fri Feb 16, 2007 7:43 pm

Here is the picture and the code and the comments.

Bollinger Normalized Volume is :

- Blue if Volume are under the 100 Level for at least 6 periods ina row;
- Cyan if under the 100 Level;
- Still Cyan if under the 200 Level;
- Yellow if above the 200 Level and under the 300 Level;
- Orange (in French) if above 300.

balha76202
rank: <50 posts
rank: <50 posts
Posts: 19
Joined: Fri Aug 18, 2006 8:36 am
Reputation: 0
Gender: None specified

Here they are

Postby balha76202 » Fri Feb 16, 2007 7:47 pm

Here is a picture and the EL code text.

Just copy past in your TS platform.

Olivier



[LegacyColorValue = false];

{ Last revision by OB : 10/02/2007 }

{ Normalized_Volume = John Bollinger's Normalized (between 0 - 100 - 200 - 300 - Unlimited) Volume (Indicator)
with 100/200/300 Levels based on 1 up to 3 times an X Periods (default Input = 50) Volume Average) }


Inputs :

Vol_Avg_Len(50),

Bo_N_Vol_Lev_100(100),
Bo_N_Vol_Lev_200(200),
Bo_N_Vol_Lev_300(300),

Bo_N_Vol_Col(Cyan),

Bo_N_Vol_Lev_100_Col(Red),
Bo_N_Vol_Lev_200_Col(Red),
Bo_N_Vol_Lev_300_Col(Red);



Variables :

Vol_Val(0),
Vol_Avg_Val(0),

Bo_N_Vol_Val(0),



{ Variables that determine if an indicator is executing in a Chart or in RadarScreen }

VolQty(0),
Chart(False),
RadarScreen(False),
Chart_Or_RadarScreen(0);



If CurrentBar = 1 Then Begin

Chart_Or_RadarScreen = getappinfo(aiapplicationtype);

If Chart_Or_RadarScreen = 1 Then Chart = True Else Chart = False;

If Chart_Or_RadarScreen = 2 Then RadarScreen = True Else RadarScreen = False;

If Chart = False And RadarScreen = False Then RaiseRunTimeError ("This indicator only runs in Charts or in RadarScreen.");

End;



{ Code that determines the Volume Value with an Indicator that runs both in Charts And in RadarScreen.
Variable name used is VolQty, both for Charts and RadarScreen.
This code works for all time frame intervals through the Reserved Word Function "BarType" that returns
the following values : 0 for TickBar, 1 for Intraday, 2 for Daily, 3 for Weekly, 4 for Monthly and 5 for Point& Figure Intervals }

If Chart Then Begin

If BarType = 0 Or BarType = 1 Then VolQty = Round(Ticks, 0)

Else

If BarType = 2 Or BarType = 3 Or BarType = 4 Then VolQty = Round(Volume, 0);

End

Else

If RadarScreen Then VolQty = Round(Volume, 0);



{ Variable Assignements }


Vol_Val = VolQty;
Vol_Avg_Val = Average(Vol_Val, Vol_Avg_Len);


Bo_N_Vol_Val = IFF(Vol_Avg_Val <> 0, Vol_Val / Vol_Avg_Val * 100, 1);



{ Bo_N_Vol_Val : Color Criteria }

If Bo_N_Vol_Val < Bo_N_Vol_Lev_100 Then Begin

SetPlotColor(1, Cyan);

End;

If Bo_N_Vol_Val >= Bo_N_Vol_Lev_100 And Bo_N_Vol_Val < Bo_N_Vol_Lev_200 Then Begin

SetPlotColor(1, Cyan);

End;

If Bo_N_Vol_Val >= Bo_N_Vol_Lev_200 And Bo_N_Vol_Val < Bo_N_Vol_Lev_300 Then Begin

SetPlotColor(1, Yellow);

End;

If Bo_N_Vol_Val >= Bo_N_Vol_Lev_300 Then Begin

SetPlotColor(1, RGB(255,128,0));

End;


If Bo_N_Vol_Val < 67 { Volume Congestion }
And Bo_N_Vol_Val[1] < 67
And Bo_N_Vol_Val[2] < 67
And Bo_N_Vol_Val[3] < 67
And Bo_N_Vol_Val[4] < 67
And Bo_N_Vol_Val[5] < 67

Then Begin

SetPlotColor(1, Blue);

End;



SetPlotWidth(1, 3);



{ Bo_N_Volume : All Plots }

Plot1(Bo_N_Vol_Val, "Bo_N_Vol");

Plot2(Bo_N_Vol_Lev_100, "BoNVolLev100", Bo_N_Vol_Lev_100_Col);
Plot3(Bo_N_Vol_Lev_200, "BoNVolLev200", Bo_N_Vol_Lev_200_Col);
Plot4(Bo_N_Vol_Lev_300, "BoNVolLev300", Bo_N_Vol_Lev_300_Col);
Attachments
2007 02 16 - Normalized Volume.jpg
2007 02 16 - Normalized Volume.jpg (69.46 KiB) Viewed 2115 times

Please add www.kreslik.com to your ad blocker white list.
Thank you for your support.


Return to “Tradestation indicators”