Histoire d'un tic-tac - page 4

 
Tapochun:

Le chemin... pas bon, vous ne pensez pas ? !

C'est la première chose qui m'est venue à l'esprit.
 
Vasiliy Sokolov:
Suggestion aux développeurs : introduire un format de temps plus précis dans la structure MqlTick, de sorte que chaque tick ait un nombre de millisecondes.
Sans cela, cela n'a aucun sens de commencer tout cela si je veux analyser simultanément l'histoire de plusieurs instruments, car sans cela je ne verrai pas la séquence d'influence mutuelle des instruments les uns sur les autres.
 
Renat Fatkhullin:

Tout arrive, c'est juste que le premier appel déclenche la pagination et que les appels suivants sont instantanés.

Voici un exemple :

Une demande de 2.000.000 de tiques :

Les fichiers tick se trouvent ici, afin de pouvoir les transférer facilement (car ils seront énormes) :
10-20 mb par mois. Il a demandé 20 millions de ticks, et les fichiers ne sont que jusqu'à mai de cette année. Cependant...
 
Oleg Tsarkov:
Vous ne pouvez pas attendre des courtiers qu'ils vous donnent un historique régulier et détaillé. Ils ont appris à transformer les minutes en heures sur un cinq et si vous vous en plaignez, ils disent qu'ils ne peuvent pas se permettre de charger le serveur avec des gigaoctets de données historiques. Quel genre de tiques y a-t-il...
Le défunt RVD vous permettait de télécharger plus d'un an d'historique de tics.
 
Plus besoin de collecteurs de tics - l'historique des tics est disponible dans le terminal.
 
Tapochun:
10-20 mb par mois. Demandé 20.000.000 de tiques, et des dossiers seulement jusqu'en mai de cette année. Cependant...

C'est exact, 20 000 000 de ticks, c'est environ (tout dépend du symbole) jusqu'au 15 mai 2015.

2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Тик 19999999: 2015.10.15 16:03:04 bid: 0.73775 last: 0.0
2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Тик 0: 2015.05.15 16:00:47 bid: 0.72077 last: 0.72077
2015.10.15 16:03:08.585 CopyTicks (EURGBP,M1)   Получено тиков: 20000000 код ошибки: 0
Demandez plus.
 
Renat Fatkhullin:

C'est exact, 20 000 000 ticks, c'est jusqu'au 15 mai 2015.

Demandez plus.
La RAM a clairement indiqué qu'elle était épuisée. Le terminal consommait 1,5 à 2 Go. Il a vérifié autant qu'il pouvait avec un script. Par tranches de 100 000.
 
Tapochun:
La RAM a clairement indiqué qu'elle était épuisée. Le terminal consommait 1,5 à 2 Go. Le script a vérifié autant qu'il le pouvait. Par tranches de 100 000.

Quel genre de scénario ? Montrez-moi le code, s'il vous plaît.

Peut-être n'avez-vous pas libéré (directement ou indirectement) la mémoire précédemment utilisée ?

 
Renat Fatkhullin:

C'est exact, 20 000 000 ticks, c'est jusqu'au 15 mai 2015.

Demandez plus.
Oui, il serait bon d'ajouter la surcharge CopyTicks() tout comme les autres fonctions Copy.... Pour pouvoir aller de date en date. Actuellement, par exemple, vous ne pouvez pas obtenir les ticks du début de la journée en cours jusqu'au moment présent.
 
Renat Fatkhullin:

Quel genre de script ?

Peut-être ne libère-t-il pas la mémoire précédemment occupée ?

Très probablement, je l'ai écrit moi-même. Hum, comment libérez-vous la mémoire précédemment occupée ici ?

MqlTick array[];
int value = inpStep;
int num = 0;
while( num >= 0 )
   {
    num = CopyTicks( _Symbol, array, COPY_TICKS_ALL, 0, value );
    if( num > 0 )
      {
       value += inpStep;
       Print( ": Получено тиков: ",value );
       continue;
      }
    else
      {
       Print( "Максимально доступно ",value-inpStep," тиков! Шаг = ",inpStep );
       break;
      }
   }