Announcement

Collapse
No announcement yet.

2001 Feb: Buff Up Your Moving Averages

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

  • 2001 Feb: Buff Up Your Moving Averages

    File Name: BuffAverages.efs

    Description:
    Buff Averages

    Formula Parameters:
    Fast Avg Length: 5
    Slow Avg Length: 20
    Thickness: 2
    Line Color Fast Buff: Red
    Line Color Slow Buff: Blue
    Display Cursor Labels: True


    Notes:
    The related article is copyrighted material. If you are not
    a subscriber of Stocks & Commodities, please visit www.traders.com.



    Download File:
    BuffAverages.efs



    EFS Code:
    PHP Code:
    /*********************************
    Provided By:  
        eSignal (Copyright c eSignal), a division of Interactive Data 
        Corporation. 2008. 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:        
        Buff Averages

    Version:            1.0  01/12/2009

    Formula Parameters:                     Default:
        Fast Avg Length                     5
        Slow Avg Length                     20
        Thickness                           2
        Line Color Fast Buff                Red
        Line Color Slow Buff                Blue
        Display Cursor Labels               True

    Notes: 
        The related article is copyrighted material. If you are not
        a subscriber of Stocks & Commodities, please visit [url]www.traders.com.[/url]

    **********************************/

    var fpArray = new Array();
    var 
    bInit false;

    function 
    preMain() {
        
    setPriceStudy(true);
        
    setShowCursorLabel(false);
        
    setShowTitleParametersfalse );
        
    setStudyTitle("Buff Averages");
        
    setCursorLabelName("Fast Buff"0);
        
    setCursorLabelName("Slow Buff"1);    
        
    setDefaultBarFgColor(Color.red0);
        
    setDefaultBarFgColor(Color.blue1);
        
    setPlotType(PLOTTYPE_LINE0); 
        
    setPlotType(PLOTTYPE_LINE1); 
        
    setDefaultBarThickness(20);
        
    setDefaultBarThickness(21);
       
        
    askForInput();
        var 
    x=0;
        
    fpArray[x] = new FunctionParameter("LineColor1"FunctionParameter.COLOR);
        
    with(fpArray[x++]){
            
    setName("Line Color Fast Buff");
            
    setDefault(Color.red);
        }    

        
    fpArray[x] = new FunctionParameter("LineColor2"FunctionParameter.COLOR);
        
    with(fpArray[x++]){
            
    setName("Line Color Slow Buff");
            
    setDefault(Color.blue);
        }    

        
    fpArray[x] = new FunctionParameter("ViewValue"FunctionParameter.BOOLEAN);
        
    with(fpArray[x++]){
            
    setName("Display Cursor Labels");
            
    setDefault(true);
        }    
        
        
    fpArray[x] = new FunctionParameter("SlowAvg"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Slow Avg Length");
            
    setLowerLimit(1);        
            
    setDefault(20);
        }

        
    fpArray[x] = new FunctionParameter("FastAvg"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Fast Avg Length");
            
    setLowerLimit(1);        
            
    setDefault(5);
        }

        
    fpArray[x] = new FunctionParameter("Thickness"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Lines Thickness");
            
    setLowerLimit(1);        
            
    setDefault(2);
        }
    }

    var 
    xBuffFastAvg null;
    var 
    xBuffSlowAvg null;

    function 
    main(FastAvgSlowAvgThicknessLineColor1LineColor2ViewValue) {
    var 
    nBuff1Res 0;
    var 
    nBuff2Res 0;

        if ( 
    bInit == false ) { 
            
    setDefaultBarFgColor(LineColor10);
            
    setDefaultBarFgColor(LineColor21);        
            
    setDefaultBarThickness(Thickness0);
            
    setDefaultBarThickness(Thickness1);        
            
    setShowCursorLabel(ViewValue);   
            
    xBuffFastAvg efsInternal("Buff_Calc"FastAvg);
            
    xBuffSlowAvg efsInternal("Buff_Calc"SlowAvg);
            
    bInit true
        } 

        if (
    getCurrentBarCount() < Math.max(SlowAvgFastAvg)) return;
        
        
    nBuff1Res xBuffFastAvg.getValue(0);
        
    nBuff2Res xBuffSlowAvg.getValue(0); 
        
        if (
    nBuff1Res == null || nBuff2Res == null) return;

        return new Array(
    nBuff1ResnBuff2Res); 
    }

    function 
    Buff_Calc(nLength) {
    var 
    nVolSum 0;
    var 
    nRes 0;
        for (var 
    0<= nLength -1i++) {
            
    nVolSum += volume(-i);
        }
        
        if (
    nVolSum != 0) {
            for (var 
    0nLengthi++){
                
    nRes += (close(-i) * volume(-i)) / nVolSum;
            }
        }
        if (
    nRes == nullnRes 1;
        return 
    nRes;

Working...
X