Traders Laboratory - View Single Post - Volume Delta Oscillator
View Single Post
  #1 (permalink)  
Old 12-08-2007, 10:18 AM
Blu-Ray's Avatar
Blu-Ray Blu-Ray is offline
Blu-Ray has no status.

Trader Specs
 
Join Date: Nov 2006
Location: England
Posts: 427
Thanks: 105
Thanked 53 Times in 34 Posts
Re: Volume Delta Oscillator

Quote:
View Post
James or Walter, for those of us who do not use TS, would you explain how this oscillator is computed?
JERRY
Jerry

Here's a copy of the code for you

[LegacyColorValue = true]; Inputs: Up_Dn_MALen( 10 ), MAType_SMA_1_EMA_2_WMA_3( 2 ), MA_DisplayScalingFactor( 1 ), Plot_UpDn_1_or_Diff_2( 2 ), MA_DiffLen( 2 ), smooth(3), av (3); Variables: MA_Up( 0 ), MA_Dn( 0 ), MA_Diff( 0 ); If BarType <= 1 then { Use only on Intra-Day Time or Tick Bars } Begin { Moving Averages of Up&DownTicks and their Difference } If MAType_SMA_1_EMA_2_WMA_3 = 1 then Begin MA_Up = MA_DisplayScalingFactor * ( Average( UpTicks, Up_Dn_MALen ) ); MA_Dn = MA_DisplayScalingFactor * ( Average( DownTicks, Up_Dn_MALen ) ); MA_Diff = ( Average( UpTicks - DownTicks, MA_DiffLen ) ); End { If MAType_SMA_1_EMA_2_WMA_3 = 1 } Else If MAType_SMA_1_EMA_2_WMA_3 = 2 then Begin MA_Up = MA_DisplayScalingFactor * ( XAverage( UpTicks, Up_Dn_MALen ) ); MA_Dn = MA_DisplayScalingFactor * ( XAverage( DownTicks, Up_Dn_MALen ) ); MA_Diff = ( XAverage( UpTicks - DownTicks, MA_DiffLen ) ); End { If MAType_SMA_1_EMA_2_WMA_3 = 2 } Else { If MAType_SMA_1_EMA_2_WMA_3 = 3 } Begin MA_Up = MA_DisplayScalingFactor * ( WAverage( UpTicks, Up_Dn_MALen ) ); MA_Dn = MA_DisplayScalingFactor * ( WAverage( DownTicks, Up_Dn_MALen ) ); MA_Diff = ( WAverage( UpTicks - DownTicks, MA_DiffLen ) ); End; { If MAType_SMA_1_EMA_2_WMA_3 = 3 } {Plots Up&DownTicks and their selected Moving Averages or their Difference as desired} {The order of the plots insures proper visual presentation of the histogram bars} If Plot_UpDn_1_or_Diff_2 = 1 then Begin Plot2( MA_Up, "MA" ); Plot4( MA_Dn, "MA_Dn" ); End;{If Plot_UpDn_1_or_Diff_2 = 1} If Plot_UpDn_1_or_Diff_2 = 2 then Begin Plot5( average (MA_Diff,smooth), "MA" ); End;{If Plot_UpDn_1_or_Diff_2 = 2} End; { if BarType <= 1 } if plot2 > plot4 then setplotcolor (2,blue); if plot2 > plot4 then setplotcolor (4,blue); if plot2 < plot4 then setplotcolor (2,red); if plot2 < plot4 then setplotcolor (4,red); plot6 (average(plot2, av)); plot7 (average(plot4,av)); plot8 (average(plot5,av)); if plot5 > plot8 then setplotcolor (5,blue); if plot5 > plot8 then setplotcolor (8,blue); if plot5 < plot8 then setplotcolor (5,red); if plot5 < plot8 then setplotcolor (8,red);
Hope this helps

Blu-Ray

__________________
Remember - Take the path of least resistance.
Reply With Quote