STOCKS & COMMODITIES magazine. The Traders' Magazine
Request Information
From Advertisers
Traders.com
Stocks &
Commodities

  • Subscribers' Area
  • Current Issue
  •    - Opening Position
       - Letters to S&C
       - Traders' Tips
       - Futures Liquidity
       - News & Products
       - Cover Art

  • Free Articles
  • Article Abstracts
    1996-Present
  • Complete Articles
    1982-Present
  • Novice Traders' Notebook
  • Glossary
  • Subscribe
  • Renew
  • Free Trial
  • Search
  • Working
    Money
    Traders.com
    Advantage
    Traders'
    Resource
    Online Store
    Message Boards
    Article Code
    Free Newsletter
    Products
    Search
    Help
    Subscribe
    Renew
    Contact Us
    Home

    Enter search terms:


    Products
    Small Book Image for Store.Traders.comStore.Traders.com
    Purchase past articles on hundreds of topics, along with software, books, and magazine subscriptions over a secure web connection. Click Here

     
    Search Products:

    @ Online Store!
    S&C Magazine Subscriber Login
    S&C Free Trial Issue
    S&C Volume Books
    S&C Magazine
    S&C on DVD
    Software
    Articles
    FREE ARTICLES! (while they last)
    Support & Resistance ...
    BestChoice Software
    StrataSearch 3.0
    eSignal 10 and Advanced GET ...
    The 21st-Century Technician
    Trading By Tape-Reading
    Suri Duddella Notes
    Elwave 9.0
    Bennett McDowell
    VisualTrader 4.0
    Forex Volatility Patterns
    Stock Trading Success
    Market Dynamics
    Bill And Justine Williams
    StrategyDesk
    Elwave 8
    Steve Nison's Profiting In ...
    High Growth Stock Investor
    Daytrading With TheStockBandit ...
    Buying Straddles
    NeuroShell Trader 5
    GTS Pro
    Between Price And Volume
    Point & Figure for Forex
    Direct Pro
    A Window to Our Workshop
    Adrienne Toghraie
    MultiCharts 2 (Part 2)
    MESA8
    MultiCharts 2 (Part 1)
    Traders' Resource
    Advisory Services
    Books
    Brokerage
    Consultants
    Courses & Seminars
    Data Services
    Exchanges
    Hardware
    Mutual Funds
    Online Trading Services
    Publications & Newsletters
    Software
    Trading Systems

    Information Directory
    S&C Tour
    S&C Magazine
    Resources
    Products
    Subscribe
    This Month's Issue
    Home | S&C Magazine | Working Money | Traders' Resource | Message-Boards | Store

    June TRADERS' TIPS

    This month's tips include formulas and programs for:
    TECHNIFILTER PLUS,
    SMARTRADER,
    TRADESTATION and
    WAVE WI$E Market Spreadsheet

    or return to Archive Index.


    TECHNIFILTER PLUS

    The set of TechniFilter Plus formulas called " OBV disparity trading system" produces a TechniFilter Plus strategy that implements the trading system presented in Phillip Holt's "Enhancing on-balance and negative volume" in this issue. In the article, Holt computes a ratio of two Bollinger %B calculations, one based on price and one based on a volume indicator (either the on-balance volume or the negative volume index). A %B calculation based on price expresses the position of the closing price within the upper and lower Bollinger bands. A value of "1" places the close at the top band, and a value of zero places the close at the bottom band. Values between zero and 1 place the close somewhere between the bands. If the close is outside the bands, the %B value will be less than zero (below the bottom band) or more than 1 (above the top band).

    The basic %B calculation divides the close minus the bottom band by the distance between the bands. Since the upper band is two standard deviations of price above an average and the lower band is two standard deviations of price below this average, the distance between the two bands is just four standard deviations of the price. Formula 1 gives the %B price calculation. The "33" listed is the time parameter suggested by Holt. Formula 2 is the %B calculation based on OBV, represented by the building block K. (To test NVI instead of OBV, replace "K" with the NVI building block B in this formula, and change the parameters in formulas 4 and 5 to 0.95 and 1.1, respectively.) Formula 3 is Holt's on-balance volume disparity indicator (OBVDI). He suggests buying and selling when a four-unit average of this quantity breaks through specific levels. Formulas 4 and 5 express these buy-sell conditions, returning a "1" when the condition is true and a zero otherwise.

    
    
    OBV Disparity Trading System 
    Strategy Name: VOLDSPTY 
    
    FORMULAS 
    1. name: %B_PRICE(33)                 format: ##.### 
       formula: (C-CA&1+2*C|&1)/(4*C|&1) 
    2. name: %B_VOLIND(33)                format: ##.### 
       formula: (K-KA&1+2*K|&1)/(4*K|&1) 
    3. name: DISPARITY                    format: ##.### 
       formula: (1+[1])/(1+[2]) 
    4. name: BUY(.85)                     format: ### 
       formula: ([3]A4>&1) * (TY1=0) 
    5. name: SELL(.95)                    format: ### 
       formula: ([3]A4<&1) * (TY1=0) 
    
    SIGNALS 
    1. BUY;   F4=1 
    2. SELL;  F5=1 
    
    RULES 
    1. Buy Long 1 at Today's Close on signal: S1 
    2. Sell Long 1 at Today's Close on signal: S2 


    In addition, the TechniFilter Plus formulas called "OBV disparity indicator" and "NVI disparity indicator" provide formulas for OBVDI and NVDI that you can use directly within your strategies and filter reports. They combine formulas 1, 2 and 3 into a single line:

    
    
    OBV Disparity Indicator 
    Formula Name: OBVDI          Parameters: 33 
    
    Formula: ( 1 + (C-CA&1+2*C|&1)/(4*C|&1) ) / ( 1 + (K-KA&1+2*K|&1)/(4*K|&1) ) 
    
    NVI Disparity Indicator 
    Formula Name: NVDI           Parameters: 33 
    
    Formula: ( 1 + (C-CA&1+2*C|&1)/(4*C|&1) ) / ( 1 + (B-BA&1+2*B|&1)/(4*B|&1) ) 


    Registered owners of TechniFilter Plus can receive an E-mail copy of this strategy (and other TechniFilter Plus formulas, reports and strategies that have appeared in this column) by sending a request to rtrsoft@aol.com and noting the item(s) you want. You must include your TechniFilter Plus serial number in your request.

    -- Clay Burch, RTR Software Inc.


    SMARTRADER

    Recreating Phillip Holt's on-balance volume disparity indicator (OBVDI) and negative volume disparity indicator (NVDI) in SmarTrader first depends on calculating Bollinger's %B based on price. Next, apply the same formulas to on-balance volume (OBV) and negative volume (NVI). A combination of preprogrammed studies, math functions and user formulas are used to create the new indicators in SmarTrader.

    In the SpecSheet shown in Figure 1 below, rows 9 through 13 calculate the 33-period moving average and standard deviation, the upper and lower bands and, finally, %B based on price. This varies from a standard Bollinger band calculation, which typically uses 20 periods for the moving average and standard deviation. You may want to calculate a typical price using the formula (high+low+close)/3 for the price. Rows 15 through 19 calculate the same functions for OBV. Row 20 calculates the OBVDI. Rows 21 through 25 calculate the NVI. Rows 26 through 30 repeat the process of calculating %B, this time based on NVI. Row 31 then calculates the NVDI.


    Figure 1: SmarTrader SpecSheet. The formulas listed here can be used to implement the OBV disparity indicator and NVI disparity indicator in SmarTrader.

    CompuTrac Snap users may implement this system by substituting row 24, which uses the "accumulate" function, with a user row using the "ref" function as follows:

    
    
    Accum Ref(0,0)+neg 


    We suggest plotting Bollinger bands over the bar chart, and in separate windows, plot the Bollinger bands over OBV and NVI. OBVDI and NVDI can be plotted as lines in separate windows.

    -- Jim Ritter, Stratagem Software International


    TRADESTATION

    Phillip Holt's technique for testing the on-balance volume disparity indicator (OBVDI) and the negative volume disparity indicator (NVDI) against the NYSE Composite Index also seems to show promise for commodities. Looking at currencies, I found that with a little manipulation of the parameters and using a decent money management stop, the performance results were well above average. Following are both the OBVDI and the NVDI as user functions. A word of caution: Be sure to set the properties of the user functions to "series."

    
    
    Name: OBVDI 
    Type: User-Function 
    
    Inputs: Length(Numeric); 
    Vars: BollTop(0), BollBot(0), PerB(0), OBVBollTop(0), OBVBollBot(0), OBVPerB(0); 
    
    BollTop=BollingerBand(Close,Length,2); 
    BollBot=BollingerBand(Close,Length,-2); 
    If (BollTop-BollBot)<>0 then PerB=(Close-BollBot)/(BollTop-BollBot); 
    
    OBVBollTop=BollingerBand(OBV,Length,2); 
    OBVBollBot=BollingerBand(OBV,Length,-2); 
    If (OBVBollTop-OBVBollBot)<>0 then OBVPerB=(OBV-OBVBollBot)/(OBVBollTop-OBVBollBot); 
    OBVDI=(1+PerB)/(1+OBVPerB); 
    
    Name: NVDI 
    Type: User-Function 
    
    Inputs: Length(Numeric); 
    Vars: BollTop(0), BollBot(0), PerB(0), NegVBollTop(0), NegVBollBot(0), NegVPerB(0), NegV(0); 
    
    If Currentbar=1 then NegV=100; 
    BollTop=BollingerBand(Close,Length,2); 
    BollBot=BollingerBand(Close,Length,-2); 
    If (BollTop-BollBot)<>0 then 
        PerB=(Close-BollBot)/(BollTop-BollBot); 
    NegV=IFF(Volume<Volume[1],NegV+((Close-Close[1])/Close[1])*100,NegV); 
    
    NegVBollTop=BollingerBand(NegV,Length,2); 
    NegVBollBot=BollingerBand(NegV,Length,-2); 
    If (NegVBollTop-NegVBollBot)<>0 then 
        NegVPerB=(NegV-NegVBollBot)/(NegVBollTop-NegVBollBot); 
    
    NVDI=(1+PerB)/(1+NegVPerB); 


    To duplicate the OBVDI used in Holt's article, use the Plot function to plot the indicator and then the average of that indicator:

    
    
    Name: OBVDI w/ Avg 
    Type: Indicator 
    
    Plot1( OBVDI(33),"OBVDI"); 
    Plot2( Average(OBVDI(33),4),"AvgOBVDI"); 


    To plot the NVDI, substitute the NVDI function for the OBVDI in the above formula. Next, coding the system for the OBVDI is simple:

    
    
    Name: OBVDI System 
    Type: System 
    
    Inputs: BLevel(.95), SLevel(.95); 
    
    IF Average(OBVDI(33),4) crosses over BLevel Then Buy on Close; 
    IF Average(OBVDI(33),4) crosses below SLevel Then Sell on Close; 


    All of this code will be made available on both the Omega Research area of America OnLine and at our Web site at http: //www.omegaresearch.com.

    -- Miles Dunbar, Easy Language Specialist, Omega Research


    WAVE WI$E MARKET SPREADSHEET

    The following Wave Wi$e formulas compute the OBVDI and NVDI presented in Phillip Holt's "Enhancing on-balance and negative volume":

    
    
    A: Date      'Read in Date, Close and Volume 
    B: Close 
    C: Vol 
    D: Avg        @MAVG(CLOSE,33) 
    E: Upper      AVG+2*@STD(CLOSE,33) 
    F: Lower      AVG-2*@STD(CLOSE,33) 
    G: %B         (CLOSE-LOWER)/(UPPER-LOWER) 
    H: OBV        @INIT(1,VOL); 
                  @IF(CLOSE>CLOSE[-1],VOL+OBV[-1], 
                     @IF(CLOSE<CLOSE[-1],OBV[-1]-VOL,OBV[-1])) 
    I: AvgObv     @MAVG(OBV,33) 
    J: UpObv      AVGOBV+2*@STD(OBV,33) 
    K: LoObv      AVGOBV-2*@STD(OBV,33) 
    L: %Bobv      (OBV-LOOBV)/(UPOBV-LOOBV) 
    M: ObvDI      (1+%B)/(1+%BOBV) 
    N: NegVol     @INIT(1,100); 
                  @IF(VOL<VOL[-1],NEGVOL[-1]+((CLOSE-CLOSE[-1])/CLOSE[-1])*100,NEGVOL[-1]) 
    O: AvgNeg     @MAVG(NEGVOL,33) 
    P: UpNeg      AVGNEG+2*@STD(NEGVOL,33) 
    Q: LoNeg      AVGNEG-2*@STD(NEGVOL,33) 
    R: %BNeg      (NEGVOL-LONEG)/(UPNEG-LONEG) 
    S: NVDI       (1+%B)/(1+%BNEG) 


    -- Peter Di Girolamo, Jerome Technology

    Return to Archive Index



    Technical Analysis, Inc.

    [Home | Working Money Magazine | S&C Magazine | Traders.com Advantage | Online Store]
    [Traders' Resource | Add a Product to Traders' Resource | Message Boards]
    [Subscribe/Renew | Free Trial Issue | Article Code | Search | Help Files]
    Departments: [Advertising | Editorial | Circulation | Employment | Contact Us]

    Copyright © 1996-2008 Technical Analysis, Inc. All rights reserved. Read our privacy statement.

    Technical Analysis, Inc.
    Subscribe! Free E-mail Newsletter.
    First: Last:
    E-mail: