Erreurs, bugs, questions - page 489

 
Vigor:
Vous pouvez voir que le conseiller expert travaille sur les prix ouverts de la barre horaire. Le dernier cours d'ouverture était de 23-00.

Faux - m30, vous pouvez le voir même sur ma photo. J'ai trouvé un bug sur le M5.

 
Swan:

L'effet obtenu de la coupure est discutable, le nombre d'impressions est réduit de 10%, et il faut se rendre dans le journal pour avoir toutes les informations...

Vérifions, tous les 10 messages ne doivent pas être coupés.


L'écriture dans un fichier est-elle plus rapide que son affichage à l'écran ?

Définitivement plus rapide si l'on parle de milliers de lignes. La différence de vitesse est d'environ 100 fois et plus.
 
Renat:
Vérifions, tous les 10 messages ne doivent pas être coupés.

Renat, pouvez-vous rendre possible l'exécution du testeur à l'heure actuelle?
Il est très utile lorsque le marché commence à se dégrader clairement, mais nous devons attendre la fin de la journée de négociation et il n'y a pas de possibilité de réoptimiser le système.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
crOss:

Renat, pouvez-vous rendre possible l'exécution du testeur à l'heure actuelle?
Il est très pertinent lorsque le marché commence à se dégrader clairement, mais nous devons attendre la fin de la journée de négociation et il n'y a pas de possibilité de réoptimiser le système.

Nous avons délibérément fixé la date limite pour qu'il n'y ait pas de questions du type "pourquoi deux passages identiques ont donné des résultats différents". Malheureusement, il s'agit d'une situation massive qui affecte également tous les résultats d'optimisation. De l'inclusion du score à la dernière minute, tout le monde aura trop de problèmes.

Peut-être ferons-nous un ajustement à l'avenir.

 
Renat:

Nous avons délibérément fixé la date limite pour qu'il n'y ait pas de questions du type "pourquoi deux passages identiques ont donné des résultats différents". Malheureusement, il s'agit d'une situation massive qui affecte également tous les résultats d'optimisation. De l'inclusion de la partition à la dernière minute, tout le monde a trop de problèmes.

Peut-être ferons-nous un ajustement à l'avenir.

Il serait très agréable de disposer d'un tel paramètre, bien qu'il puisse être simplifié... Au début de l'optimisation, la date "heure actuelle" est mémorisée.
et jusqu'à ce que l'optimisation suivante commence, le testeur fonctionne avec elle comme limite droite de la gamme, également lors des essais. Alors les mêmes courses donneront les mêmes résultats. Les moutons se portent bien et les loups sont satisfaits ))))

Qu'en est-il de l'abandon de la dernière heure lors des essais ? De plus, j'ai remarqué que le testeur ne démarre pas à partir de 00:00:00 mais quand il le doit (voir image).

En outre, lors de la création d'un conseiller expert multi-devises, j'ai été confronté à un problème.
Lors du test, les cotations obtenues pour un symbole spécifique au même moment varient en fonction du nom du graphique (voir image).
Le résultat total du système pour de nombreux symboles peut changer de manière significative en raison de ces fluctuations de prix, en particulier pour les périodes de moins d'une heure (H1).

 
crOss:

De plus, j'ai remarqué que le testeur ne démarre pas à 00:00:00 mais quand il le doit (voir image).
Le testeur commence les tests à 100 barres dès le début pour éviter les erreurs potentielles en travaillant avec un historique vide. Par conséquent, le test ne commence pas à 00:00:00
 
crOss:

En outre, j'ai été confronté à un problème lors de la création d'un conseiller expert multidevises.

Lors du test, les cotations obtenues pour un instrument particulier au même moment changent en fonction du nom du graphique (voir l'image).
Le résultat total du système pour de nombreux symboles peut changer de manière significative en raison de ces fluctuations de prix, en particulier pour les périodes de moins d'une heure (H1).

Essayez de montrer la zone à problème de manière plus détaillée, s'il vous plaît. La photo ci-jointe n'est pas très claire.

 
Renat:
Le testeur commence à tester à 100 barres dès le début pour éviter les erreurs potentielles lorsqu'il travaille avec un historique vide. Par conséquent, le test ne commence pas à 00:00.

Le plus souvent, il ne sera pas vide et vous pouvez le vérifier, et le testeur devrait fonctionner en conséquence (s'il est vide, il recule de 100 mesures, s'il ne l'est pas, il repart de 00:00).
OK. Supposons qu'à partir de la 100ème barre du début - timeframe 5 minutes, 100 barres = 500 minutes / 60 ~ 8.3 heures. Et le test commence après 2 heures. Ça ne colle pas non plus.
Où passe la dernière heure
? Le testeur se termine à 23:00 à la limite avant la date actuelle. Pourquoi pas à 23:59:59 ? La dernière heure n'est pas du tout superflue ;)))

Renat:

Essayez de montrer la zone à problème de manière plus détaillée, s'il vous plaît. La photo ci-jointe n'est pas très claire.

Le conseiller expert a un gestionnaire OnTick() de la forme suivante :

void OnTick()
{
double ask = SymbolInfoDouble("EURCHF", SYMBOL_ASK) ;
double bid = SymbolInfoDouble("EURCHF", SYMBOL_BID) ;

Print("ask : ", ask, " bid : ", bid) ;
}

Lors d'un test sur le graphique EURUSD, nous obtenons des cotations différentes de celles d'un test sur le graphique EURCHF (par exemple),
Bien que la fourchette et le délai du test, ainsi que le symbole pour lequel nous recevons des cotations SymbolInfoDouble("EURCHF",...) ne changent pas.
Ainsi, il s'avère que les résultats d'un test varient en fonction du symbole sélectionné. Ils devraient être les mêmes.



 
Renat:
Le résultat dépend entièrement de l'examinateur lui-même et de sa sensibilité au flux des prix. Les résultats sont plus précis lorsqu'ils sont testés sur la base de tics.
Il me semble que ce phénomène est possible si dans les calculs l'expert utilise la barre actuelle qui se forme.
 

crOss, le fait est que si vous choisissez différents outils pour tester la multidevise, les résultats peuvent être différents si vous utilisez OnTick. Surtout lorsque vous exécutez le conseiller expert sur des prix ouverts.

La barre d'un instrument s'ouvre toujours avant la barre d'un autre instrument, car les ticks suivent toujours le même flux. Et un tick pour un instrument sera toujours plus tôt qu'un tick pour un autre instrument, même s'ils sont marqués de la même heure. À propos, un bar peut s'ouvrir non pas exactement à 0 seconde, mais dans quelques secondes, voire quelques minutes.

Autrement dit, si vous effectuez un test sur l'ouverture d'une barre d'un instrument, la barre correspondante d'un autre instrument ne s'est pas encore ouverte. Et si vous testez l'ouverture d'une barre d'un autre symbole, la barre correspondante du premier instrument s'est déjà ouverte.

C'est pourquoi il peut y avoir une différence

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5