Histoire d'un tic-tac - page 5

 

Aussi. En essayant d'obtenir l'historique depuis le début de la journée, j'obtiens un résultat étrange. Voici le script :

         MqlTick array[];
         MqlDateTime sTime;
         TimeToStruct( TimeCurrent(), sTime );
         sTime.hour = 0;
         sTime.min = 0;
         sTime.sec = 0;
         datetime start = StructToTime( sTime );
         Print( "Начало текущего дня: ",start );
         int num = CopyTicks( _Symbol, array, COPY_TICKS_ALL, start, 1000000 );
         
         int size = ArraySize( array );
         Print( __FUNCTION__,": num = ",num,", arraySize = ",size );
         for( int i = 0; i < size; i++ )
                {
                 if( i == 0 )
                        {
                         Print( __FUNCTION__,": Время прихода первого доступного тика: ",array[ i ].time );
                        }
                 else if( i == size-1 )
                        {
                         Print( __FUNCTION__,": Время прихода последнего доступного тика: ",array[ i ].time );
                        }
                }

Voici le résultat :

HQ 0 18:38:20.974 test_CopyTicks_1178 (EURUSD,M1) Début de la journée actuelle : 2015.10.15 00:00:00

JM 0 18:38:22.202 test_CopyTicks_1178 (EURUSD,M1) OnStart : num = 1000000, arraySize = 1000000

CF 0 18:38:22.202 test_CopyTicks_1178 (EURUSD,M1) OnStart : Heure d'arrivée du premier tick disponible : 2011.12.19 00:00:08

RD 0 18:38:22.204 test_CopyTicks_1178 (EURUSD,M1) OnStart : Heure d'arrivée du dernier tick disponible : 2012.01.06 18:41:26

Probablement, cela ne peut pas être écrit comme ceci :CopyTicks( _Symbol, array, COPY_TICKS_ALL, start, 1000000 );

 
Tapochun:

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

Le tableau MqlTick lui-même, avec 20 000 000 d'éléments, occupe environ 800 mb de mémoire. Plus le stockage du même tableau original dans le terminal, où l'information est accumulée et sortie.

Si vous souhaitez travailler avec des données massives, il n'y a donc qu'une seule solution : des versions 64 bits et 8 Go de mémoire. Heureusement, cela coûte un prix ridicule de nos jours.

 
Karputov Vladimir:
Plus besoin de collecteurs de tics - l'historique des tics est disponible dans le terminal.

Sa disponibilité dépendra-t-elle de la bonne volonté du DC ou la sauvegarde des ticks est-elle câblée du côté du serveur ?

 
Renat Fatkhullin:

Le tableau MqlTick lui-même, avec 20 000 000 d'éléments, occupe environ 800 mb de mémoire. Plus le stockage du même tableau initial dans le terminal, où les informations sont accumulées et sorties.

Si vous souhaitez travailler avec des données massives, il n'y a donc qu'une seule solution : des versions 64 bits et 8 Go de mémoire. Heureusement, cela coûte un prix ridicule de nos jours.

Et si vous le demandez en petits lots ? Disons 1 million de tiques chacun ? Ça ne devrait pas être un problème, non ? Je veux dire, requête - traitement - requête suivante.

Ou les données vont s'accumuler et manquer de RAM ?

 
Alexey Volchanskiy:

Sa disponibilité dépendra-t-elle de la bonne volonté des sociétés de courtage ou le stockage de l'historique des tics est-il câblé dans le serveur ?

Les serveurs MT5 ont toujours accumulé et stocké l'historique des ticks depuis le début.

Elle ne peut pas être désactivée dans les terminaux clients.

 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Historique des tiques

Tapochun, 2015.10.15 15:08

Oui, il serait bon d'ajouter la surcharge de CopyTicks() comme les autres fonctions Copy.... Pour pouvoir aller de date en date. Maintenant, par exemple, vous ne pouvez pas obtenir les ticks depuis le début du jour actuel jusqu'au moment actuel.
Peut-elle être mise en œuvre ?
 
Tapochun:
Cela peut-il être mis en œuvre ?
Pouvons-nous le faire ?
 
Renat Fatkhullin:
Pouvez-vous
Merci, très utile. C'est un peu difficile de "naviguer" pour obtenir des tics en ce moment.
 

Les tics sont empilés dans des fichiers mois par mois, non ? Voici une capture d'écran :

Fichiers de coche

Et comment lit-on ces fichiers ? Ou seulement par le biais d'un testeur de stratégie?

 
Karputov Vladimir:

Les tics sont empilés dans des fichiers mois par mois, non ? Voici une capture d'écran :

Et comment lit-on ces fichiers ? Ou seulement par le biais d'un testeur de stratégie?

Je ne peux pas les lire directement dans le Bloc-notes.
Raison: