CopyTicksRange

La fonction récupère les ticks au format MqlTick dans l'intervalle de dates spécifié et dans le paramètre ticks_array. L'indexation se fait du passé vers le présent, c'est à dire que le tick à l'index 0 est le plus vieux dans le tableau. Pour l'analyse des ticks, vérifiez le champ flags qui montre exactement ce qui a changé.

int  CopyTicksRange(
   const string     symbol_name,           // nom du symbole
   MqlTick&         ticks_array[],         // tableau destination des ticks
   uint             flags=COPY_TICKS_ALL,  // flag définissant le type des ticks reçus
   ulong            from_msc=0,            // date de départ de l'intervalle
   ulong            to_msc=0               // date de fin de l'intervalle
   );

Paramètres

symbol_name

[in]  Symbole.

ticks_array

[out]  Tableau dynamique ou statique de MqlTick pour reçevoir les ticks. Si le tableau statique ne peut pas contenir tous les ticks de l'intervalle demandé, la quantité maximale possible de ticks est reçue. Dans ce cas, la fonction génère l'erreur ERR_HISTORY_SMALL_BUFFER (4407) .

flags

[in]  Un flag définissant le type de ticks demandés. COPY_TICKS_INFO — ticks avec les changements Bid et/ou Ask, COPY_TICKS_TRADE — ticks avec les changements Last et Volume, COPY_TICKS_ALL — tous les ticks. Pour n'importe quelle type de demande, les valeurs des ticks précédents sont ajoutés aux champs restants de la structure MqlTick.

from_msc

[in]   La date à partir de laquelle les ticks sont demandés. En millisecondes depuis le 01/01/1970. Si le paramètre from_msc n'est pas spécifié, les ticks sont envoyés depuis le début de l'historique. Les ticks ayant une date/heure >= from_msc sont envoyés.

to_msc

[in]   La date jusquà laquelle les ticks sont demandés. En millisecondes depuis le 01/01/1970. Les ticks ayant une date/heure <= to_msc sont envoyés. Si le paramètre to_msc n'est pas spécifié, tous les ticks jusqu'à la fin de l'historique sont envoyés.

Valeur de Retour

Le nombre de ticks copiés ou -1 en cas d'erreur. GetLastError() peut retourner les erreurs suivants :

  • ERR_HISTORY_TIMEOUT — le délai d'attente de synchronisation des ticks est terminé, la fonction a renvoyé tout ce qu'elle avait.
  • ERR_HISTORY_SMALL_BUFFER — le buffer statique est trop petit. Seule la quantité d'information possible du tableau a été renvoyée.
  • ERR_NOT_ENOUGH_MEMORY — mémire insuffisante pour récupérer l'historique de l'intervalle spécifié dans le tableau dynamique de ticks. Echec d'allocation de la mémoire pour le tableau de ticks.

Note

La fonction CopyTicksRange() est utilisée pour demander les ticks dans un intervalle donné, par exemple pour un jour donné de l'historique. En même temps, CopyTicks() permet de ne spécifier qu'une date de départ, par exemple — recevoir tous les ticks depuis le début du mois jusqu'à maintenant.

Voir aussi

SymbolInfoTick, Structure pour les Prix Actuels, OnTick, CopyTicks