Comment modifier la structure de la variable globale de l'indicateur lors du passage à une autre période ? - page 7

 

fxsaber
:

Le résultat du travail avec SIZE = 1000 de mon code(fichier StructArr.mqh - légèrement modifié. J'ai supprimé les choses inutiles):

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 микросекунд

Même résultat avec votre bible (fichier 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 микросекунд


Victoire pour vous :))
Je vais devoir creuser dans votre code :(
Bon travail. Merci !

Dossiers :
 
fxsaber:

Un tel compteur.

Oui, je comprends votre secret.
J'ai continué à me poser des questions. Je vois que vous semblez utiliser un tableau dynamique à l'intérieur de l'union.
Puis j'ai compris comment vous avez fait un tableau pseudo-dynamique en utilisant une boucle.
C'est cool, surtout ton style cryptographique "je tourne, je vis" :))
Le gain est surtout sensible sur les grands tableaux de structures.
La seule chose que j'aurais peut-être ajoutée est CONVERT_AMOUNT étendu à plusieurs valeurs : par exemple 32, 128, 512, 2048, .... avec autodétection.

 
Nikolai Semko:

Oui, je comprends votre secret.
Je me suis creusé la tête. J'ai l'impression que vous utilisez un tableau dynamique à l'intérieur de l'union.
Puis j'ai compris comment vous avez essentiellement créé un pseudo tableau dynamique en utilisant une boucle.
Cool, surtout ton style cryptographique "I'm spinning, I'm screwing" :))
Le gain est particulièrement sensible sur les grands tableaux de structures.
La seule chose que je pourrais ajouter, c'estCONVERT_AMOUNT étendu à plusieurs valeurs : par exemple 32, 128, 512, 2048, ... Avec autodétection.

 
fxsaber:
Peut-être. Je crois que j'ai déjà rencontré quelque chose comme ça.
Raison: