Erreurs, bugs, questions - page 491

 
Urain:

Que signifient les chiffres ?

Et comment se débarrasser de cette erreur ? ???.

Par conception, la température doit être égale à -1.0.

ZS J'ai une vérification de l'égalité avec zéro, mais je ne sais pas comment vérifier l'égalité avec ce -1.#IND

Regardez attentivement les exemples de la rubrique Types réels (double, flottant).
 
Im_hungry:

Je suis d'accord, mais pas nécessairement sur tous les instruments, juste un, car le temps est le même partout.

Le moyen le plus simple de déterminer un nouveau bar: (je l'ai fait moi-même, très simple et efficace)

et mettez la construction dans OnTick où vous avez besoin de cette nouvelle barre.
Ce n'est pas tout à fait ça. La nouvelle barre ne commence pas à 00 sec, mais avec l'arrivée du premier tick après 00 sec. Si le cadre temporel ne contient pas un seul tick après 00 sec, nous n'aurons pas de barre correspondante.
 

Bon après-midi face à ce qui suit :

Alert("Demande = ", Bars("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00")) ) ;
datetime timeArray[] ; //tableau dynamique, la taille n'est pas définie
int ckopirovano = CopyTime("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00"),timeArray) ;
Alert("Copié = ", ckopirovano) ;

Résultat :

Requête = 4

Copie = 3

Alert("Demande = ", Bars("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00")) ) ;
datetime timeArray[5] ; // spécifier la taille
int ckopirovano = CopyTime("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00"),timeArray) ;
Alert("Copié = ", ckopirovano) ;

Resultat :

Requête = 4

Copié = 4

Je veux dire, j'ai toujours copié des séries temporelles vers un tableau dynamique, aucune taille n'a été définie (jamais eu d'erreur), et maintenant ceci. Comment dois-je le comprendre ?

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 
Im_hungry:

Donnez-moi un argument sévère, j'ai vérifié sur mon EA - sur 2 paires (multic) et

sur un le résultat du test depuis 2000 sur toutes les tiques n'est pas différent ainsi que sur 1 paire,

et les Expert Advisors avec des stratégies différentes !


Et si le calcul se fait non pas sur la barre de texte mais sur l'historique de 2 ou plusieurs barres (même si c'est un million)

Il faut chercher le bar de l'histoire !

Donc il n'est pas bien vérifié, ou l'EA n'est PAS multi-devises, et il peut juste fonctionner avec différents symboles. Le raisonnement est simple : nous savons que les tics apparaissent pour différents symboles à différents moments. Par conséquent, si un EA est surTick EURUSD (par exemple), et qu'il vérifie GBPUSD ou même seulement les changements de tick de GBPUSD au lieu de EURUSD, le résultat sera différent. En particulier, une barre formée sur EURUSD peut se produire avant la formation d'une barre avec le même temps sur GBPUSD. Si vous tradez la paire GBPUSD deux fois sur la même barre : la barre GBPUSD précédente sera toujours considérée comme une nouvelle barre (zéro). Quant aux indicateurs multidevises, tout est clair. Apprenez les bases.
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
 
220Volt:

Bon après-midi face à ce qui suit :

Alert("Demande = ", Bars("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00")) ) ;
datetime timeArray[] ; //tableau dynamique, la taille n'est pas définie
int ckopirovano = CopyTime("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00"),timeArray) ;
Alert("Copié = ", ckopirovano) ;

Résultat :

Requête = 4

Copie = 3

Alert("Demande = ", Bars("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00")) ) ;
datetime timeArray[5] ; // spécifier la taille
int ckopirovano = CopyTime("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00"),timeArray) ;
Alert("Copié = ", ckopirovano) ;

Resultat :

Requête = 4

Copié = 4

Je veux dire, j'ai toujours copié des séries temporelles vers un tableau dynamique, aucune taille n'a été définie (jamais eu d'erreur), et maintenant ceci. Comment dois-je le comprendre ?

Il y a un tel bug, l'affaire est classée en SD. Je ne sais pas quand il sera réparé.
 
220Volt:

Je veux dire, j'ai toujours copié des timeseries dans un tableau dynamique, aucune taille n'a été définie (je n'ai jamais eu d'erreur), et maintenant ceci. Comment comprenez-vous tout cela ?

Nous avons obtenu tout ce qui était disponible. C'est comme ça qu'il faut le comprendre. Vérifiez la profondeur de l'historique disponible. Avant de demander les données, assurez-vous qu'elles sont disponibles. Quelle version avez-vous ? J'ai récemment corrigé un bogue avec la copie d'images mensuelles, cela pourrait être le cas.
 

Bild 489, je ne pense pas qu'il s'agisse d'une question d'accessibilité (car la deuxième option fonctionne correctement).

Il y a donc quelque chose qui cloche :

Alert("Demande = ", Bars("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00")) ) ;
datetime timeArray[2] ;
int ckopirovano = CopyTime("GBPUSD", PERIOD_MN1, datetime("2009.01.01 00:00:00"), datetime("2008.10.01 00:00:00"),timeArray) ;
Alert("Copié = ", ckopirovano) ;

Resultat :

Requête = 4

Copie = 1 (devrait-il y en avoir deux ?)

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

Im_hungry:

Je suis d'accord, mais pas nécessairement sur tous les instruments, juste un, car le temps est partout.

le même ...min 00 sec, et la façon la plus simple de détecter une nouvelle barre: (je l'ai fait moi-même, c'est très simple et efficace)

C'est obligatoire, exactement pour tous.

Une exception - si l'EA n'analyse que les barres formées, vous pouvez simplement attendre l'heure d'une nouvelle barre (:00) et pour différents instruments analyser la 0ème ou la 1ère barre, selon qu'il y a une barre avec une nouvelle heure (si c'est le cas - nous analysons l'ancienne barre avec l'indice 1, et s'il n'y a pas d'indice - la barre formée aura l'indice 0, jusqu'à ce que la nouvelle barre apparaisse).

 

Est-ce une bonne idée de créer un objet graphique dont le nom est déjà occupé (pour déplacer l'objet entier avec une seule fonction) ?

Si vous déplacez une coordonnée à la fois avec ObjecMove, une coordonnée peut se déplacer et une autre non.

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

Dites-moi, s'il vous plaît, comment est-il correct de créer un objet graphique avec un nom déjà occupé (pour déplacer l'objet entier avec une seule fonction) ?

C'est tout à fait exact, il n'y a pas de conséquences négatives dans ce cas.
Raison: