J'ai résolu toutes les erreurs de compilation mais je constate que le OnTick de l'EA (simplifié en testOffline.mq4 comme joint) ne peut pas être déclenché sur un graphique hors ligne (généré par PeriodConvertor). Il n'y a pas de problème avec un graphique M1 normal. Je me demande donc ce qui ne va pas ?
Il n'y a pas de ticks entrants sur le graphique hors ligne.
Essayez OnTimer au lieu de OnTick.
Voir un exemple d'EA fonctionnant sur un graphique hors ligne rafraîchi par PeriodConverter.
int ExtCounter;
int ExtTickCount;
int ExtBars;
//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//----
ExtCounter=0;
ExtTickCount=GetTickCount();
ExtBars=Bars;
Print("init ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
EventSetTimer(1);
//----return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ExtTickCount=GetTickCount()-ExtTickCount;
Print("ExtTickCount=",ExtTickCount," ExtCounter=",ExtCounter);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+voidOnTick()
{
if(ExtBars!=Bars)
{
ExtBars=Bars;
Print("start ExtBars=",ExtBars," Time[0]=",TimeToString(Time[0]));
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnTimer()
{
if(RefreshRates())
OnTick();
//----if(ExtCounter%15==0)
Print("OnTimer ExtCounter=",ExtCounter," Time[0]=",TimeToString(Time[0]));
ExtCounter++;
}
Il n'y a pas de ticks entrants sur le graphique hors ligne.
Essayez OnTimer au lieu de OnTick.
Voir l'exemple d'EA fonctionnant sur un graphique hors ligne rafraîchi par PeriodConverter.
OK, j'ai obtenu le tick du graphique hors ligne maintenant. Mais cela signifie-t-il que l'EA ne peut être déclenché que toutes les 1 seconde le plus rapidement (puisque EventSetTimer() ne peut être réglé que sur l'unité de secondes).
Si c'est le cas, c'est une dégradation dans la nouvelle mql4 et je me demande pourquoi.
lesexpertsn'ont jamais travaillésur descartes hors ligne
Ne plaisantez pas. J'ai négocié avec des experts sur des graphiques hors ligne pendant un an. La dernière version que j'ai utilisée (avant d'être obligé de passer à la version 600) était la 509.
Ne plaisantez pas. J'ai négocié avec des experts sur des graphiques hors ligne pendant un an. La dernière version que j'ai utilisée (avant d'être obligé de passer à la 600) était la 509.
N'est-ce pas un hack, non supporté par Metaquotes ?
angevoyageur: Ne s'agit-il pas d'un hack, non supporté par Metaquotes ?
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Pourquoi dites-vous cela ? Qui est derrière le script PeriodConverter ?
Indice : essayez de trouver l'auteur de cet article.
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Non, le format de fichier .hst est publié dans le fichier d'aide du terminal . . je suppose qu'il sera mis à jour en temps voulu. mql4 fournit également une fonction pour lire et écrire des fichiers .hs . . aucune modification n'est nécessaire.
Format des fichiers historiques (fichiers HST)
L'en-tête de la base de données est le premier
struct HistoryHeader { intversion ;// version de la base de données charcopyright[64] ;// informations sur le copyright charsymbol[12] ;// nom du symbole intperiod ;// période du symbole intdigits ;// nombre de chiffres après la virgule dans le symbole time_ttimesign ;// date de création de la base de données xml-ph-0027@d
puis le tableau de barres (justification sur un seul octet)
#pragma pack(push,1) //---- représentation standard de la cotation dans la base de données structRateInfo { time_tctm ;// heure actuelle en secondes doubleopen ; doublelow ; doublehigh ; doubleclose ; doublevol ; } ; #pragma pack(pop)
Bonjour,
J'ai résolu toutes les erreurs de compilation mais je constate que le OnTick de l'EA (simplifié en testOffline.mq4 comme joint) ne peut pas être déclenché sur un graphique hors ligne (généré par PeriodConvertor). Il n'y a pas de problème avec un graphique M1 normal. Je me demande donc ce qui ne va pas ?
Il n'y a pas de ticks entrants sur le graphique hors ligne.
Essayez OnTimer au lieu de OnTick.
Voir un exemple d'EA fonctionnant sur un graphique hors ligne rafraîchi par PeriodConverter.
Il n'y a pas de ticks entrants sur le graphique hors ligne.
Essayez OnTimer au lieu de OnTick.
Voir l'exemple d'EA fonctionnant sur un graphique hors ligne rafraîchi par PeriodConverter.
OK, j'ai obtenu le tick du graphique hors ligne maintenant. Mais cela signifie-t-il que l'EA ne peut être déclenché que toutes les 1 seconde le plus rapidement (puisque EventSetTimer() ne peut être réglé que sur l'unité de secondes).
Si c'est le cas, c'est une dégradation dans la nouvelle mql4 et je me demande pourquoi.
Dégrader ? Pourquoi ?
lesexperts n'ont jamais travaillé sur des cartes hors ligne
Pouvez-vous mettre à jour la documentation de FileOpenHistory() ?
... il n'y a aucune mention des autres drapeaux.
Essayez de mettre à jour votre aide s'il vous plaît
Essayez de mettre à jour votre aide s'il vous plaît
Dégrader ? Pourquoi ?
lesexperts n'ont jamais travaillé sur des cartes hors ligne
Ne plaisantez pas. J'ai négocié avec des experts sur des graphiques hors ligne pendant un an. La dernière version que j'ai utilisée (avant d'être obligé de passer à la version 600) était la 509.
Ne plaisantez pas. J'ai négocié avec des experts sur des graphiques hors ligne pendant un an. La dernière version que j'ai utilisée (avant d'être obligé de passer à la 600) était la 509.
Ne s'agit-il pas d'un hack, non supporté par Metaquotes ?
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Pourquoi dites-vous cela ? Qui est derrière le script PeriodConverter ?
Indice : essayez de trouver l'auteur de cet article.
Puisque les Metaquotes n'ont pas révélé la structure des fichiers hst au public (ils la gardent pour leurs propres besoins), alors chaque utilisation des fichiers *.hst est un hack.
Format des fichiers historiques (fichiers HST)
L'en-tête de la base de données est le premier
struct
HistoryHeader
{
int version ; // version de la base de données
char copyright[64] ; // informations sur le copyright
char symbol[12] ; // nom du symbole
int period ; // période du symbole
int digits ; // nombre de chiffres après la virgule dans le symbole
time_t timesign ; // date de création de la base de données
xml-ph-0027@d
puis le tableau de barres (justification sur un seul octet)
#pragma pack(push,1)
//---- représentation standard de la cotation dans la base de données
struct RateInfo
{
time_t ctm ; // heure actuelle en secondes
double open ;
double low ;
double high ;
double close ;
double vol ;
} ;
#pragma pack(pop)