Erreurs, bugs, questions - page 315

 

Prochain problème.

Après avoir réinstallé le système d'exploitation et la nouvelle installation de MT5, les indicateurs personnalisés qui fonctionnaient auparavant ont cessé de se charger.

J'ai revérifié les paramètres - tout est correct.

J'ai ensuite essayé de charger l'un des indicateurs standard via iCustom, en le plaçant dans le dossier racine Indicateurs,

mais le code ci-dessous, lorsque "#include" est présent, provoque une erreur de chargement, cependant :

- il n'y a pas d'erreurs sur les classes incluses,

- le code impliquant ces classes est désactivé pour une meilleure compréhension de l'erreur, et auparavant il fonctionnait bien,

- sans activer #include, l'erreur de chargement d'un indicateur personnalisé ne se produit pas.

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>

void OnInit(){
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

2011.02.23 09:52:41     Core 1  expert removed self when OnInit called
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   Handle of RSI is INVALID_HANDLE
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   HandleIndicator = -1
2011.02.23 09:52:41     Core 1  2011.01.14 00:00:00   expert removed because custom indicator 'RSI' cannot load [4802]
2011.02.23 09:52:41     Core 1  loading of RSI EURUSD,H1 failed

Je ne comprends pas du tout ce qui ne va pas.

La même chose se produit de la manière habituelle, en utilisant des classes :

#include <..\Experts\_My\Classes\ClassExpert\ClassExpert.mqh>
ClassExpert Expert1;
void OnInit(){
   Expert1.Init();
   //---
   int HandleIndicator = iCustom(_Symbol,_Period,"RSI",14);                      
   Print("HandleIndicator = ", HandleIndicator);
   if(HandleIndicator==INVALID_HANDLE){
      Print("Handle of RSI is INVALID_HANDLE");
      return;
   };
}

Et ce, malgré le fait que la version MT5 build 401 actuellement utilisée fonctionnait sans erreur avec ce code à la fois sur les PC domestiques et professionnels (sur lesquels il fonctionne toujours).

 
DV2010:

Prochain problème.

Après avoir réinstallé le système d'exploitation et la nouvelle installation de MT5, les indicateurs personnalisés qui fonctionnaient auparavant ont cessé de se charger.

J'ai revérifié les paramètres - tout est correct.

J'ai ensuite essayé de charger l'un des indicateurs standard via iCustom, en le plaçant dans le dossier racine Indicateurs,

mais le code ci-dessous, en présence de "#include" conduit à une erreur de chargement, bien qu'il n'y ait aucune erreur dans les classes incluses,

le code avec eux pour simplifier la compréhension des raisons de l'erreur n'est pas utilisé maintenant, alors que précédemment il fonctionnait bien :

- provoque une erreur de chargement :

Je ne comprends pas du tout le problème.
Veuillez écrire au Service Desk et joindre tous les fichiers sources. J'ai essayé de le reproduire dans le mien, mais cela ne fonctionne pas - je n'ai pas vos fichiers include.
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh, merci, mais en passant du modèle le plus simple avec un minimum de code au modèle complet par inclusion successive de parties distinctes du code, j'ai réussi à rendre une version fonctionnelle (sinon j'aurais dû joindre plus de cinquante de mes fichiers, car le système a refusé d'accepter l'archive rar). Cependant, pour être honnête, je n'ai pas compris quelle était exactement l'erreur.

 
DV2010:

(sinon, j'aurais dû joindre plus de cinquante de mes propres fichiers, car le système refusait d'accepter les archives rar ).


Taille maximale du téléchargement : 16 MB, pas plus de 10 pièces jointes (.gif .png .jpg .jpeg .zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)
 

Bonjour, aujourd'hui, lors de l'écriture d'un nombre en format double dans les variables globales terminal (manuellement) 88.71 après avoir appuyé sur Entrée voir la valeur de 88.709999999, tandis que dans un autre enregistrement variable globale 87.80 et après avoir appuyé sur Entrée valeur a pris, comme il se doit, 87.8. Et lorsque j'écris une valeur avec 4 décimales, je reçois une valeur avec 4 caractères. Construisez 401.

P.S. En principe, cette représentation du nombre de lire l'expert est susceptible d'être perçu comme prévu, mais de lire une personne en quelque sorte pas agréable.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
kirill190982:

Bonjour, aujourd'hui, lors de l'écriture d'un nombre en format double dans les variables globales terminal (manuellement) 88.71 après avoir appuyé sur Entrée voir la valeur de 88.709999999, tandis que dans un autre enregistrement variable globale 87.80 et après avoir appuyé sur Entrée valeur a pris, comme il se doit, 87.8. Et lorsque j'écris une valeur avec 4 décimales, je reçois une valeur avec 4 caractères. Construisez 401.

P.S. En principe, cette représentation du nombre de lire l'expert est susceptible d'être perçu comme prévu, mais de lire une personne en quelque sorte pas agréable.

https://www.mql5.com/ru/docs/basis/types/double

https://www.mql5.com/ru/articles/1561

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 

Merci, mais j'aimerais voir les chiffres sous leur forme habituelle et laisser la machine compter les chiffres comme elle le devrait.

 
kirill190982:

Merci, mais j'aimerais voir les chiffres sous leur forme habituelle et laisser la machine compter les chiffres comme elle le devrait.

https://www.mql5.com/ru/docs/convert/doubletostring

pas de perfection dans le monde....

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
Преобразование данных / DoubleToString - Документация по MQL5
 
AlexSTAL:

https://www.mql5.com/ru/docs/convert/doubletostring

il n'y a pas de perfection dans le monde....

C'est le cas :) Il n'y a pas de problème avec ce problème dans VB.NET. Bien que je me souvienne de ce que vous avez dit sur la taille du personnel de Microsoft :)
 
-Alexey-:
C'est le cas :) Il n'y a pas de problème avec ce problème en VB.NET.

La question est de savoir à quel prix ))))

Souvent, nous ne voyons que la partie émergée de l'iceberg.....

http://msdn.microsoft.com/ru-ru/library/system.decimal.aspx

P.S. Il n'y a aucun moyen d'implémenter ceci de manière normale ! Pour cela, il faut comprendre comment les nombres à virgule flottante sont stockés ! Vous ne pouvez opter que pour des astuces artificielles....

Decimal - структура (System)
Decimal - структура (System)
  • msdn.microsoft.com
Пространство имен: System Сборка: (в mscorlib.dll) Тип предоставляет следующие члены. ИмяОписание В начало страницы ИмяОписание (Переопределяет ValueTypeEquals(Object).) Преобразует заданное 64-разрядное целое число со знаком, соответствующее значению денежного типа OLE-автоматизации, в эквивалентное значение типа...
Raison: