2014 Feb: The Degree Of Complexity by Oscar G. Cagigas

ICE Data Services -


BasicDonchianSystem.efs  EFSLibrary - Discussion Board
  

File Name: BasicDonchianSystem.efs

Description:
The Degree Of Complexity by Oscar G. Cagigas


Formula Parameters:

BasicDonchianSystem.efs
Len1: 40
Len2: 15
Long Color: lime
Short Color: red


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

Download File:
BasicDonchianSystem.efs


BasicDonchianSystem.efs



EFS Code:

BasicDonchianSystem.efs

/*********************************Provided By:      Interactive Data Corporation (Copyright ???? 2013)     All rights reserved. This sample eSignal Formula Script (EFS)    is for educational purposes only. Interactive Data Corporation    reserves the right to modify and overwrite this EFS file with     each new release. Description:            The Degree Of Complexity by Oscar G. CagigasFormula Parameters:                     Default:Len1                                    40Len2                                    15Long Color                              limeShort Color                             redVersion:            1.00  12/05/2013Notes:    The related article is copyrighted material. If you are not a subscriber    of Stocks & Commodities, please visit www.traders.com.**********************************/var fpArray = new Array();function preMain(){       setStudyTitle("BasicDonchianSystem");    setPriceStudy(true);        var x = 0;    fpArray[x] = new FunctionParameter("fpLen1", FunctionParameter.NUMBER);    with(fpArray[x++])    {        setName("Len1");        setLowerLimit(20);        setUpperLimit(40);        setDefault(40);    }    fpArray[x] = new FunctionParameter("fpLen2", FunctionParameter.NUMBER);    with(fpArray[x++])    {        setName("Len2");        setLowerLimit(5);        setUpperLimit(30);        setDefault(15);    }    fpArray[x] = new FunctionParameter("gLongColor", FunctionParameter.COLOR);    with(fpArray[x++])    {        setName("Long Color");            setDefault(Color.lime);    }         fpArray[x] = new FunctionParameter("gShortColor", FunctionParameter.COLOR);    with(fpArray[x++])    {        setName("Short Color");            setDefault(Color.red);    }  }var bInit = false;var bVersion = null;var xHHV1 = null;var xLLV1 = null;var xHHV2 = null;var xLLV2 = null;var xHigh = null;var xLow  = null;var xOpen = null;function main(fpLen1,fpLen2,gLongColor,gShortColor) {    if (bVersion == null) bVersion = verify();    if (bVersion == false) return;    if (!bInit)    {           xHigh = high();        xLow = low();        xOpen = open();                xHHV1 = hhv(fpLen1, xHigh);        xLLV1 = llv(fpLen1, xLow);                xHHV2 = hhv(fpLen2, xHigh);        xLLV2 = llv(fpLen2, xLow);            bInit = true;    }    var nBuyStop   = xHHV1.getValue(-1);    var nSellStop  = xLLV2.getValue(-1);    var nShortStop = xLLV1.getValue(-1);    var nCoverStop = xHHV2.getValue(-1);    var nHigh = xHigh.getValue(0);    var nLow  = xLow.getValue(0);    var nOpen = xOpen.getValue(0);    if (nBuyStop == null || nSellStop == null || nShortStop == null || nCoverStop == null || nHigh == null || nLow == null || nOpen == null)        return;        nPrice=null;        if (getCurrentBarIndex() != 0)     {                               // Entry Strategy            if (!Strategy.isInTrade())            {               //LONG ENTRY                    if (nHigh > nBuyStop)                                        {                       Strategy.doLong("Enter Long", Strategy.CLOSE, Strategy.THISBAR);                                                                                                  drawTextRelative(0, BelowBar2, "Long", Color.black, gLongColor, Text.PRESET, null, null);                     }                 else                {                    //SHORT ENTRY                    if (nLow < nShortStop)                    {                                              Strategy.doShort("Enter Short", Strategy.CLOSE, Strategy.THISBAR);                                                                                                  drawTextRelative(0, AboveBar2, "Short", Color.black, gShortColor, Text.PRESET, null, null);                      }                }            }                    // Exit Strategy            if (Strategy.isInTrade())            {                //EXIT                if ((nLow < nSellStop) && Strategy.isLong())                        {                                                      Strategy.doSell("Exit", Strategy.CLOSE, Strategy.THISBAR);                                                                                                          drawTextRelative(0, AboveBar2, "Exit", Color.black, gShortColor, Text.PRESET, null, null);                          }                else                    {                        //COVER                        if ((nHigh > nCoverStop) && Strategy.isShort())                        {                                                      Strategy.doCover("Cover", Strategy.CLOSE, Strategy.THISBAR);                                                                                                          drawTextRelative(0, BelowBar2, "Cover", Color.black, gLongColor, Text.PRESET, null, null);                         }                }            }                     }         return;}function verify() {    var b = false;    if (getBuildNumber() < 779)     {        drawTextAbsolute(5, 35, "This study requires version 8.0 or later.",             Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,            null, 13, "error");        drawTextAbsolute(5, 20, "Click HERE to upgrade.@URL=http://www.esignal.com/download/default.asp",             Color.white, Color.blue, Text.RELATIVETOBOTTOM|Text.RELATIVETOLEFT|Text.BOLD|Text.LEFT,            null, 13, "upgrade");        return b;    }     else     {        b = true;    }    return b;}