[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: help needed w afl



PureBytes Links

Trading Reference Links

Tomasz answered kindly

Hello,
 
This formula is written poorly:
 
FIRST:
 
Replace Cum( 1 ) with BarIndex()
 
 
So instead of:
 
x = 

Cum(1); 
 
use 
 
x = BarIndex();
 
 
Then replace all other occurrences of BarIndex() by simply x
(AVOID repetitive calls of the same function !)
 
Again replace repetitive calls of StDev and LinRegSlope 
with ONE call and use later the variables.
 

Best regards,
Tomasz Janeczko










--- In amibroker@xxxxxxxxxxxxxxx, "lagramada7" <tm7@xxx> wrote:
>
> I mailed to Tomasz about a AFL script I derived from one on AFL 
library
> I added some more lines @ fib distance to the original channel. 
works
> fine in day, 60 or 30 min, but with YM in 3 or 5 min my laptop is 
very,
> very slow
> // 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
> 
> 
>    AB slows to a crawl when using following AFL with YM in 3 min any
> hint?   sincerely
> // Linear Regression Line with 2 Standard Deviation Channels Plotted
> Above and Below
> 
> // Written by Patrick Hargus, with critical hints from Marcin 
Gorzynski,
> Amibroker.com <http://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", 233,1,21046,1);
> shift =
> Param("Look back period",0 ,0,240,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.3 , 0, 21, 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.1 , 0, 21, 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 );
> // ========================== Plot 3d SD Channel
> ===============================================================
> 
> SDP3 =
> Param("3d Standard Deviation", 3.4 , 0, 21, 0.1);
> SD3 = SDP3/
> 2;
> width3 =
> LastValue( Ref(SD3*StDev (p, Daysback),-shift) ); // THIS IS WHERE 
THE
> WIDTH OF THE CHANELS IS SET
> SDU3 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width3 , 
Null ) ;
> SDL3 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width3 , 
Null ) ;
> SDColor3 =
> ParamColor("3 SD Color", colorCycle );
> SDStyle3 =
> ParamStyle("3 SD Style");
> Plot
> ( SDU3 , "Upper Lin Reg", SDColor3,SDStyle3 );
> Plot
> ( SDL3 , "Lower Lin Reg", SDColor3,SDStyle3 );
> // ========================== Plot 4d SD Channel
> ===============================================================
> 
> SDP4 =
> Param("4d Standard Deviation", 5.5 , 0, 21, 0.1);
> SD4 = SDP4/
> 2;
> width3 =
> LastValue( Ref(SD4*StDev (p, Daysback),-shift) ); // THIS IS WHERE 
THE
> WIDTH OF THE CHANELS IS SET
> SDU4 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width3 , 
Null ) ;
> SDL4 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width3 , 
Null ) ;
> SDColor4 =
> ParamColor("4 SD Color", colorCycle );
> SDStyle4 =
> ParamStyle("4 SD Style");
> Plot
> ( SDU4 , "Upper Lin Reg", SDColor4,SDStyle4 );
> Plot
> ( SDL4 , "Lower Lin Reg", SDColor4,SDStyle4 );
> 
> 
> 
> 
> // ========================== Plot 5d SD Channel
> ===============================================================
> 
> SDP5 =
> Param("5d Standard Deviation", 8.9 , 0, 21, 0.1);
> SD5 = SDP5/
> 2;
> width5 =
> LastValue( Ref(SD5*StDev (p, Daysback),-shift) ); // THIS IS WHERE 
THE
> WIDTH OF THE CHANELS IS SET
> SDU5 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width5 , 
Null ) ;
> SDL5 =
> IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width5 , 
Null ) ;
> SDColor5 =
> ParamColor("5 SD Color", colorCycle );
> SDStyle5 =
> ParamStyle("5 SD Style");
> Plot
> ( SDU5 , "Upper Lin Reg", SDColor5,SDStyle5 );
> Plot
> ( SDL5 , "Lower Lin Reg", SDColor5,SDStyle5 );
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/