Wed05222013

Last update12:00:00 AM

eSIGNAL: SEPTEMBER 2012

logo

For this month’s Traders’ Tip, we’ve provided the formula MultiPairIndicator.efs based on Vladimir Vladimirovich Voznjuk’s article in this issue, “Developing A Multilevel Strategy.”

Our multipair indicator study presented here contains formula parameters to set the two symbols to use for the pair, an option to use the one-way pair calculation, the upper band value, lower band value, the signal method (either levels or zero line), and the buy/sell signal colors, which may be configured through the Edit Chart window. This indicator will draw up and down arrows at the top and bottom in the indicator pane based on the signals as they occur.

To discuss this study or download a complete copy of the formula code, please visit the EFS library discussion board forum under the forums link from the support menu at www.esignal.com or visit our EFS KnowledgeBase at www.esignal.com/support/kb/efs/. The eSignal formula scripts (EFS) are also available for copying & pasting below.

/*********************************
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:     
Pair Trading. Developing A Multi-Level Strategy by Vladimir Vladimirovich Voznjuk
Version:            1.00  16/07/2012
Formula Symbol1eters:                         Default:
Symbol 1                                  6J #F
Symbol 2                                  6E #F 
One-way Pair                              false
Lower Band                                -0.01
Upper Band                                0.01
Signal Method                             Levels 
Buy Color                                 blue
Sell Color                                red 
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("MultiPair Indicator");      
setIntervalsBackfill(true);  
var x = 0;
fpArray[x] = new FunctionParameter("gSymbol1", FunctionParameter.STRING);
with(fpArray[x++])
{
setName("Symbol 1");        
setDefault("6J #F");
}     
fpArray[x] = new FunctionParameter("gSymbol2", FunctionParameter.STRING);
with(fpArray[x++])
{
setName("Symbol 2");        
setDefault("6E #F");
}     
fpArray[x] = new FunctionParameter("gOneWay", FunctionParameter.BOOLEAN);
with(fpArray[x++])
{
setName("One-way Pair");        
setDefault(false);
}    
fpArray[x] = new FunctionParameter("gLower", FunctionParameter.NUMBER);
with(fpArray[x++])
{
setName("Lower Band");        
setDefault(-0.01);
} 
fpArray[x] = new FunctionParameter("gUpper", FunctionParameter.NUMBER);
with(fpArray[x++])
{
setName("Upper Band");        
setDefault(0.01);
} 
fpArray[x] = new FunctionParameter("gMethod", FunctionParameter.STRING);
with(fpArray[x++])
{
setName("Signal Method");
addOption("Levels");
addOption("Zero line");         
setDefault("Levels");
} 
fpArray[x] = new FunctionParameter("gBuyColor", FunctionParameter.COLOR);
with(fpArray[x++])
{
setName("Buy Color");        
setDefault(Color.blue);
} 
fpArray[x] = new FunctionParameter("gSellColor", FunctionParameter.COLOR);
with(fpArray[x++])
{
setName("Sell Color");        
setDefault(Color.red);
} 
}
var bInit = false;
var bVersion = null;
var xSymbol2Open = null;
var xSymbol2Close = null;
var xSymbol1Open = null;
var xSymbol1Close = null;
var vInterval = null;
function main(gSymbol1, gSymbol2, gOneWay, gLower, gUpper, gMethod,gBuyColor,gSellColor)
{
if (bVersion == null) bVersion = verify();
if (bVersion == false) return; 
if (!bInit)
{
vInterval = getInterval();
xSymbol2Open = open(sym(gSymbol2+","+vInterval));
xSymbol2Close = close(sym(gSymbol2+","+vInterval));
xSymbol1Open = open(sym(gSymbol1+","+vInterval));
xSymbol1Close = close(sym(gSymbol1+","+vInterval));
addBand(gLower,PS_SOLID,1,gBuyColor,0);
addBand(gUpper,PS_SOLID,1,gSellColor,1);
addBand(0,PS_SOLID,1,Color.lime,2);
bInit = true;
}
var vSymbol2Open_0 = xSymbol2Open.getValue(0);
var vSymbol2Open_1 = xSymbol2Open.getValue(-1);
var vSymbol2Close_0 = xSymbol2Close.getValue(0);
var vSymbol2Close_1 = xSymbol2Close.getValue(-1);
var vSymbol1Open_0 = xSymbol1Open.getValue(0);
var vSymbol1Open_1 = xSymbol1Open.getValue(-1);
var vSymbol1Close_0 = xSymbol1Close.getValue(0);
var vSymbol1Close_1 = xSymbol1Close.getValue(-1);
if (vSymbol2Open_1 == null || vSymbol2Close_1 == null || vSymbol1Open_1 == null || vSymbol1Close_1 == null) 
return;
var vRes_0 = 0;
var vRes_1 = 0;
if (gOneWay)
{
vRes_0 = (vSymbol2Close_0 - vSymbol2Open_0)+(vSymbol1Close_0 - vSymbol1Open_0);
vRes_1 = (vSymbol2Close_1 - vSymbol2Open_1)+(vSymbol1Close_1 - vSymbol1Open_1);
}
else
{
vRes_0 = (vSymbol2Close_0 - vSymbol2Open_0)-(vSymbol1Close_0 - vSymbol1Open_0);
vRes_1 = (vSymbol2Close_1 - vSymbol2Open_1)-(vSymbol1Close_1 - vSymbol1Open_1);
}
var nBarsCount = getCurrentBarCount();
if (gMethod == "Levels")
{   
if (vRes_0>gUpper && vRes_1<gUpper) 
{
drawShapeRelative(0, TopRow2  , Shape.DOWNARROW, null, gSellColor, Shape.PRESET,"LDn"+nBarsCount);         
} 
else
{
removeShape("LDn"+nBarsCount);
}
if (vRes_0<gLower && vRes_1>gLower) 
{
drawShapeRelative(0, BottomRow2  , Shape.UPARROW, null, gBuyColor, Shape.PRESET,"LUp"+nBarsCount);
} 
else
{
removeShape("LUp"+nBarsCount);
}
}
if (gMethod == "Zero line")
{   
if (vRes_1<0 && vRes_0>0) 
{
drawShapeRelative(0, BottomRow2  , Shape.UPARROW, null, gBuyColor, Shape.PRESET,"ZUp"+nBarsCount); 
} 
else
{
removeShape("ZUp"+nBarsCount);
}
if (vRes_1>0 && vRes_0<0) 
{
drawShapeRelative(0, TopRow2  , Shape.DOWNARROW, null, gSellColor, Shape.PRESET,"ZDn"+nBarsCount);           
} 
else
{
removeShape("ZDn"+nBarsCount);
}
}
return vRes_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;
}

A sample chart is shown in Figure 1.

Image 1

FIGURE 1: eSIGNAL, MULTIPAIR INDICATOR STUDY

—Jason Keck
eSignal, an Interactive Data company
800 779-6555, www.eSignal.com


To read the entire issue click here and subscribe today!

PTSK — The Professional Traders' Starter Kit
Home| Working Money Magazine | S&C Magazine | Traders.com Advantage | Online Store | Traders’ Resource
Add a Product to Traders’ Resource | Message Boards | Subscribe/Renew | Free Trial Issue | Article Code | Search

DEPARTMENTS: Advertising | Editorial | Circulation | Employment | Contact Us | BY PHONE: (206) 938-0570

Join us on Facebook     Follow us on Twitter     Follow Us on StockTwits

Bookmark and ShareCopyright © 1996-2013 Technical Analysis, Inc. All rights reserved. Read our disclaimer & privacy statement.

SUBSCRIBE TO OUR FREE
EMAIL NEWSLETTER!