File Name: ImpulseCDC.efs

Description:
Impulse CD Color

Formula Parameters:
Slow MA : 34
Fast MA : 14
Signal MA : 9


Notes:


Download File:
ImpulseCDC.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:        
    Impulse CD Color
    
Version:            1.0  08/26/2009
 
Formula Parameters:                     Default:
    Slow MA                             34
    Fast MA                             14
    Signal MA                           9
   
Notes:
    
**********************************/
var fpArray = new Array();
var 
bInit false;

function 
preMain(){
    
setPriceStudy(false);
    
setShowCursorLabel(true);
    
setShowTitleParameters(false);
    
setStudyTitle("Impulse CD");
    
setCursorLabelName("Impulse MACD"0);
    
setDefaultBarFgColor(Color.blue0);
    
setPlotType(PLOTTYPE_HISTOGRAM0);
    
setDefaultBarThickness(2,0);    
    
setCursorLabelName("Signal"1);
    
setDefaultBarFgColor(Color.red1);
    
setPlotType(PLOTTYPE_LINE1);
    
setDefaultBarThickness(2,1);        
    
setCursorLabelName("Impulse CD"2);
    
setDefaultBarFgColor(Color.green2);
    
setPlotType(PLOTTYPE_HISTOGRAM2);
    
setDefaultBarThickness(2,2);    
    var 
0;
    
fpArray[x] = new FunctionParameter("SlowMA"FunctionParameter.NUMBER);
    
with(fpArray[x++]) {
        
setName("Slow MA");
        
setLowerLimit(1);
        
setDefault(34);
    }    
    
fpArray[x] = new FunctionParameter("FastMA"FunctionParameter.NUMBER);
    
with(fpArray[x++]) {
        
setName("Fast MA");
        
setLowerLimit(1);
        
setDefault(14);
    }        
    
fpArray[x] = new FunctionParameter("SignalMA"FunctionParameter.NUMBER);
    
with(fpArray[x++]) {
        
setName("Signal MA");
        
setLowerLimit(1);
        
setDefault(9);
    }        
}

var 
xImpulseCD null;
var 
xMACDDivr null;
var 
xSignalMACDDivr null;
var 
xColor null;

function 
main(SlowMAFastMASignalMA) {
var 
nBarState getBarState();
var 
nImpulseCD 0;
var 
nMACDDivr 0;
var 
nSignalMACDDivr 0;
    if (
nBarState == BARSTATE_ALLBARS) {
        if(
SlowMA == nullSlowMA 34;
        if(
FastMA == nullFastMA 14;
        if(
SignalMA == nullSignalMA 9;        
    }
    if (
bInit == false) {
        
addBand(0PS_SOLID1Color.black"ZeroLine");
        
xImpulseCD efsInternal("Calc_ImpulseCD"SlowMAFastMASignalMA);
        
xMACDDivr getSeries(xImpulseCD1);
        
xSignalMACDDivr getSeries(xImpulseCD2);
        
xColor getSeries(xImpulseCD3);
        
bInit true;
    }
    
nImpulseCD xImpulseCD.getValue(0);
    
nMACDDivr xMACDDivr.getValue(0);
    
nSignalMACDDivr xSignalMACDDivr.getValue(0);
    if (
nMACDDivr == null) return;
    
setBarFgColor(xColor.getValue(0), 2);
    return new Array(
nMACDDivrnSignalMACDDivrnImpulseCD);
}

var 
bSecondInit false;
var 
xMACDDivBuff null;
var 
xMA_MACDDivBuff null;

function 
Calc_ImpulseCD(SlowMAFastMASignalMA) {
var 
nRes 0;
var 
cColor Color.green;
var 
nMACDDivBuff 0;
var 
nMA_MACDDivBuff 0;
var 
nMACDDivBuff1 0;
var 
nMA_MACDDivBuff1 0;
    if (!
bSecondInit) {
        
xMACDDivBuff =  macd(FastMASlowMA1); 
        
xMA_MACDDivBuff sma(SignalMAxMACDDivBuff);
        
bSecondINit true;
    }
    
nMACDDivBuff xMACDDivBuff.getValue(0);
    
nMA_MACDDivBuff xMA_MACDDivBuff.getValue(0);
    
nMACDDivBuff1 xMACDDivBuff.getValue(-1);
    
nMA_MACDDivBuff1 xMA_MACDDivBuff.getValue(-1);
    if (
nMA_MACDDivBuff1 == null) return;
    
nRes nMACDDivBuff nMA_MACDDivBuff;
    if ((
nMACDDivBuff nMA_MACDDivBuff) > (nMACDDivBuff1 nMA_MACDDivBuff1)) cColor Color.green;
    if ((
nMACDDivBuff nMA_MACDDivBuff) < (nMACDDivBuff1 nMA_MACDDivBuff1)) cColor Color.red;    
    return new Array(
nResnMACDDivBuffnMA_MACDDivBuffcColor);