Errors, bugs, questions - page 2504
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
People, share some information. What are you using alignment for?
this is Raccoon-oriented programming!
Alas, you can't do without it ;)
this is Raccoon-oriented programming!
Alas, you can't do without it ;)
I'm aware of that. I'm not asking you to teach me about OOP. I asked who uses alignment for what purpose.
People, can you share some information? What are you using alignment for?
It all comes in handy in a multi-threaded environment, I see it that way. What's MKL got to do with it? I don't know, the question was asked, so I got stuck.
And in general - these are the basics, a basic understanding is necessary for any decent programmer.
ZS: Well, there are a lot of speed fanatics here, if they start to align everything intelligently, they should fly even faster, in theory at least.People, share some information. What are you using alignment for?
Vict:
ZS: well there are a lot of speed fans here, if they start to get it right, it should go even faster, in theory at least.
In general, I didn't even expect that:
The code is a little bit overcomplicated - I tried to hit that element which doesn't fit into cache line and bang directly on it, but it failed (it probably could be done if I wanted to, but I got bored), and I didn't change the code much. But this is even more impressive - only one of 16 collapses is done over element not falling into cache line, nevertheless it gives sensible result.
SZY: more objectively in this case to do RIGHT_ALIGNED by inserting two short, instead of removing unique (so we will achieve two updates of cache-line for both cases). The speedup will be more modest, but still about 1.5 times as much.
By the way, in mql the default value of pack is 1, sort of.
Judging from the previous post, maybe it makes sense to prescribe 8 explicitly to all structures and classes.
I can't get over the error.
I took the zigzag from the Metatrader delivery to demonstrate the error. Added additional buffers to the code, taken from my program. No manipulations with additional buffers are intended in this code. They are just to demonstrate the error.
Plotted this zigzag on EURUSD H1 timeframe. Closed the terminal. Deleted all generated time series for EURUSD from the history. I.e. deleted all *.hcc and *.hc files of the EURUSD currency pair. It has been done to ensure the loading of .hcc files and generation of .hc files from a clean sheet.
After the terminal has been started, you will see a lot of artifacts on the EURUSD chart. These artifacts cannot be dealt with.
I am attaching the modified code of the zigzag in the form of text and in the form of a file.
I want to warn you that parameters of the zigzag are specified via #propert.
All other buffers are not set through #propert, because everything, including zigzags buffers, are changed dynamically.
Please help terminal developers to fix this bug.
Picture with artifacts:
I can't get over the error.
I took the zigzag from the Metatrader delivery to demonstrate the error. Added additional buffers to the code, taken from my program. No manipulations with additional buffers are provided in this code. They are just to demonstrate the error.
Plotted this zigzag on EURUSD H1 timeframe. Closed the terminal. Deleted all generated time series for EURUSD from the history. I.e. deleted all *.hcc and *.hc files of the EURUSD currency pair. It has been done to ensure the loading of .hcc files and generation of .hc files from a clean sheet.
After the terminal has been started, you will see a lot of artifacts on the EURUSD chart. These artifacts cannot be dealt with.
I am attaching the modified code of the zigzag in the form of text and in the form of a file.
I want to warn you that parameters of the zigzag are specified via #propert.
All other buffers are not set through #propert, because everything, including zigzags buffers, are changed dynamically.
Please help terminal developers to fix this bug.
Picture with artifacts:
All buffers need to be initialized.
If there is no value in the buffer on the bar, it must be written explicitly to the buffer. In other words, if the calculated value is to be output to the buffer, write it to the buffer, otherwise write an empty value.
In general, I wasn't even expecting this:
Runs on my own have shown no noticeable difference.
If instead of
Forum on trading, automated trading systems and strategy testing
Bugs, bugs, questions
Vict, 2019.07.09 07:17
Data data[32768];
make
There is a 6x slowdown!
All buffers need to be initialised.
If there is no value in the buffer on the bar, it must be explicitly written in the buffer. I.e., if calculated value should be output to buffer - we write it to buffer, otherwise - we write empty value.
Sorry, I missed the initialisation. I have it in my program but missed it in the example.
Attached is a file with initialization. The effect is the same.
The question to developers remains. Please fix this bug.
-------------
In my opinion, the following happens. When launching the program together with the terminal, the timeseries size is either equal to zero or has some minimal value.
The program is initialized on the existing piece of history. But when the size of timeseries is increased, memory fragments that didn't pass through initialization are being used for buffer arrays. As a result, we have this effect.
I tried to handle this effect using events of the terminal. All the same the artefacts appear for a fraction of a second. And this is not good. Such a program must not be released.
Here is how to fix it. After memory allocation for buffers, you should clear this memory at once. But how can we do it? I haven't found such feature on the terminal application developer's side.