Errors, bugs, questions - page 1593
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
Magic script reverses time ;-)
The smartphone receives a message about a product review, but not on the LC or on the top of the mcl website.
Not a bug, but can't help but share
Writing
Compiler gives out a warning
invalid date *****.mq4 115 46
It also checks for valid string dates, I'm shocked ) (30 days in June)
Apparently no one cares about this, but I'll write again.
The real task is to create arrays with a total size of about 100% of free memory, quickly fill them with numbers, perform calculations and release them.
I try to get free memory size with
result : 23987 MB, my physical memory is 12141 MB, i.e. half as much.
I understand that this figure is for Martians, but I still believe it and write a script to test it:
I get a logical result - it is impossible to allocate array3 because memory has run out.
Then I uncomment line, where I specify how much memory is available now:
After that the script runs successfully.
I don't want to be a nuisance to developers, but it's important to know how much memory is available.
Please make it possible to know it through TerminalInfoInteger.
Are you aware that in most cases you will not be able to retrieve all available memory?
There is such a thing as memory fragmentation. You've decided to split all the memory into 5 fragments - and the system doesn't have a single uninterrupted fragment of memory of the size you need.
Are you aware that in most cases you will not be able to retrieve all available memory?
There is such a notion - memory fragmentation. You have decided to divide all the memory into 5 fragments - but the system doesn't have a single continuous piece of memory of the size you need.
1. Can you first find out what the TERMINAL_MEMORY_AVAILABLE parameter means physically ?
2. Regarding fragments, I think this should be handled by the Windows memory manager, not the programmer.
I need to know how much I can use at a given moment, for example, I want to use 50% of available memory.
Another real task is the CopyTicks request. If you request more ticks than available memory you get 'out of memory'.
Another real challenge is the CopyTicks request. If you request more ticks than available memory you get 'out of memory'.
Alternatively, upload the data to a file and take the required segments from there
That's slow for me. I want to do everything through memory. Actually it's being done now, but I have to call GlobalMemoryStatusEx to find out the size of available memory.
This problem is especially acute when optimizing on cloud agents, whose capabilities you know nothing about from the beginning. It is impossible to determine the real amount of available memory there, neither through MQL, nor through WinApi (because dll calls are forbidden).
It's really unclear what practical sense TERMINAL_MEMORY_AVAILABLE has then? Why would we introduce it if it makes us neither happy nor unhappy?