Errors, bugs, questions - page 3039

 
Nikolai Semko:
A little hint - you can close all but the required graphs, then the consumption will be about the same as if your crutch had been implemented.
 
Andrei Trukhanovich:
a little hint - you can close all graphs except the one you need, then the consumption will be about the same as if your crutch had been implemented.

old-school logic

I have iton VPS, but I'm sorry. I do not want to be limited by anything.
 
Igor Makanu:

If now we are talking about memory consumption, I remember a couple of months ago@fxsaber had the same problem, but when loading ticks - after releasing arrays with ticks, the terminal does not free memory, but stores (for 10 seconds?) these ticks as a cache

It's highly probable that your request will have the same problem - memory consumption will not decrease but on the contrary will increase ( in spades)

I don't understand why.
I know how to use ArrayFree function.
Especially I will use the function I'm asking for only once. But at the same time I don't need to turn on Unlimited.
The whole story for one tool fits somewhere around 80-100 MB (both in RAM and on disk). Now it's about 500 Mb on the disk.
I turn on the terminal and load the array of structures from the file into the memory and work in peace. No peaks at all.
I would use regular data structure. The hell with having a lot of space. But I need time for High and Low.
I already use ticks to the fullest extent in shaping my data structure, but they don't have all the depth of history and tend to have mismatches with the minute bars. I have ticks and no bars, or I have bars and no ticks.


 
Nikolai Semko:

well to shoot yourself in the foot - there are innumerable options as it is.
Just by setting max_bars =Unlimited, memory consumption increases dramatically.
Here is an example of the terminal with max_bars = 5000

Now change max_bars = Unlimited and reload the terminal.

With the same windows open, memory consumption has increased by more than GB. In my case 11 times larger !!!!
This is a normal one ))
You can check it yourself.
max_bars = Unlimited is a very tough luxury.
If

my request was granted, you could never usemax_bars = Unlimited.
And besides saving memory in RAM, it would also greatly reduce this folder, which I now have about 31GB. I think about 5 times that. And it would be 6GB instead of 30GB.

So you're suggesting that everyone should be unmountable Unlimited!

If one program has access to all the bars, then everyone has it.

Why should the charts show a thousand bars if the indicator has access to a million?


Another question is to enable access to the hcc format and to the folder with history files. But everything is not simple there either - caches, economical reset, checking for correctness, something else...

 

2940

I had the code of the indicator: everything worked fine on the chart and in the tester.

I created a new version of the indicator with the changes made: it works fine in the chart, but not in the tester (it doesn't draw anything, although the data window shows buffers and they are empty).

I spent a few hours to understand it, rolled back the previous version of the code, nothing helped. Only the update in the terminal navigator helped and the new code works in the tester too, not only on the chart.

I think something is broken in the automatic update of compilers which the tester sees, I don't see any other reason.

 
Nikolai Semko:

I would use the regular data structure. Fuck it, there's plenty of space. But I need time for High and Low.
I already use ticks to the fullest extent in shaping my data structure, but they don't have all the depth of history and tend to be out of sync with the minute bars. I have ticks and no bars, and then I have bars and no ticks.

If there were ticks for 20 years, would you use them? Can I not ask why? )

Well ok, you can set up a super-smart self-adapting strategy, and out of interest run it once on a 20 year tick history. Out of interest. Once.

But not for work, not as a regular feature.


And if the timing is off, why do you believe the bars? That's nonsense.

 
Andrey Khatimlianskii:

So you are suggesting that everyone should be made Unlimited!

If one program has access to all bars, then everyone has it.

Why should the charts show a thousand bars if the indicator has access to a million?


Another question is to enable access to the hcc format and to the folder with history files. But not everything is simple there - caches, economical reset, checking for correctness, something else...

You don't need to access the hcc format and the folder with the history files. Firstly MQ will never go for that, secondly it's not necessary. Just getting the M1 array from these files will be enough.

That's the thing, I want to be able to never enableUnlimited. Because such inclusion starts pumping data for all instruments. But I don't need all of them, just one at any given time. Why would I want to overload the system by downloading additional hundreds of Mb of historical data without any control.

 
Andrey Khatimlianskii:

Would there have been tics in 20 years, would you have used them? Can I not wonder - why? )

Well ok, you could set up a super-smart self-adapting strategy, and out of interest run it once on a 20 year tick history. Out of interest. Once.

But not for work, not as a regular feature.


And if the timing is off, why do you believe the bars? That's nonsense at all.

This is not about a strategy, but the correct visualization of a dynamic timeframe, which is much more intuitive and convenient than the existing archaic timeframe system.
Also for the possibility of internal testing "on the fly".
Although it may also affect some accuracy in the strategies in a positive sense.

Well, here is at least a small example:
How to build a regular ZigZag, when you do not know which event has occurred first, High or Low?




or



if you're trying to figure it out for daily bars, there's no guarantee that with max_bars = 50,000, you can load lower timeframes for a given bar time, and ticks too.

 
Error during execution:
void OnStart()
{
    uchar  array[];
    const string text = "All Files\0*.*\0\0";
    const int start = 0, count = StringLen( text );
    Print( StringToCharArray( text, array, start, count ), ":", count );
}

Result: 10:15

Expected 15:15

I wanted to use the result in the WinAPI function GetSaveFileNameA, but I can't because of a bug


 
A100:

This has been the case for a long time. mql strings really don't like null characters inside a string and in literals, in functions too.

The only normal way is to translate three strings with a terminating null into an array.

That is, such behavior as it is now was done intentionally some years ago. I don't know why.
Reason: