Announcement

Collapse
No announcement yet.

Impulse CD Color

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Impulse CD Color

    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);

Working...
X