错误、漏洞、问题 - 页 260

 
Dima_S:
由于类型转换可能导致数据丢失 ChartObject.mqh 213 4
由于类型转换可能导致数据丢失 ChartObject.mqh 481 4
由于类型转换可能导致数据丢失 ChartObject.mqh 867 17
由于类型转换可能导致数据丢失 ChartObjectsTxtControls.mqh 519 4

图片375--vornings出现在标准图书馆。可能还有一些,我还没有检查。


已经修好了。将在下一个版本中出现。
 
sergeev:
从mt4开始,每个人都有兴趣。

那么,是否有任何建议呢?)

我的意思是,这甚至很奇怪,或者说是故意的)

 
Makser:

那么,是否有任何建议呢?)

我的意思是,这甚至很奇怪,或者说是故意的)

你指的是含日元符号的价格表上的数字吗?如果是这样,很可能是统一了小数价格值的格式,以便在刻度上显示,比如%10.{SYMBOL_DIGITS}f

我认为开发者只是认为没有必要再增加一个检查来确保数值是一个整数。

 

这段代码偶尔会因为某些原因让handle2文件打开,直到我重新加载它,Mt4 EA无法打开它进行写入,这是什么问题,请指教...

void OnStart()
  {
//---
   int handle1,handle2;
   string CurBid1,CurBid2;
   while (true)
      {
         handle1=FileOpen("M1"+"\\experts\\files\\"+"News"+".csv",FILE_READ|FILE_TXT|FILE_ANSI);
         handle2=FileOpen("M2"+"\\experts\\files\\"+"News"+".csv",FILE_READ|FILE_TXT|FILE_ANSI);
         if(handle2!=INVALID_HANDLE&&handle1!=INVALID_HANDLE)
         {  CurBid2=FileReadString(handle2);
            FileClose(handle2);
            CurBid1=FileReadString(handle1);
            FileClose(handle1);
            
         }

         Sleep(1000);
      }
  }
 
Olegts:

这段代码偶尔会因为某些原因让handle2文件打开,直到我重新加载它,而mt4 EA无法打开它进行写入,这是什么问题,请告知...


你已经打破了这个逻辑。你一次打开两个文件,但这并不意味着两个文件会同时打开...

而且你没有同时关闭它,....

 
AlexSTAL:

你的逻辑是有缺陷的。你同时打开两个文件,但不确定这两个文件是否会同时打开...

而且你不会同时关闭它们....。

知道了,有一个可能是挂着的,谢谢你的提示:)))
 
sergey1294:

在MT5中,不是一笔交易被止损平仓,而是一个头寸,在这一点上,你只能通过止损平仓的交易评论知道。下面是一个示例代码。

谢谢你的有用的答复

尽管从程序员的角度来看,MQ5中没有更标准的可能性,但找出关闭职位的原因的可能性确实存在,这很好,说明系统有些不完整。如果有一个事件,一定有一个标准的 方法来找出它的原因。在我看来,系统的下一个版本应该为DEAL引入扩展状态,以允许这样做。

我还有一个问题:当达到一定的亏损水平时,有什么好的方法来逆转头寸?提前感谢您的建议。

 
komposter:

该EA的平均盈利交易规模是多少?直觉告诉我,这还不到10个点。

问题可能出在历史数据上--它要么被清理得更干净(经过过滤),要么就是更正确(比如说包含正确的价差)。

是哪个服务器?

Alpari-Demo服务器。有很多小的交易。但我还是不明白在C点发生逆转的原因。
 
sultanm:
Alpari-Demo服务器。有很多行业和小行业。但我仍然不明白在C点发生逆转的原因是什么。

在MQ服务器上尝试优化,使用相同的参数和时间间隔。

如果结果重复出现,那么就值得考虑,如果没有,那么可能是另一个Alpari的错误(或者只是他们服务器的一个棘手的配置)。

 

前段时间我在论坛上问(很久以前,当时MT5还很粗糙),是否可以在一个窗口中打开两个不同时间段的图表(例如,对于欧元兑美元标签,在里面放几个图表)。有人回答说这是可能的。我现在已经安装了MT5,但我没有看到这个选项。有谁能证实这一点,如果是这样,该如何做?

谢谢你!