Announcement

Collapse
No announcement yet.

Bill Williams Alligator Averages

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

  • Bill Williams Alligator Averages

    File Name: ABillW_Alligator.efs

    Description:
    Bill Williams Alligator Averages

    Formula Parameters:
    Length Slow 21
    Length Medium 13
    Length Fast 8
    Offset Slow 8
    Offset Medium 5
    Offset Fast 3


    Notes:
    This indicator calculates 3 Moving Averages for 21, 13 and 8 days,
    with displacement 8, 5 and 3 days: Median Price (High+Low/2).


    Download File:
    ABillW_Alligator.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:        
        Bill Williams Alligator Averages

    Version:            1.0  09/24/2008

    Notes:
        This indicator calculates 3 Moving Averages for 21, 13 and 8 days,
        with displacement 8, 5 and 3 days: Median Price (High+Low/2).

    Formula Parameters:                     Default:
        Length Slow                             21
        Length Medium                           13
        Length Fast                             8
        Offset Slow                             8
        Offset Medium                           5
        Offset Fast                             3                                     
    **********************************/



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


    function 
    preMain() {

        
    setPriceStudy(true);
        
    setStudyTitle("Alligator");

        
    setCursorLabelName("Plot1"0);
        
    setCursorLabelName("Plot2"1);
        
    setCursorLabelName("Plot3"2);

        
    setDefaultBarFgColor(Color.blue0);
        
    setDefaultBarFgColor(Color.red1); 
        
    setDefaultBarFgColor(Color.green2);

        
    setDefaultBarFgColor(Color.black3); 

     

        var 
    x=0;
        
    fpArray[x] = new FunctionParameter("LengthSlow"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Length Slow"); 
            
    setLowerLimit(1);  
            
    setDefault(21);
        }



        
    fpArray[x] = new FunctionParameter("OffsetSlow"FunctionParameter.NUMBER);

        
    with(fpArray[x++]){
            
    setName("Offset Slow");
            
    setLowerLimit(1);  
            
    setDefault(8);
        }

        

        
    fpArray[x] = new FunctionParameter("LengthMedium"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Length Medium"); 
            
    setLowerLimit(1);  
            
    setDefault(13);
        }



        
    fpArray[x] = new FunctionParameter("OffsetMedium"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Offset Medium");
            
    setLowerLimit(1);  
            
    setDefault(5);
        }

        

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



        
    fpArray[x] = new FunctionParameter("OffsetFast"FunctionParameter.NUMBER);
        
    with(fpArray[x++]){
            
    setName("Offset Fast");
            
    setLowerLimit(1);  
            
    setDefault(3);
        }
    }



    var 
    xhl2 null;
    var 
    xEMA1 null;
    var 
    xEMA2 null;
    var 
    xEMA3 null;


    function 
    main(LengthSlowOffsetSlowLengthMediumOffsetMediumLengthFastOffsetFast) {
    var 
    nXA1 0;
    var 
    nXA2 0;
    var 
    nXA3 0;


        if (
    LengthSlow == nullLengthSlow 21;
        if (
    OffsetSlow == nullOffsetSlow 8;
        if (
    LengthMedium == nullLengthMedium 13;
        if (
    OffsetMedium == null)  OffsetMedium 5;
        if (
    LengthFast == nullLengthFast 8;
        if (
    OffsetFast == nullOffsetFast 3;



        if ( 
    bInit == false ) {
            
    xhl2 hl2();
            
    xEMA1 offsetSeries(ema(LengthSlowxhl2), OffsetSlow);
            
    xEMA2 offsetSeries(ema(LengthMediumxhl2), OffsetMedium);
            
    xEMA3 offsetSeries(ema(LengthFastxhl2), OffsetFast);
            
    bInit true
        } 


        
    nXA1 xEMA1.getValue(0);
        
    nXA2 xEMA2.getValue(0);
        
    nXA3 xEMA3.getValue(0);

        return new Array(
    nXA1nXA2nXA3);

Working...
X