DateRange.efs

ICE Data Services -


DateRange.efs  EFSLibrary - Discussion Board
  

File Name: DateRange.efs


Description:
Code example for restricting a formula from back testing or executing outside specified date range.


Formula Parameters:
Start Month - 1
Start Day - 1
Start Year - 2004
End Month - 2
End Day - 31
End Year - 2004

Notes:
After applying the study to an advanced chart, go to Edit Studies and end enter the Day, Month and Year for both the start and end dates.

Download File:
DateRange.efs




EFS Code:





/*****************************************************************Provided By : eSignal. (c) Copyright 2004Restrict formula from back testing outside specified date range.Go to Edit Studies and end enter the Day, Month and Year for boththe start and end dates.*****************************************************************/function preMain() {    setPriceStudy(true);    setStudyTitle("Date Range");    setShowCursorLabel(false);        var fp1 = new FunctionParameter("startM", FunctionParameter.NUMBER);    fp1.setName("Start Month");    for (var i = 1; i <=12; ++i) {        fp1.addOption(i);    }    fp1.setDefault(1);    var fp2 = new FunctionParameter("startD", FunctionParameter.NUMBER);    fp2.setName("Start Day");    for (var i = 1; i <=31; ++i) {        fp2.addOption(i);    }    fp2.setDefault(1);    var fp3 = new FunctionParameter("startY", FunctionParameter.NUMBER);    fp3.setName("Start Year");    for (var i = 0; i < 10; ++i) {        fp3.addOption(2004-i);    }    fp3.setDefault(2004);    var fp4 = new FunctionParameter("endM", FunctionParameter.NUMBER);    fp4.setName("End Month");    for (var i = 1; i <=12; ++i) {        fp4.addOption(i);    }    fp4.setDefault(2);    var fp5 = new FunctionParameter("endD", FunctionParameter.NUMBER);    fp5.setName("End Day");    for (var i = 1; i <=31; ++i) {        fp5.addOption(i);    }    fp5.setDefault(31);    var fp6 = new FunctionParameter("endY", FunctionParameter.NUMBER);    fp6.setName("End Year");    for (var i = 0; i < 10; ++i) {        fp6.addOption(2004-i);    }    fp6.setDefault(2004);}function main(startM, startD, startY, endM, endD, endY) {    var barMonth = getMonth(0);    var barDay = getDay(0);    var barYear = getYear(0);        if (barYear < startY || barYear > endY) return;    if (barMonth < startM || barMonth > endM) return;    if (barDay < startD || barDay > endD) return;        // Insert code for back testing here        setBarBgColor(Color.grey);        return;}