File Name: FVE_Katsanos.efs
Description:
Finite Volume Elements (FVE)
Formula Parameters:
Period : 22
Factor : 0.03
Notes:
The FVE is a pure volume indicator. Unlike most of the other indicators
(except OBV), price change doesn?t come into the equation for the FVE (price
is not multiplied by volume), but is only used to determine whether money is
flowing in or out of the stock. This is contrary to the current trend in the
design of modern money flow indicators. The author decided against a price-volume
indicator for the following reasons:
- A pure volume indicator has more power to contradict.
- The number of buyers or sellers (which is assessed by volume) will be the same,
regardless of the price fluctuation.
- Price-volume indicators tend to spike excessively at breakouts or breakdowns.
Download File:
FVE_Katsanos.efs
EFS Code:
Description:
Finite Volume Elements (FVE)
Formula Parameters:
Period : 22
Factor : 0.03
Notes:
The FVE is a pure volume indicator. Unlike most of the other indicators
(except OBV), price change doesn?t come into the equation for the FVE (price
is not multiplied by volume), but is only used to determine whether money is
flowing in or out of the stock. This is contrary to the current trend in the
design of modern money flow indicators. The author decided against a price-volume
indicator for the following reasons:
- A pure volume indicator has more power to contradict.
- The number of buyers or sellers (which is assessed by volume) will be the same,
regardless of the price fluctuation.
- Price-volume indicators tend to spike excessively at breakouts or breakdowns.
Download File:
FVE_Katsanos.efs
EFS Code:
PHP Code:
/*********************************
Provided By:
eSignal (Copyright c eSignal), a division of Interactive Data
Corporation. 2009. All rights reserved. This sample eSignal
Formula Script (EFS) is for educational purposes only and may be
modified and saved under a new file name. 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:
Finite Volume Elements (FVE)
Version: 1.0 05/25/2009
Formula Parameters: Default:
Period 22
Factor 0.03
Notes:
The FVE is a pure volume indicator. Unlike most of the other indicators
(except OBV), price change doesn?t come into the equation for the FVE (price
is not multiplied by volume), but is only used to determine whether money is
flowing in or out of the stock. This is contrary to the current trend in the
design of modern money flow indicators. The author decided against a price-volume
indicator for the following reasons:
- A pure volume indicator has more power to contradict.
- The number of buyers or sellers (which is assessed by volume) will be the same,
regardless of the price fluctuation.
- Price-volume indicators tend to spike excessively at breakouts or breakdowns.
**********************************/
var fpArray = new Array();
var bInit = false;
function preMain() {
setStudyTitle("Finite Volume Elements");
setCursorLabelName("FVI",0);
setDefaultBarFgColor(Color.red,0);
var x = 0;
fpArray[x] = new FunctionParameter("Period", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(1);
setDefault(22);
}
fpArray[x] = new FunctionParameter("Factor", FunctionParameter.NUMBER);
with(fpArray[x++]) {
setLowerLimit(0.01);
setDefault(0.3);
}
}
var xFVE = null;
function main(Period, Factor) {
var nBarState = getBarState();
var nFVE = 0;
if (nBarState == BARSTATE_ALLBARS) {
if (Period == null) Period = 22;
if (Factor == null) Factor = 0.3;
}
if (bInit == false) {
xFVE = efsInternal("Calc_FVE", Period, Factor);
bInit = true;
}
nFVE = xFVE.getValue(0);
if (nFVE == null) return;
return nFVE;
}
var bSecondInit = false;
var xhl2 = null;
var xhlc3 = null;
var xClose = null;
var xVolume = null;
var xSMAV = null;
function Calc_FVE(Period, Factor) {
var nRes = 0;
var nMF = 0;
var nVlm = 0
var nClose = 0;
var nVolumeMA = 0;
var nRef = ref(-1);
if (bSecondInit == false) {
xhl2 = hl2();
xhlc3 = hlc3();
xClose = close();
xVolume = volume();
xSMAV = sma(Period, xVolume);
bSecondInit = true;
}
nVolumeMA = xSMAV.getValue(0)
nClose = xClose.getValue(0);
if (nVolumeMA == null) return;
nMF = nClose - xhl2.getValue(0) + xhlc3.getValue(0) - xhlc3.getValue(-1);
if(nMF > Factor * nClose / 100)
nVlm = xVolume.getValue(0);
else if(nMF < -Factor * nClose / 100)
nVlm = - xVolume.getValue(0);
else
nVlm = 0;
nRes = nRef + ((nVlm / nVolumeMA) / Period) * 100;
return nRes;
}