How do I move the global variable structure in the indicator when moving to another timeframe? - page 7

 

fxsaber
:

Result of working with SIZE = 1000 of my code (file StructArr.mqh - slightly modified. I threw out unnecessary things):

2021.07.11 08:13:06.839 TestVar (EURUSD,M5)     Сохранение данных - 30 микросекунд
2021.07.11 08:13:06.839 TestVar (EURUSD,M5)     Время T[] -> uint[] - 23 микросекунд
2021.07.11 08:13:17.276 TestVar (EURUSD,M6)     Востановление данных - 272 микросекунд
2021.07.11 08:13:17.276 TestVar (EURUSD,M6)     Время uint[] -> T[] - 22 микросекунд
2021.07.11 08:13:20.448 TestVar (EURUSD,M10)    Востановление данных - 488 микросекунд
2021.07.11 08:13:20.448 TestVar (EURUSD,M10)    Время uint[] -> T[] - 30 микросекунд
2021.07.11 08:13:23.431 TestVar (EURUSD,M12)    Востановление данных - 1355 микросекунд
2021.07.11 08:13:23.431 TestVar (EURUSD,M12)    Время uint[] -> T[] - 44 микросекунд
2021.07.11 08:13:27.729 TestVar (EURUSD,M20)    Востановление данных - 350 микросекунд
2021.07.11 08:13:27.729 TestVar (EURUSD,M20)    Время uint[] -> T[] - 22 микросекунд

Same result with your bible ( file StructArrFx.mqh)

2021.07.11 08:20:52.663 TestVar (EURUSD,M5)     Сохранение данных - 60 микросекунд
2021.07.11 08:20:52.663 TestVar (EURUSD,M5)     Время T[] -> uint[] - 50 микросекунд
2021.07.11 08:21:01.888 TestVar (EURUSD,M6)     Востановление данных - 319 микросекунд
2021.07.11 08:21:01.888 TestVar (EURUSD,M6)     Время uint[] -> T[] - 7 микросекунд
2021.07.11 08:21:04.395 TestVar (EURUSD,M10)    Востановление данных - 615 микросекунд
2021.07.11 08:21:04.395 TestVar (EURUSD,M10)    Время uint[] -> T[] - 7 микросекунд
2021.07.11 08:21:07.774 TestVar (EURUSD,M12)    Востановление данных - 1410 микросекунд
2021.07.11 08:21:07.774 TestVar (EURUSD,M12)    Время uint[] -> T[] - 10 микросекунд
2021.07.11 08:21:10.292 TestVar (EURUSD,M15)    Востановление данных - 460 микросекунд
2021.07.11 08:21:10.292 TestVar (EURUSD,M15)    Время uint[] -> T[] - 6 микросекунд
2021.07.11 08:21:13.600 TestVar (EURUSD,M20)    Востановление данных - 692 микросекунд
2021.07.11 08:21:13.600 TestVar (EURUSD,M20)    Время uint[] -> T[] - 6 микросекунд


Victory to you :))
I will have to dig into your code :(
Good work. Thank you!

Files:
 
fxsaber:

Such a meter.

Yes, I understand your secret.
I kept puzzling over it. I see that you seem to use dynamic array inside union.
Then I figured out how you actually made pseudo-dynamic array using loop.
Cool, especially your cryptographic style "I'm spinning, I'm screwing" :))
The gain is especially noticeable on large arrays of structures.
The only thing I might have added is CONVERT_AMOUNT expanded to several values: e.g. 32, 128, 512, 2048, ... with autodetection.

 
Nikolai Semko:

Yes, I understand your secret.
I've been racking my brain. I see as if you're using a dynamic array inside union.
Then I figured out how you essentially made a pseudo dynamic array using a loop.
It's cool, especially your cryptographic style "I'm spinning, I'm screwing" :))
The gain is especially noticeable on large arrays of structures.
The only thing I may have added isCONVERT_AMOUNT expanded to several values: e.g. 32, 128, 512, 2048, ... With autodetection.

 
fxsaber:
Maybe. I think I've come across something like that.