Hi,

I'm trying to get some code to run as fast as possible. As such I've
been studying the 'Display Chart Timing' option under preferences>misc.

I've noticed some behaviour that I can't explain. I hope others may be
able to.

Firstly I notice that when my chart requires 10,000+ bars I start to
notice latency in AmiBroker, despite running a very fast PC. I assume
that is normal at that number of bars...?

So here's the problem...

Under normal circumstances my code requires 297 previous bars.

However, If I add the following lines, the number of previous bars
required increases by 5,000 for each instance. So after these three
lines of code I am now needing 15,297 pervious bars.

H1=SelectedValue(TimeFrameGetPrice( "H", inDaily, -1 ));
L1=SelectedValue(TimeFrameGetPrice( "L", inDaily, -1 ));
C1=SelectedValue(TimeFrameGetPrice( "C", inDaily, -1 ));

Even stranger, when I add the following line of code into the main
body of code,

test=((BarCount - 1) - LastValue(TroughBars(L, 0.05,10)));

It adds 500 bars to my previous bars required (total new 797).

However if I call a function and simply return the following,

return ((BarCount - 1) - LastValue(TroughBars(L, 0.05,10)));

It now requires 5,000 previous bars instead of the 500 outside of the
function (total now 5,297).

Can anyone explain this behaviour...?

Many Thanks



Reply via email to