File Name: VPCI.efs, VPCI_Smoothed.efs, VPCI_Bollinger.efs
Description:
These studies are based on the July 2007 article, Between Price And Volume, by Buff Dormeier.
Formula Parameters:
VPCI.efs
Long-term Period: 50
Short-term Period: 10
Color: blue
Thickness: 2
VPCI_Smoothed.efs
Long-term Period: 50
Short-term Period: 10
VPCI Color: blue
VPCI MA Color: grey
Thickness: 2
VPCI_Bollinger.efs
Long-term Period: 50
Short-term Period: 10
Bollinger Period: 10
Bollinger Stdev: 2
VPCI Color: blue
Bollinger Band Color: red
Thickness: 2
Notes:
The related article is copyrighted material. If you are not a subscriber of Stocks & Commodities, please visit www.traders.com.
Download File:
VPCI.efs
VPCI_Smoothed.efs
VPCI_Bollinger.efs
EFS Code:
VPCI.efs
VPCI_Smoothed.efs
VPCI_Bollinger.efs
Description:
These studies are based on the July 2007 article, Between Price And Volume, by Buff Dormeier.
Formula Parameters:
VPCI.efs
Long-term Period: 50
Short-term Period: 10
Color: blue
Thickness: 2
VPCI_Smoothed.efs
Long-term Period: 50
Short-term Period: 10
VPCI Color: blue
VPCI MA Color: grey
Thickness: 2
VPCI_Bollinger.efs
Long-term Period: 50
Short-term Period: 10
Bollinger Period: 10
Bollinger Stdev: 2
VPCI Color: blue
Bollinger Band Color: red
Thickness: 2
Notes:
The related article is copyrighted material. If you are not a subscriber of Stocks & Commodities, please visit www.traders.com.
Download File:
VPCI.efs
VPCI_Smoothed.efs
VPCI_Bollinger.efs
EFS Code:
VPCI.efs
PHP Code:
/***************************************
Provided By :
eSignal (Copyright © eSignal), a division of Interactive Data
Corporation. 2007. All rights reserved. This sample eSignal
Formula Script (EFS) is for educational purposes only and may be
modified and saved under a new filename. eSignal is not responsible
for the functionality once modified. eSignal reserves the right
to modify and overwrite this EFS file with each new release.
Description: Between Price And Volume
by Buff Dormeier
Version 1.0 5/08/2007
Notes:
* July 2007 Issue of Stocks and Commodities Magazine
* Study requires version 8.0 or later.
Formula Parameters: Default:
Long-term Period 50
Short-term Period 10
Color blue
Thickness 2
***************************************/
function preMain() {
setStudyTitle("VPCI ");
setShowTitleParameters(false);
setCursorLabelName("VPCI", 0);
addBand(0, PS_SOLID, 2, Color.grey, "zero");
var fp1 = new FunctionParameter("nLongP", FunctionParameter.NUMBER);
fp1.setName("Long-term Period");
fp1.setLowerLimit(1);
fp1.setDefault(50);
var fp2 = new FunctionParameter("nShortP", FunctionParameter.NUMBER);
fp2.setName("Short-term Period");
fp2.setLowerLimit(1);
fp2.setDefault(10);
var fp3 = new FunctionParameter("cColor", FunctionParameter.COLOR);
fp3.setName("Color");
fp3.setDefault(Color.blue);
var fp4 = new FunctionParameter("nThick", FunctionParameter.NUMBER);
fp4.setName("Thickness");
fp4.setLowerLimit(1);
fp4.setDefault(2);
}
// Global Variables
var bVersion = null; // Version flag
var bInit = false; // Initialization flag
var xVPC = null;
var xVPR = null;
var xVM = null;
var nVPCI = null;
function main(nLongP, nShortP, cColor, nThick) {
if (bVersion == null) bVersion = verify();
if (bVersion == false) return;
//Initialization
if (bInit == false) {
setDefaultBarFgColor(cColor, 0);
setDefaultBarThickness(nThick, 0);
xVPC = efsInternal("calcVPC", nLongP);
xVPR = efsInternal("calcVPR", nShortP);
xVM = efsInternal("calcVM", nLongP, nShortP);
bInit = true;
}
var nState = getBarState();
var nIndex = getCurrentBarIndex();
var nVPC = xVPC.getValue(0);
var nVPR = xVPR.getValue(0);
var nVM = xVM.getValue(0);
if (nVPC == null || nVPR == null || nVM == null) return;
nVPCI = nVPC * nVPR * nVM;
setBarBgColor(Color.cyan, 0, 0, Infinity*1);
return nVPCI;
}
function calcVPC(n) {
var nVwma = vwma(n, 0);
var nSma = sma(n, 0);
if (nVwma == null || nSma == null) return;
return (nVwma - nSma);
}
function calcVPR(n) {
var nVwma = vwma(n, 0);
var nSma = sma(n, 0);
if (nVwma == null || nSma == null) return;
return (nVwma / nSma);
}
function calcVM(nL, nS) {
var nVolSma1 = sma(nL, volume(), 0); // long term
var nVolSma2 = sma(nS, volume(), 0); // short term
if (nVolSma1 == null || nVolSma2 == null) return;
return (nVolSma2 / nVolSma1);
}
function verify() {
var b = false;
if (getBuildNumber() < 779) {
drawTextAbsolute(5, 35, "This study requires version 8.0 or later.",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "error");
drawTextAbsolute(5, 20, "Click HERE to upgrade.@URL=http://www.esignal.com/download/default.asp",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "upgrade");
return b;
} else {
b = true;
}
return b;
}
PHP Code:
/***************************************
Provided By:
eSignal (Copyright © eSignal), a division of Interactive Data
Corporation. 2007. All rights reserved. This sample eSignal
Formula Script (EFS) is for educational purposes only and may be
modified and saved under a new filename. eSignal is not responsible
for the functionality once modified. eSignal reserves the right
to modify and overwrite this EFS file with each new release.
Description: Between Price And Volume
by Buff Dormeier
Version 1.0 5/08/2007
Notes:
* July 2007 Issue of Stocks and Commodities Magazine
* Study requires version 8.0 or later.
Formula Parameters: Default:
Long-term Period 50
Short-term Period 10
VPCI Color blue
VPCI MA Color grey
Thickness 2
***************************************/
function preMain() {
setStudyTitle("VWMA of VPCI ");
setShowTitleParameters(false);
setCursorLabelName("VPCI", 0);
setCursorLabelName("VPCI VWMA", 1);
var fp1 = new FunctionParameter("nLongP", FunctionParameter.NUMBER);
fp1.setName("Long-term Period");
fp1.setLowerLimit(1);
fp1.setDefault(50);
var fp2 = new FunctionParameter("nShortP", FunctionParameter.NUMBER);
fp2.setName("Short-term Period");
fp2.setLowerLimit(1);
fp2.setDefault(10);
var fp3 = new FunctionParameter("cColor", FunctionParameter.COLOR);
fp3.setName("VPCI Color");
fp3.setDefault(Color.blue);
var fp3a = new FunctionParameter("cColor2", FunctionParameter.COLOR);
fp3a.setName("VPCI MA Color");
fp3a.setDefault(Color.grey);
var fp4 = new FunctionParameter("nThick", FunctionParameter.NUMBER);
fp4.setName("Thickness");
fp4.setLowerLimit(1);
fp4.setDefault(2);
}
// Global Variables
var bVersion = null; // Version flag
var bInit = false; // Initialization flag
var xVPC = null;
var xVPR = null;
var xVM = null;
var xVPCI = null;
var xVPCI_MA = null;
function main(nLongP, nShortP, cColor, cColor2, nThick) {
if (bVersion == null) bVersion = verify();
if (bVersion == false) return;
//Initialization
if (bInit == false) {
setDefaultBarFgColor(cColor, 0);
setDefaultBarThickness(nThick, 0);
setDefaultBarFgColor(cColor2, 1);
setDefaultBarThickness(nThick, 1);
xVPC = efsInternal("calcVPC", nLongP);
xVPR = efsInternal("calcVPR", nShortP);
xVM = efsInternal("calcVM", nLongP, nShortP);
xVPCI = efsInternal("calcVPCI", nLongP, nShortP, xVPC, xVPR, xVM);
xVPCI_MA = efsInternal("calcVWMA", nShortP, xVPCI);
bInit = true;
}
var nState = getBarState();
var nVPCI = xVPCI.getValue(0);
var nVPCI_MA = xVPCI_MA.getValue(0);
if (nVPCI == null || nVPCI_MA == null) return;
return new Array(nVPCI, nVPCI_MA);
}
function calcVWMA(n, x) {
var nSum = 0;
var nTotVol = 0;
if (x.getValue(-n) == null) return;
for (var i = 0; i < n; i++) {
nSum += x.getValue(-i) * volume(-i);
nTotVol += volume(-i);
}
return (nSum / nTotVol);
}
function calcVPCI(nL, nS, xVPC, xVPR, xVM) {
var nState = getBarState();
var nVPC = xVPC.getValue(0);
var nVPR = xVPR.getValue(0);
var nVM = xVM.getValue(0);
if (nVPC == null || nVPR == null || nVM == null) return;
return (nVPC * nVPR * nVM);
}
function calcVPC(n) {
var nVwma = vwma(n, 0);
var nSma = sma(n, 0);
if (nVwma == null || nSma == null) return;
return (nVwma - nSma);
}
function calcVPR(n) {
var nVwma = vwma(n, 0);
var nSma = sma(n, 0);
if (nVwma == null || nSma == null) return;
return (nVwma / nSma);
}
function calcVM(nL, nS) {
var nVolSma1 = sma(nL, volume(), 0); // long term
var nVolSma2 = sma(nS, volume(), 0); // short term
if (nVolSma1 == null || nVolSma2 == null) return;
return (nVolSma2 / nVolSma1);
}
function verify() {
var b = false;
if (getBuildNumber() < 779) {
drawTextAbsolute(5, 35, "This study requires version 8.0 or later.",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "error");
drawTextAbsolute(5, 20, "Click HERE to upgrade.@URL=http://www.esignal.com/download/default.asp",
Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,
null, 13, "upgrade");
return b;
} else {
b = true;
}
return b;
}
VPCI_Bollinger.efs
PHP Code:
// Code not included due to posting message length limits.
// Please open the formula from the link provided to view the code.