错误、漏洞、问题 - 页 2605

 

我为这小小的偏题道歉

Igor Makanu:

处理器不可能切断PSU的12伏线路。

如果你的PSU有问题,它不会提供所有的额定值(12.5,3.3),然后内存会失效,然后是Cpu,然后才是硬盘,风扇....。如果你有一个视频卡,它可能开始失败,如果12 V下垂,但在12 V的第一个下垂会感觉到SSD,和其他设备工作没有问题...虽然....,但当内存出现故障时,它认为是硬盘的问题,甚至win7也无法安装到硬盘上,在安装的30%时,它写道无法复制文件......我认为,它不会这样发生。该问题是由错误的内存引起的

ZS:写了关于AIDA64的文章--你做了吗?

我现在已经更换了电源,但我不认识我的电脑。甚至互联网也更快。这是个奇迹。
 
Alexey Viktorov:

我为这小小的偏题道歉

我现在已经更换了电源,但不认识我的电脑。现在连互联网都快了。这是个奇迹。

这很好。
但这并不奇怪,电源不会永远持续下去。
特别是在没有稳压器的情况下,电容器会迅速下垂。
取决于电源的质量,在一年的有效使用中,它可以很容易地死掉。

 

源码(Math\Stat\Math.mqh)应该调整到最新的构建,带有这些参数的MathArctan2函数已经是多余的了。


 
Aliaksandr Hryshyn:

有必要纠正最后一次构建的源代码(Math\Stat\Math.mqh),带有给定参数的函数MathArctan2已经是多余的了。


固定的。

带有修复功能的新测试版将在2小时后推出。

 
当为历史调用CopyTicksRange时,本地还不存在,就MQL5的调用代码而言,该函数会无限期地 "挂起",在此期间,文件被下载到工作数据库ticks的文件夹中,而MQL5程序则 "等待"。当收到所有要求的历史记录时,"悬挂 "就会自行消退,但如何让用户知道这段时间内程序确实在工作?有什么方法可以获得下载过程的完成百分比吗?我有几年的历史下载了几分钟。如果没有明确的反馈,一般的用户会不等结果就吐槽并废掉这个程序。我也不想滚动一个愚蠢的时钟,在MQL中没有确认下载是否真的发生。
 
Stanislav Korotky:
当调用历史的CopyTicksRange时,本地还没有可用的历史,来自调用者MQL5代码的函数无限期地 "挂起",在此期间,文件被下载到工作数据库的ticks文件夹中,MQL5程序同时也在 "等待"。当收到所有要求的历史记录时,"悬挂 "就会自行消退,但如何让用户知道这段时间内程序确实在工作?有什么方法可以获得下载过程的完成百分比吗?我有几年的历史下载了几分钟。 如果没有明确的反馈,一般的用户会不等结果就吐槽并废掉这个程序。

KB解决方案的测试人员曾经做过这样的事情。我不记得本质了,代码应该很清楚。你也可以用指标来试试。如果故事还没有准备好,它似乎不会等待执行。

 
fxsaber:

在KB的解决方案中,Tester做了,我想,是这样的。我不记得本质了,代码应该很清楚。你也可以用指标来试试。看来,如果历史没有准备好,它不会在那里等待执行。

你能告诉我确切的地方吗,因为有好几个Tester的?;-)

指标不给他们的报价计算进度--好吧,CopyBuffer 会一直返回相同的错误代码--这并不能使情况更清楚。

 
Stanislav Korotky:

你能不能更具体地说明地点,因为有几个Tester的?;-)

在这个文件中

  static bool HistoryIsReady( const datetime tBeginTime, MqlTick &BeginTick )
  {
    MqlTick Ticks[1];
  
    ::ResetLastError();
  
    if (::CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, (ulong)tBeginTime * 1000, 1) == 1)
      BeginTick = Ticks[0];
  
    return(!::GetLastError() ||
           (!::TerminalInfoInteger(TERMINAL_CONNECTED) && 
           ((::CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, (ulong)(tBeginTime - 7 * 24 * 3600) * 1000, 1)) == 1) &&
           (Ticks[0].time < tBeginTime)));
  }

指标不为它们提供报价计算的进度--好吧,同样的错误代码 将一直由CopyBuffer返回--它不会使情况更清楚。

我的意思是别的东西,但这并不重要。

 

我完全不明白发生了什么事。

   struct myPositionPrepare
   {
      ENUM_ORDER_TYPE      order_type;          // тип устанавливаемого ордера
      ENUM_POSITION_TYPE   position_type;       // тип устанавливаемого ордера
.................
   };
   myPositionPrepare       structPosPrep;       // подготовительная структура для открытия позиции/ордера
.
.
      structPosPrep.position_type         = PositionGetInteger(POSITION_TYPE); // implicit enum conversion

怎么了?

 
Сергей Таболин:

我完全不明白发生了什么事。

怎么了?

longPositionGetInteger()

我还发现这一点很不方便:我可以从枚举类型 自动翻译成整数类型,然后再翻译回来,而不需要

structPosPrep.position_type = (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);