Announcement

Collapse
No announcement yet.

Power Of Trend

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

  • Power Of Trend

    File Name: TrendPower.efs

    Description:
    Power Of Trend

    Formula Parameters:
    Length Fast : 4
    Length Slow : 8


    Notes:


    Download File:
    TrendPower.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:        
        Power Of Trend
        
    Version:            1.0  11/03/2009
     
    Formula Parameters:                     Default:
        Length Fast                         4
        Length Slow                         8
        
    Notes:
        
    **********************************/
    var fpArray = new Array();
    var 
    bInit false;

    function 
    preMain(){
        
    setPriceStudy(false);
        
    setShowCursorLabel(false);
        
    setShowTitleParameters(false);
        
    setStudyTitle("Power Of Trend");
        
    setCursorLabelName("ff"0);
        
    setPlotType(PLOTTYPE_HISTOGRAM0);
        
    setDefaultBarFgColor(Color.lime0)
        
    setDefaultBarThickness(50);
        
    setCursorLabelName("vk"1);
        
    setPlotType(PLOTTYPE_HISTOGRAM1);
        
    setDefaultBarFgColor(Color.blue1);
        
    setDefaultBarThickness(51);
        
    setCursorLabelName("vd"2);
        
    setPlotType(PLOTTYPE_HISTOGRAM2);
        
    setDefaultBarFgColor(Color.red2);
        
    setDefaultBarThickness(52);
        
    setCursorLabelName("vj"3);
        
    setPlotType(PLOTTYPE_HISTOGRAM3);
        
    setDefaultBarFgColor(Color.green3);
        
    setDefaultBarThickness(53);
        var 
    0;
        
    fpArray[x] = new FunctionParameter("LengthFast"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setName("Length Fast")
            
    setLowerLimit(1);
            
    setDefault(4);
        }    
        
    fpArray[x] = new FunctionParameter("LengthSlow"FunctionParameter.NUMBER);
        
    with(fpArray[x++]) {
            
    setName("Length Slow")
            
    setLowerLimit(1);
            
    setDefault(8);
        }        
    }

    var 
    xMAFast null;
    var 
    xMASlow null;
    var 
    xVTS null;

    function 
    main(LengthFastLengthSlow) {
    var 
    nBarState getBarState();
    var 
    vv 0;
    var 
    ff 0;
    var 
    vk 0;
    var 
    vd 0;
    var 
    vj 0;
        if (
    nBarState == BARSTATE_ALLBARS) {
            if(
    LengthFast == nullLengthFast 4;
            if(
    LengthSlow == nullLengthSlow 8;
        }
        if(
    LengthSlow <= LengthFastLengthSlow LengthFast 1;
        if (
    bInit == false) {
            
    xMAFast wma(LengthFast);
            
    xMASlow wma(LengthSlow);
            
    xVTS efsInternal("Calc_VTS"LengthFastLengthSlow);
            
    addBand(0PS_SOLID1Color.black"Zero");    
            
    bInit true;
        }
        
    f0 xMAFast.getValue(0);
        
    f1 xMASlow.getValue(0);
        
    vv xVTS.getValue(0);
        if (
    f1 == null || vv == null) return;
        
    ff f0 f1;          
        
    vk = (vv ff) / 2;
        
    vd = (vv 2);           
        
    vj = (ff vd);
        return new Array(
    ffvkvdvj);
    }

    var 
    bSecondInit false;
    var 
    xOHLC4 null;

    function 
    Calc_VTS(LengthFastLengthSlow) {
    var 
    nRes 0;
    var 
    0;
    var 
    0;
    var 
    vts 0;
    var 
    vtsCurr 0;
    var 
    v0 0;
    var 
    v1 0;
        if (
    bSecondInit == false) {
            
    xOHLC4 ohlc4();
            
    bSecondInit true;
        }
        if (
    xOHLC4.getValue(-LengthSlow) == null) return;
        for (
    0<= LengthSlowi++) {      
            
    vtsCurr 0;
            if (
    != 0) {
                for (
    1<= ij++) {
                    
    vtsCurr += xOHLC4.getValue(-j);
                }
                
    vtsCurr vtsCurr i;
            } 
            
    vts vts vtsCurr;
            if(
    == LengthFastv0 vts LengthFast;
            if(
    == LengthSlowv1 vts LengthSlow;                  
        }
        
    nRes v0 v1;
        return 
    nRes;

Working...
X