VIX_TimingSystem.efs
EFSLibrary - Discussion Board
File Name: VIX_TimingSystem.efs
Description:
Using VIX To Forecast The S&P 500 by Trent Gardner
Formula Parameters:
VIX_TimingSystem.efs
- Long Position Color: lime
- Short Position Color: red
- SMA Period: 50
- Days Limit: 11
Notes:
The related article is copyrighted material. If you are not a subscriber of Stocks & Commodities, please visit www.traders.com.
Download File:
VIX_TimingSystem.efs
VIX_TimingSystem.efs
EFS Code:
VIX_TimingSystem.efs
/********************************* Provided By: eSignal (Copyright c eSignal), a division of Interactive Data Corporation. 2012. 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: Using VIX To Forecast The S&P 500 by Trent Gardner Version: 1.00 12/10/2012 Formula Parameters: Default: Long Position Color lime Short Position Color red SMA Period 50 Days Limit 11 Notes: 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("VIX_TimingSystem"); setIntervalsBackfill(true); setPriceStudy(true); var x=0; fpArray[x] = new FunctionParameter("gBuyColor", FunctionParameter.COLOR); with(fpArray[x++]) { setName("Long Position Color"); setDefault(Color.lime); } fpArray[x] = new FunctionParameter("gSellColor", FunctionParameter.COLOR); with(fpArray[x++]) { setName("Short Position Color"); setDefault(Color.red); } fpArray[x] = new FunctionParameter("gSMAPeriod", FunctionParameter.NUMBER); with(fpArray[x++]) { setName("SMA Period"); setLowerLimit(1); setDefault(50); } fpArray[x] = new FunctionParameter("gDaysLimit", FunctionParameter.NUMBER); with(fpArray[x++]) { setName("Days Limit"); setLowerLimit(1); setDefault(11); } } var bInit = false; var bVersion = null; var xLow = null; var xSMA = null; var xSMA50 = null; function main(gBuyColor,gSellColor,gSMAPeriod,gDaysLimit) { if (bVersion == null) bVersion = verify(); if (bVersion == false) return; if(!bInit) { xLow = low(sym("$VIX")); xSMA = sma(gSMAPeriod,xLow); xSMA50 = sma(gSMAPeriod); bInit = true; } var vLow = xLow.getValue(-gDaysLimit); var vSMA = xSMA.getValue(-gDaysLimit); var vSMA50 = xSMA50.getValue(-gDaysLimit); if ((vLow == null) || (vSMA == null) || (vSMA50 == null)) return; var cntUp = 0; var cntDown = 0; for (i=-gDaysLimit; i<0; i++) { if (xLow.getValue(i)>xSMA.getValue(i)) cntUp++; if (xLow.getValue(i)<xsma.getvalue(i)) cntdown++;="" }="" back="" testing="" formulas="" are="" not="" for="" real="" time="" analysis.="" therefore,="" prevent="" processing="" and="" exit="" at="" bar="" 0.="" if="" (getcurrentbarindex()="" !="0)" {="" var="" blstrategy="Strategy.isLong();" (!blstrategy)="" (cntdown="">=gDaysLimit) { Strategy.doLong("Enter Long", Strategy.MARKET, Strategy.THISBAR); drawTextRelative(0, BelowBar1, "Long", Color.black, gBuyColor, Text.PRESET, null, null); } } else { if (cntUp>=gDaysLimit) { Strategy.doShort("Enter Short", Strategy.MARKET, Strategy.THISBAR); drawTextRelative(0, AboveBar1, "Short", Color.black, gSellColor, Text.PRESET, null, null); } } } return xSMA50.getValue(0); } 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; }