# 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:

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.

 `/*****************************************************************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;}`