CustomTicksReplace

Remplace toutes les prix de l'historique des prix du symbole personnalisé dans l'intervalle de temps spécifié avec les données du tableau de données de type MqlTick..

int  CustomTicksReplace(
   const string     symbol,            // nom du symbole
   long             from_msc,          // date de début
   long             to_msc,            // date de fin
   const MqlTick&   ticks[],           // tableau pour les données à appliquer à un symbole personnalisé
   uint             count=WHOLE_ARRAY   // nombre d'éléments du tableau ticks[] à utiliser
   );

Paramètres

symbol

[in]  Nom du symbole personnalisé.

from_msc

[in]  Date/heure du premier tick à supprimer de l'historique des prix dans l'intervalle spécifié. Date/heure en millisecondes depuis le 01.01.1970.

to_msc

[in]  Date/heure du dernier tick à supprimer de l'historique des prix dans l'intervalle spécifié. Date/heure en millisecondes depuis le 01.01.1970.

ticks[]

[in]   Tableau de données d'historique des ticks de type MqlTick ordonnés par heure en ordre ascendant.

count=WHOLE_ARRAY

[in]  Nombre d'éléments du tableau ticks[] à utiliser pour le remplacement dans l'intervalle de temps spécifié. WHOLE_ARRAY signifie que tous les éléments du tableau ticks[] doivent être utilisés.

Valeur de Retour

Nombre de ticks mis à jour ou -1 en cas d'erreur.

Note

Puisque plusieurs ticks peuvent avoir la même heure jusqu'à la milliseconde dans un flux de cotations (l'heure précise du tick est stockée dans le champ time_msc de la structure MqlTick), la fonction CustomTicksReplace ne trie pas automatiquement les éléments du tableau ticks[] par heure. Le tableau des ticks doit donc être pré-ordonné par heure en ordre ascendant.

Les ticks sont remplacés de façon consécutive, jour après jour, jusqu'à ce que l'heure spécifiée to_msc ou jusqu'à ce qu'une erreur survienne. Le premier jour de l'intervalle spécifié est traité, ensuite le suivant, etc.  Dès qu'une différence entre l'heure du tick et l'ordre ascendant (non descendant) est détectée, le remplacement du tick s'arrête sur le jour courant. Tous les ticks des jours précédents sont remplacés avec succès, tandis que ceux du jour courant (au moment du tick invalide) et ceux de tous les jours restants dans l'intervalle spécifié restent inchangés.

Si le tableau ticks[] ne contient aucune donnée pour un jour (plus généralement, n'importe quel intervalle de temps), un "trou" correspondant aux données manquantes apparaîtra dans l'historique du symbole personnalisé après que les données des ticks de ticks[] ont été appliquées. En d'autres termes, l'appel de CustomTicksReplace avec les ticks manquants est équivalent à supprimer une partie de l'historique des ticks, comme si CustomTicksDelete avec l'intervalle du "trou" était appelé.

Si la base de données des ticks n'a pas de données pour l'intervalle de temps spécifié, CustomTicksReplace ajoutera le tableau ticks[] à la base de données des ticks.

La fonction CustomTicksReplace utilise directement la base de données des ticks.

 

Voir aussi

CustomRatesDelete, CustomRatesUpdate, CustomTicksDelete, CopyTicks, CopyTicksRange