[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: If I can stay awake.... part 4



PureBytes Links

Trading Reference Links

**BP Vol_IntraMom2 - indicator
bpLRV - User function from Bob Fulks/TASC article
Median - Omega user function

In subgraph one or three, scale to screen.

If "MedianOn" = True:
Plot1: green = statistically; 75% of price changes are above this line.
Plot2: red = LRV of volume change.
Plot3: cyan/magenta = wAverage of plot2.
Plot4: red line = average minimum of last 10 days.

If "MedianOn" = False:
Plot1: green = actual volume change (normally would be a histogram).
Plot2: red = LRV of volume change.
Plot3: cyan/magenta = wAverage of plot2.
Plot4: red line = average minimum of last 10 days.


This indicator shows you how fast volume is changing in the market.  You
can actually see the volume peak at the opening and slowly taper off
until it hits a minimum and then starts to pick back up in the
afternoon.  You can set your own "do not trade" zones during the day if
you like.  You might also be able to tell when buy/sell programs are
kicking in.


---  cut/copy from here --

{Bob Perry 2/01, 5/01
only use with time bar charts
futures have 405 minutes, indexes only have 390 minutes
Data1 = $VOLQE - NASDAQ Total Volume
Data2 = $VOLU - NYSE Total Volume	}
{-----  If you are using just one data stream: "High Data1 + High Data2"
can be replaced with "High"  -----}


Inputs:	FastLen(3),
		SlowLen(15),
		MedianOn(True) ;	{ line showing Avg 75% of changes above }
Vars:	BSS(0),				{ BSS = BarsSinceStart of Day }
		MOM(0),
		count(0),
		Sum(0),
		DaysBak(10),
		AvgMOM1(0),
		AvgMOM2(0) ;
Arrays:	minima[10](0),		{ line showing Avg minimum of changes }
		AvgMOM[10](0) ;

If date <> date[1] then begin
{----  AvgMOM  ----}
	AvgMOM[1] = median( MOM, BSS-1 );
	sum = 0;
	for count = 10 downto 1 begin
		sum = sum + AvgMOM[ count ] ;
	end	;
	AvgMOM[0] = sum/10 ;
	
	for count = 10 downto 2 begin
		AvgMOM[ count ] = AvgMOM[ count-1 ] ;
	end;

{----  minima  ----}
	Minima[1] = Lowest( MOM, BSS ) ;
	sum = 0;
	for count = 10 downto 1 begin
		sum = sum + minima[ count ] ;
	end	;
	minima[0] = sum/10 ;
	
	for count = 10 downto 2 begin
		minima[ count ] = minima[ count-1 ] ;
	end;
	
{----  reset BSS  ----}	
	BSS = 0;
End;

BSS = BSS + 1;

If BSS > 1 then begin
	MOM = ( High Data1 - High[1] Data1 ) + ( High Data2 - High[1] Data2 ) ;
	If MedianOn = True then Value1 = ( AvgMOM[0] + Minima[0])/2 else Value1
= MOM ;
	If BSS < FastLen then AvgMOM1 = bpLRV( MOM, BSS ) else AvgMOM1 = bpLRV(
MOM, FastLen );
	If BSS < SlowLen then AvgMOM2 = waverage( AvgMOM1, BSS ) else AvgMOM2 =
waverage( AvgMOM1, SlowLen );
End;

If AvgMOM2<AvgMOM2[1] then SetPlotColor(3, magenta);

If Currentbar >= DaysBak * Round(( TimeToMinutes(Sess1EndTime) -
TimeToMinutes(Sess1StartTime)) /BarInterval, 0 ) then begin
	Plot1( Value1, "MOMorMEDIAN" );
{color:green,type:point,style:1,weight:1}
	Plot2( AvgMOM1, "AvgMOM1" ) ;	{color:red,type:line,style:1,weight:1}
	Plot3( AvgMOM2, "AvgMOM2" ) ;	{color:cyan,type:line,style:1,weight:2}
	Plot4( minima[0], "AvgMin" ) ;
{color:yellow,type:point,style:1,weight:1}
End;

---  cut/copy to here --

Bob Perry
San Jose, CA

Attachment: Description: "INTRAMOM2.ELA"