In 10 tick chart Playback with "Tick by Tick'" resolution, a few bars just after Maxbarsback (about 8 to 12 bars) calls CalcBar() only once.
I set Maxbarsback to 1, 15, 30, but all case show similar symptom.
I made pivot table from output of indicator.
It shows what I have said.
I attach tick data file, test indicator, output files.
The number looks somewhat random. some 8, some 12, ...
Data is from 2017-06-07 to 2017-06-08,
After Playback is over, the test indicator should be deleted, to close the output file.
Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick" [SOLVED]
-
- Posts: 39
- Joined: 29 Nov 2007
- Has thanked: 8 times
- Been thanked: 2 times
Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick"
- Attachments
-
- output.zip
- (337.54 KiB) Downloaded 201 times
-
- _i_count_CalcBar.pln
- (12.65 KiB) Downloaded 416 times
-
- skip-test-data-to-import.txt
- (114.65 KiB) Downloaded 385 times
-
- Posts: 39
- Joined: 29 Nov 2007
- Has thanked: 8 times
- Been thanked: 2 times
Re: Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick"
Further test shows that jump to N-th bar, set Maxbarsback to M has some rule.
if M < N then
call CalcBar() from M+1, upto N, process bars as "As is", from N+1, process bars as "Tick by Tick". This looks normal.
if M >= N then
call CalcBar() from M+1, for a few undetermined number of bars, process them as "As is", after that, process bars as "Tick by Tick". This looks abnormal.
Attached output file which shows above behavior.
It may be by design, restricting to M < N, or may be a bug.
Anyway, user has to know this behavior in advance to prevent time consuming trial and error.
if M < N then
call CalcBar() from M+1, upto N, process bars as "As is", from N+1, process bars as "Tick by Tick". This looks normal.
if M >= N then
call CalcBar() from M+1, for a few undetermined number of bars, process them as "As is", after that, process bars as "Tick by Tick". This looks abnormal.
Attached output file which shows above behavior.
It may be by design, restricting to M < N, or may be a bug.
Anyway, user has to know this behavior in advance to prevent time consuming trial and error.
- Attachments
-
- output3.zip
- (1.89 MiB) Downloaded 203 times
-
- output2.zip
- (1.21 MiB) Downloaded 194 times
- Henry MultiСharts
- Posts: 9165
- Joined: 25 Aug 2011
- Has thanked: 1264 times
- Been thanked: 2957 times
Re: Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick"
Hello chi jeongki,
The study will be calculated on bar close only until you start the playback. Once playback is started - it will be calculated tick by tick.
The study will be calculated on bar close only until you start the playback. Once playback is started - it will be calculated tick by tick.
-
- Posts: 39
- Joined: 29 Nov 2007
- Has thanked: 8 times
- Been thanked: 2 times
Re: Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick"
Let's consider jumptto 5 case.
if Maxbarsback = 0, then CalcBar() is called from bar 1 close, bar 2 close, ... bar 5 close, bar 6 tick by tick.
It is as you said.
if Maxbarsback = 5, then CalcBar() should be called from bar 6, further more tick by tick, since Playback is starting from bar 6.
But the result shows, bar 6 close, bar 7 close, ... , bar 13 close, bar 14 tick by tick, bar 15 tick by tick,....
It is not like what you said.
if Maxbarsback = 6, then bar7 tick by tick, bar 8 tick by tick, ... should be the right result.
But the result shows, bar 7 close, bar 8 close, .... bar 13 close, bar 14 tick by tick, bar 15 tick by tick ...
I am pointing those bars in bold face, when Maxbarsback >= jumpto.
My guess is that according to jump to bar 5, chart is stopped at bar 5.
But, Maxbarsback 6 has not passed yet at bar 5,
At this moment MC.NET is confused, it want to proceed to bar 7, the bar next to Maxbarsback.
When Playback begin, at bar 6, it is still more confused whether to call CalcBar() or remain silent, since Maxbarsback 6 has not passed yet.
This confusion has some effect for bar 7, 8, ....
If there was no confusion, then at bar 7, CalcBar() should be called tick by tick.
if Maxbarsback = 0, then CalcBar() is called from bar 1 close, bar 2 close, ... bar 5 close, bar 6 tick by tick.
It is as you said.
if Maxbarsback = 5, then CalcBar() should be called from bar 6, further more tick by tick, since Playback is starting from bar 6.
But the result shows, bar 6 close, bar 7 close, ... , bar 13 close, bar 14 tick by tick, bar 15 tick by tick,....
It is not like what you said.
if Maxbarsback = 6, then bar7 tick by tick, bar 8 tick by tick, ... should be the right result.
But the result shows, bar 7 close, bar 8 close, .... bar 13 close, bar 14 tick by tick, bar 15 tick by tick ...
I am pointing those bars in bold face, when Maxbarsback >= jumpto.
My guess is that according to jump to bar 5, chart is stopped at bar 5.
But, Maxbarsback 6 has not passed yet at bar 5,
At this moment MC.NET is confused, it want to proceed to bar 7, the bar next to Maxbarsback.
When Playback begin, at bar 6, it is still more confused whether to call CalcBar() or remain silent, since Maxbarsback 6 has not passed yet.
This confusion has some effect for bar 7, 8, ....
If there was no confusion, then at bar 7, CalcBar() should be called tick by tick.
- Henry MultiСharts
- Posts: 9165
- Joined: 25 Aug 2011
- Has thanked: 1264 times
- Been thanked: 2957 times
Re: Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick"
Hello chi jeongki,
Please come to our live chat Monday-Friday 6:30 am - 11 am EST to demonstrate this behavior remotely.
Please come to our live chat Monday-Friday 6:30 am - 11 am EST to demonstrate this behavior remotely.
-
- Posts: 39
- Joined: 29 Nov 2007
- Has thanked: 8 times
- Been thanked: 2 times
Re: Playback : after Maxbarsback, a few first bars are treated as "As is" rather than "Tick by Tick" [SOLVED]
After live chat with remore control session, it was confirmed as a bug and will be fixed in future version.