错误、漏洞、问题 - 页 266

 
mql5:

循环的问题不在于改变变量的方式(当然,除非它被改变为零),而在于检查该变量的值,它永远不会小于零。

我不明白你的意思。为了避免这个 "问题",你可以,比如说,只需添加一个额外的条件来退出循环

   uchar LastBarInd = 2;
   for (uchar i = LastBarInd; i >= 0; i--)
     {
      ................. // тело
      if (i == 0) break;
     }

或使循环不以for为基础,而是以while 为基础...。

 
AlexSTAL:

我不明白你想说什么。

他的意思是,编译器可以在编译时抓住简单的静态比较,但对运行时的控制却无能为力。
 
AlexSTAL:

我不明白你想说什么。为了避免这个 "问题",你可以,例如,简单地添加一个额外的条件来退出循环

或使循环不以for为基础,而是以while 为基础...。


是的,但你可以把for条件中的 "i>=0 "检查替换为 "true",编译器会告诉你(作为警告,在下一次构建中)。
 
测试图表窗口没有像MT4那样显示TP、SL、挂单。我们能在MT5中加入这个吗?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

这些数字不是四舍五入的。也许我做错了什么,请指教。

下面是代码。

   for(int e=1; e<=NSignalBuy; e++)
     {
   Print("OkruglyaemDo2[",e,"]=",NormalizeDouble(OkruglyaemDo2[e],2));
     }

这就是结果。

2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[19]=9.220000000000001
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[18] =6.29
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[17] =3.94
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[16] =7.54
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[15] =7.86
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[14] =13.71
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[13] =7.13
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[12]=8.3800000000001
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[11] =3.71
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[10] =5.52
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[9]=9.6199999999999
 
Jager:

这些数字不是四舍五入的。也许我做错了什么,请指教。

下面是代码。


结果是这样的。

2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[19]=9.220000000000001
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[18] =6.29
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[17] =3.94
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[16] =7.54
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[15] =7.86
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[14] =13.71
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[13] =7.13
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[12]=8.3800000000001
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[11] =3.71
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[10] =5.52
2011.01.18 16:25:55 核心 1 2010.10.30 23:59:50 OkruglyaemDo2[9]=9.6199999999999

1)阅读:https://www.mql5.com/ru/docs/basis/types/doublehttps://www.mql5.com/ru/articles/1561

2) 如果你想在打印时专门进行四舍五入:DoubleToString

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

1)阅读:https://www.mql5.com/ru/docs/basis/types/doublehttps://www.mql5.com/ru/articles/1561

2) 如果你想在打印时专门进行四舍五入:DoubleToString

谢谢你,这很有帮助。

这里有另一个按英镑兑美元符号四舍五入利润和价格点的困惑。似乎不应该是这样的。


 

什么是通过LiveUpdate系统提供的自动更新

如何运行

终端无法更新

Win 7 - 32终端是通过命令 "D:\MetaTrader 5\terminal.exe" /portable启动的。

S.I. 我必须每次都重新安装吗?

 

我不小心删除了导航仪窗口中的专家文件。结果是,同名的.mq5文件也被删除了

你能告诉我这些文件是否能被恢复(找到)?

我找不到一个类似的主题。

 
Yedelkin:

我不小心删除了导航仪窗口中的专家文件。结果是,同名的.mq5文件也被删除了

你能告诉我这些文件是否能被恢复(找到)?

我找不到一个类似的主题。

它们在windows的垃圾箱中(如果没有关闭)。