0% found this document useful (0 votes)
104 views2 pages

Pair Ratio

The document contains code for plotting a pair ratio and a linear regression line with standard deviation channels in Amibroker. It allows users to input parameters for stock tickers, price fields, and regression periods, and visualizes the data on a chart. The code includes features for customizing colors and styles for the regression line and channels.

Uploaded by

maddy_i5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views2 pages

Pair Ratio

The document contains code for plotting a pair ratio and a linear regression line with standard deviation channels in Amibroker. It allows users to input parameters for stock tickers, price fields, and regression periods, and visualizes the data on a chart. The code includes features for customizing colors and styles for the regression line and channels.

Uploaded by

maddy_i5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

_SECTION_BEGIN("Pair ratio");

Ticker= ParamStr("Short ticker", "type in ticker");//short stock


////////////////////////////////////////////
tickersc=Foreign( ticker, "C");//Short stock
////////////////////////////////////////////
ratio=C/tickersc;
P=ratio;
Plot(p ," /"+ ticker,5,5);
///////////////////////////////////////////////////////
_SECTION_END();

_SECTION_BEGIN("Linear_Regression_Line_w__Std_Deviation_Channels");
// Linear Regression Line with 2 Standard Deviation Channels Plotted Above and
Below
// Written by Patrick Hargus, with critical hints from Marcin Gorzynski,
Amibroker.com Technical Support
// Designed for use with AB 4.63 beta and above, using drag and drop feature.
// Permits plotting a linear regression line of any price field available on the
chart for a period determined by the user.
// 2 Channels, based on a standard deviation each determined by the user, are
plotted above and below the linear regression line.
// A look back feature is also provided for examining how the indicator would
have appeared on a chart X periods in the past.

P = ParamField("Price field",-1);
Daysback = Param("Period for Liner Regression Line",21,1,360,1);
shift = Param("Look back period",0,0,360,1);

// =============================== Math Formula


=============================================================

x = Cum(1);
lastx = LastValue( x ) - shift;
aa = LastValue( Ref(LinRegIntercept( p, Daysback), -shift) );
bb = LastValue( Ref(LinRegSlope( p, Daysback ), -shift) );
y = Aa + bb * ( x - (Lastx - DaysBack +1 ) );

// ==================Plot the Linear Regression Line


==========================================================

LRColor = ParamColor("LR Color", colorCycle );


LRStyle = ParamStyle("LR Style");

LRLine = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y, Null );
Plot( LRLine , "LinReg", LRCOLOR, LRSTYLE ); // styleDots );

// ========================== Plot 1st SD Channel


===============================================================

SDP = Param("Standard Deviation", 1.5, 0, 6, 0.1);


SD = SDP/2;

width = LastValue( Ref(SD*StDev(p, Daysback),-shift) ); // THIS IS WHERE THE


WIDTH OF THE CHANELS IS SET
SDU = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width , Null ) ;
SDL = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width , Null ) ;

SDColor = ParamColor("SD Color", colorCycle );


SDStyle = ParamStyle("SD Style");

Plot( SDU , "Upper Lin Reg", SDColor,SDStyle );


Plot( SDL , "Lower Lin Reg", SDColor,SDStyle );

// ========================== Plot 2d SD Channel


===============================================================

SDP2 = Param("2d Standard Deviation", 2.0, 0, 6, 0.1);


SD2 = SDP2/2;

width2 = LastValue( Ref(SD2*StDev(p, Daysback),-shift) ); // THIS IS WHERE THE


WIDTH OF THE CHANELS IS SET
SDU2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width2 , Null ) ;
SDL2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width2 , Null ) ;

SDColor2 = ParamColor("2 SD Color", colorCycle );


SDStyle2 = ParamStyle("2 SD Style");

Plot( SDU2 , "Upper Lin Reg", SDColor2,SDStyle2 );


Plot( SDL2 , "Lower Lin Reg", SDColor2,SDStyle2 );

// ============================ End Indicator Code


==============================================================
_SECTION_END();

You might also like