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
