Announcement

Collapse
No announcement yet.

EMA Angle

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

  • EMA Angle

    File Name: EMAAngle.efs

    Description:
    EMA Angle

    Formula Parameters:
    Length : 34
    AngleTreshold : 0.2
    StartEMAShift : 6
    EndEMAShift : 0
    Price Scale : 10000


    Notes:


    Download File:
    EMAAngle.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:        
        EMA Angle
    Version:            1.0  09/30/2009
     
    Formula Parameters:                     Default:
        Length                              34
        AngleTreshold                       0.2
        StartEMAShift                       6
        EndEMAShift                         0
        Price Scale                         10000
    Notes:
        
    **********************************/
    var fpArray = new Array();
    var 
    bInit false;

    function 
    preMain(){
        
    setPriceStudy(false);
        
    setShowCursorLabel(true);
        
    setShowTitleParameters(false);
        
    setStudyTitle("EMA Angle");
        
    setCursorLabelName("EMAAngle"0);
        
    setPlotType(PLOTTYPE_HISTOGRAM0);
        
    setDefaultBarFgColor(Color.red0);
        
    setDefaultBarThickness(2,0);
        var 
    0;
        
    fpArray[x] = new FunctionParameter("Length"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(1);
            
    setDefault(34);
        }    
        
    fpArray[x] = new FunctionParameter("AngleTreshold"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(0.00001);
            
    setDefault(0.2);
        }    
        
    fpArray[x] = new FunctionParameter("StartEMAShift"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(1);
            
    setDefault(6);
        }        
        
    fpArray[x] = new FunctionParameter("EndEMAShift"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(0);
            
    setDefault(0);
        }            
        
    fpArray[x] = new FunctionParameter("PriceScale"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setLowerLimit(0);
            
    setDefault(10000);
        }                
    }

    var 
    xMA null;

    function 
    main(LengthAngleTresholdStartEMAShiftEndEMAShiftPriceScale) {
    var 
    nBarState getBarState();
    var 
    nEndMA 0;
    var 
    nStartMA 0;
    var 
    nAngle 0;
    var 
    dFactor 3.14159 180.0;
    var 
    mFactor PriceScale;
    var 
    ShiftDif StartEMAShift EndEMAShift;
        if (
    nBarState == BARSTATE_ALLBARS) {
            if(
    Length == nullLength 34;
            if(
    AngleTreshold == nullAngleTreshold 0.2;
            if(
    StartEMAShift == nullStartEMAShift 6;
            if(
    EndEMAShift == nullEndEMAShift 0;        
            if(
    PriceScale == nullPriceScale 10000;        
        }
        
    mFactor PriceScale;    
        
    mFactor /= ShiftDif;
        if (
    bInit == false) {
            
    xMA ema(Lengthohlc4());
            
    bInit true;
        }
        
    nEndMA xMA.getValue(-EndEMAShift);
        
    nStartMA xMA.getValue(-StartEMAShift);
        if (
    nEndMA == null || nStartMA == null) return;
        
    nAngle mFactor * (nEndMA nStartMA);
        if(
    nAngle AngleTresholdsetBarFgColor(Color.green)
            else if (
    nAngle < -AngleTresholdsetBarFgColor(Color.red)
                else 
    setBarFgColor(Color.black);
        return 
    nAngle;

Working...
X