错误、漏洞、问题 - 页 315

 

下一个问题。

在重新安装操作系统和新的MT5安装后,以前可以工作的自定义指标 停止加载。

重新检查了参数--一切都正确。

然后我试图通过iCustom加载一个标准指标,把它放在根指标文件夹中。

但下面的代码,当 "#include "出现时,会导致一个加载错误,虽然。

- 包含的类没有错误。

- 涉及这些类的代码被禁用,以便更简单地理解该错误,而之前它工作得很好。

- 如果不启用#include,就不会发生加载自定义指标的错误。

#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

我完全不能理解什么是错的。

同样的事情发生在通常的方式下,使用类。

#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;
   };
}

而且,尽管目前使用的MT5 build 401版本在家用和办公电脑上使用这段代码都没有出错(在这台电脑上仍然可以工作)。

 
DV2010:

下一个问题。

在重新安装操作系统和新的MT5安装后,以前可以使用的自定义指标 停止加载。

重新检查了参数--一切都正确。

然后我试图通过iCustom加载一个标准指标,把它放在根指标文件夹中。

但是下面的代码,在有 "#include "的情况下会导致加载错误,尽管在包含的类中没有错误。

的代码,以简化对错误原因的理解,现在不使用了,而以前它工作得很好。

- 导致加载错误。

我完全搞不清楚哪里出了问题。
请写信给服务台并附上所有源文件。我试着在我的文件中重现它,但它不工作 - 我没有你的包含文件。
 
Rosh: Пожалуйста, напишите в Сервисдеск и приложите все исходники. Я пытался воспроизвести у себя, но не получилось - у меня нет ваших включаемых файлов. 

Rosh,谢谢你,但通过从最少的代码的最简单的模型到完整的模型,通过连续包含代码的单独部分,我成功地返回了一个工作版本(否则我将不得不附上我的50多个文件,因为系统拒绝接受rar档案)。然而,说实话,我并不明白到底是什么错误。

 
DV2010:

(否则我将不得不附上我自己的50多个文件,因为系统拒绝接受 rar 档案)。


最大 下载量:16 MB,不超过10个附件(.gif .png .jpg .jpeg.zip.txt .log .mqh .ex5 .mq5 .mq4 .ex4 .flv .mt5)。
 

你好,今天在全局变量 终端(手动)写一个双倍格式的数字88.71,按回车键后,我看到的是88.709999999的值,而在另一个全局变量记录87.80,按回车键后的值,应该是87.8。而当写一个有4位小数的值时,我收到的是一个有4个字符的值。建设401。

P.S. 原则上,这种代表数字的阅读专家很可能被认为是有意的,但阅读一个人多少有些不妥。

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

你好,今天在全局变量 终端写一个双倍格式的数字时(手动)88.71,按回车键后看到的数值是88.709999999,而在另一个全局变量记录87.80,按回车键后的数值应该是87.8。而当写一个有4位小数的值时,我收到的是一个有4个字符的值。建设401。

P.S. 原则上,这种代表数字的阅读专家很可能被认为是有意的,但阅读一个人多少有些不妥。

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
 

谢谢你,但我希望看到数字的通常形式,并让机器按照它的方式计算数字。

 
kirill190982:

谢谢你,但我希望看到数字的通常形式,并让机器按照它的方式计算数字。

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

世界上没有完美的东西....

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

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

世界上没有完美的东西....

有的 :)在VB.NET中,这个问题没有任何问题。虽然,我记得你说过,微软的员工规模:)
 
-Alexey-:
有的 :)在VB.NET中,这个问题没有什么问题。

问题是以什么为代价))))

通常我们只看到冰山一角....

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

P.S.没有办法以正常的方式来实现这个目标!你必须了解浮点数字是如何存储的!你必须明白这一点。你只能去做人工流产....。

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