Quand la nouvelle version de MT5 sera-t-elle disponible et où peut-on se renseigner sur ce qu'elle contient ? - page 26

 

Existe-t-il un moyen logiciel de déterminer la profondeur de l'historique des tics?

J'ai essayé ça :

void OnStart()
  {
MqlTick ExTicks[];  
datetime tm=StringToTime("1971.01.01 00:00:00");
//--- вывод результата
ulong m=tm*1000; 
int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,m);
Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
 
  }

tout le temps obtient 2.000 ticks. L'aide indique que si aucun temps n'est spécifié, pas plus de 2000 tiques sont transmises. Le temps est spécifié en millisecondes et les secondes sont multipliées par 1000.

L'aide précise également qu'il s'agit de ticks pour la session en cours. Il s'avère donc que les données historiques ne sont pas accessibles ?

 
forexman77:

Existe-t-il un moyen logiciel de déterminer la profondeur de l'historique des tics?

J'ai essayé ça :

tout le temps obtient 2.000 ticks. L'aide indique que si aucune durée n'est spécifiée, pas plus de 2000 tiques sont transmises. Le temps est spécifié en millisecondes et les secondes sont multipliées par 1000.

L'aide précise également qu'il s'agit de ticks pour la session en cours. Il s'avère donc que vous ne pouvez pas accéder aux données historiques ?

Tu veux avoir toutes les tiques ? :)

Tout d'abord, vérifiez si votre ordinateur peut contenir autant de ticks (si votre ordinateur brûle, ce n'est pas de ma faute) :

//+------------------------------------------------------------------+
//|                                                CopyTicks_1_02.mq5|
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.031"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200000000000;  // количество запрашиваемых тиков
input datetime start=D'1971.01.01 23:59'; // с какой даты запрашивать тики
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,(ulong)start*1000,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");

      //datetime Start =D'2015.10.16 23:59';   // время наступления 2015 года
      //datetime End   =D'2015.10.19 00:02';   // время наступления 2015 года
      //for(int i=0;i<copied-1;i++)
      //   if(ExTicks[i].time>Start && ExTicks[i].time<End)
      //      Print("Тик: ",ExTicks[i].time," bid: ",ExTicks[i].bid," ask: ",ExTicks[i].ask," last: ",ExTicks[i].last," [i]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20," Mb");
  }
//+------------------------------------------------------------------+
Dossiers :
 
Karputov Vladimir:

Tu veux avoir tous les tics ? :)

Tout d'abord, vérifiez si votre ordinateur peut supporter ce nombre de ticks (si votre ordinateur grille, ce n'est pas de ma faute) :

Oui, j'ai besoin de savoir à partir de quelle date il y a des données (c'est-à-dire à partir de quelle date vous pouvez effectuer un test sur des ticks réels).

Et quelle quantité n'est pas un problème pour l'ordinateur ? S'épuiser est une exagération, plutôt se figer ?

 
forexman77:

Oui, j'ai besoin de savoir à partir de quelle date il y a des données (c'est-à-dire à partir de quelle date le test peut être exécuté sur des ticks réels).

Et quelle quantité n'est pas un problème pour l'ordinateur ? Vous devez exagérer, c'est plus susceptible de geler ?

Au lieu de "200000000000", mettez "20000" et une date, n'importe quelle date en 1971. Cela dit, il est très probable que vous devrez exécuter le script plus d'une fois. Le fait est que la première demande initialisera tout l'historique téléchargé (parce que vous avez commandé l'historique depuis 1971), et si le script ne répond pas pendant un long moment, il donnera les données qui sont disponibles, mais le téléchargement se poursuivra. Par conséquent, la deuxième demande peut montrer une histoire plus profonde.
 
forexman77:

Existe-t-il un moyen logiciel de déterminer la profondeur de l'historique des tics?

J'ai essayé ça :

tout le temps obtient 2.000 ticks. L'aide indique que si aucun temps n'est spécifié, pas plus de 2000 tiques sont transmises. Le temps est spécifié en millisecondes et les secondes sont multipliées par 1000.

L'aide précise également qu'il s'agit de ticks pour la session en cours. Il s'avère donc que vous ne pouvez pas accéder aux données historiques ?

Vous ne pouvez pas obtenir tous les ticks pour le symbole, s'ils sont supérieurs à INT_MAX, car la valeur de retour

de la fonction CopyTicks est un nombre entier. Par conséquent, vous devez vous les procurer en pièces détachées.

 
prostotrader:

Vous ne pouvez pas obtenir tous les ticks par caractère s'ils sont supérieurs à INT_MAX, car la valeur de retour

de la fonction CopyTicks est un nombre entier. Vous devez donc vous les procurer en pièces détachées.

Néanmoins, il est possible d'obtenir la date de début des ticks en demandant seulement 20000 (vingt mille) ticks - l'essentiel est de spécifier la date de début, ce qui garantit, qu'à cette date il n'y avait pas encore de ticks et que 1971 est la meilleure date pour cela.
 
Karputov Vladimir:
Néanmoins, il est possible de connaître la date de début des ticks en demandant seulement 20000 (vingt mille) ticks - l'essentiel est de préciser la date de début, ce qui garantit qu'à cette date il n'y avait pas encore de ticks, et 1971 est la meilleure façon de procéder.

Demandé beaucoup de données, un freinage très fort a commencé :

2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Size 2826 Mb
2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Тик: 2016.05.25 16:54:25 bid: 1.11497 ask: 1.11505 last: 0.0 [56999999]
2016.08.21 22:24:03.918 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:45:44 bid: 1.08206 ask: 1.08236 last: 0.0 [0]
2016.08.21 22:24:03.903 CopyTicks (EURUSD,H1)   Получено тиков: 57000000 код ошибки: 0

Pour ma tâche, 100 ticks sont suffisants. Merci quand même !

2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Size 0 Mb
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:46:01 bid: 1.08206 ask: 1.08236 last: 1.08215 [99]
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Тик: 2016.01.13 09:45:44 bid: 1.08206 ask: 1.08236 last: 0.0 [0]
2016.08.21 22:36:42.234 CopyTicks (EURUSD,H1)   Получено тиков: 100 код ошибки: 0
 
Renat Fatkhullin:
Oui, des graphiques personnalisés et des flux de données propres seront bientôt disponibles.

Bonjour Renat, une mise à jour de ces fonctionnalités ? (désolé si c'est ailleurs, je ne l'ai pas trouvé).

Bonjour Renat, une mise à jour de ces fonctionnalités ? (désolé si c'est ailleurs, je ne l'ai pas trouvé).