2003 Jul: RelativeVolume.efs

ICE Data Services -


RelativeVolume.efs  EFSLibrary - Discussion Board
  

File Name: RelativeVolume.efs


Description:
This formula is based on Relative Volume Analysis by Thom Hartle, which appeared in the July 2003 issue of Active Trader Magazine.


Formula Parameters:
Symbol: NYSE [NASDAQ, NYSE]

Notes:
The related article is copyrighted material. If you are not a subscriber of Active Trader Magazine, please visit www. activetradermag.com.

Updated Version 1.1 7/13/2004
vRelVol was corrected to be the maximum of vUpVol/vTotVol or vDnVol/vTotVol per instructions from Thom Hartle.

Download File:
RelativeVolume.efs




EFS Code:



/*****************************************************************Provided By : eSignal. (c) Copyright 2004Study:        Relative Volume AnalysisVersion:      1.11/20/2004Notes:  Formula based on "Relative Volume Analysis" by Thom Hartle,   which appeared in the July 2003 issue of Active Trader Magazine.1.1 Correction:  vRelVol was corrected to be the maximum of vUpVol/vTotVol or   vDnVol/vTotVol. *****************************************************************/function preMain() {    setStudyTitle("Relative Volume ");    setCursorLabelName("Relative Volume");    setPlotType(PLOTTYPE_HISTOGRAM);    setDefaultBarFgColor(Color.green);    setDefaultBarThickness(4);    setStudyMin(0);    setStudyMax(100);        var fp1 = new FunctionParameter("Symbol", FunctionParameter.STRING);    fp1.setName("Index");    fp1.addOption("NASDAQ");    fp1.addOption("NYSE");    fp1.setDefault("NYSE");    }function main(Symbol) {    var vRelVol = null;    var vUpVol = null;    var vDnVol = null;    var vUnVol = null;    var vTotVol = null;    var vSuffix = null;    var o = open();    var c = close();        if (Symbol == "NASDAQ") {        vSuffix = "Q";    } else if (Symbol == "NYSE") {        vSuffix = "";    } else {        return;    }        vUpVol = close("$UVOL"+vSuffix);    vDnVol = close("$DVOL"+vSuffix);    if (vUpVol == null || vDnVol == null) return;        vTotVol = vUpVol + vDnVol;    if ( (vDnVol/vTotVol) > (vUpVol/vTotVol) ) {        setBarFgColor(Color.red);    } else if ( (vDnVol/vTotVol) < (vUpVol/vTotVol)) {        setBarFgColor(Color.green);    } else {        setBarFgColor(Color.grey);    }    vRelVol = Math.max((vDnVol/vTotVol)*100, (vUpVol/vTotVol)*100);    return vRelVol;}