错误、漏洞、问题 - 页 2617

 
Stanislav Korotky:

请自行检查以下错误。该应用程序有一个特殊的极简指标,其唯一的任务是读取 "capslock "键的状态。它显示在日志和评论中。

行动的顺序如下。

  1. 编译指标,将其放在图表上,确保打印出0("capslock "未启用)。
  2. 切换到ME,启用CapsLock并重新编译。返回到终端。检查日志,以确保旧指标被卸载,新指标被加载。然而,"CapsLock "状态仍被返回为0。
  3. 如果我们从图表中删除该指标并再次上传,capslock被正常识别--它显示1。

奇迹是什么?当通过编译重新启动时,一些环境变量没有被清理,或者还有什么?

对关键状态进行轮询是一项具体的操作。

实际的按键状态只针对活动窗口给出。这样做的目的是为了在处理OnChartEvent 时,非活动窗口不会受到干扰。

 

自定义符号,在日志中发现出口 这是什么意思?

2019.12.11 00:07:13.252 历史记录 'DA6_CUSTOM' 无效容器 2014.01.02 符号设置 - 数字:4,刻度大小:0
2019.12.11 00:07:13.254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.03 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13。254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.05 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.06 符号设置 - 数字:4,刻度大小:0
2019.12.11 00:07:13.255 历史记录 'DA6_CUSTOM' 无效容器 2014。01.07 符号设置--数字:4,刻度大小:0
2019.12.11 00:07:13.255 历史上'DA6_CUSTOM'无效的容器2014。01.08 符号设置--数字:4,刻度线大小:0
2019.12.11 00:07:13.255 历史'DA6_CUSTOM'无效容器 2014.01.09 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.256 历史记录 'DA6_CUSTOM' 无效容器 2014.01.10 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.256 历史记录 'DA6_CUSTOM' 无效容器 2014.01.12 符号设置 - 数字:4,刻度线大小:0


 
Slava:

钥匙状态轮询是一个特定的操作。

实际的按键状态只针对活动窗口给出。这样做是故意的,以便当OnChartEvent被处理时,不活动的窗口不会受到干扰。

是否有计划在OnChartEvent 中加入Windows Events?有些时候,一些数据来自外部,通过dll,你可以立即为图表生成一个事件来获取数据,而不是通过定时器来询问数据。你可以让OnChartEvent通过它的名字来等待一个Windows事件。

之前在MT4中,我们通过PostMessage模拟一个新的tick,在图表上触发一个EA。

 
Slava:

询问钥匙的状态是一个特定的操作。

实际的按键状态只针对活动窗口给出。这样做的目的是为了当OnChartEvent被处理时,不活动的窗口不会受到干扰。

是的,这是不完整文件的海量案例之一,很明显。细节是在问题发生后才一滴一滴地披露的。

 

关于交易、自动交易系统和策略测试的论坛

图书馆:MultiTester

fxsaber, 2019.12.13 10:24

检查了KB ZIP档案的内容。看起来开发者已经解决了这个问题,现在ZIP中已经有了新版本的文件。只有那里的文件日期是错误的。而内容也是应有之义。

 
Alain Verleyen:

自定义字符,在日志中发现退出 这是什么意思?

2019.12.11 00:07:13.252 历史记录 'DA6_CUSTOM' 无效容器 2014.01.02 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.03 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.05 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.254 历史记录 'DA6_CUSTOM' 无效容器 2014.01.06 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.255 历史记录 'DA6_CUSTOM' 无效容器 2014.01.07 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.255 历史记录 'DA6_CUSTOM' 无效容器 2014.01.08 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.255 历史记录 'DA6_CUSTOM' 无效容器 2014.01.09 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.256 历史记录 'DA6_CUSTOM' 无效容器 2014.01.10 符号设置 - 数字:4,刻度线大小:0
2019.12.11 00:07:13.256 历史记录 'DA6_CUSTOM' 无效容器 2014.01.12 符号设置 - 数字:4,刻度线大小:0


意味着你的日志报告了一个错误:字符仍然是四个,但刻度线仍然丢失。

 
它可能会是关于集装箱的。你需要它们吗?
 

不幸的是,这种检查非常罕见,但有时(上周有两次,大约一百次运行)确实会失败。我不明白其中的原因--数据来自同一个文件/结构(?)

   datetime time[],
            START_H=D'01.02.2018';
   double   close[];

   int t=CopyTime (_Symbol,0,TimeCurrent(),START_H,time);
   int c=CopyClose(_Symbol,0,TimeCurrent(),START_H,close);

   if(t!=c) 
    {Print("Arrays (time & close) are not equal!!!"); return(false);}
 

请检查/确认/核实以下情况:试图通过推荐的ChartSetSymbolPeriod(0, NULL, 0);方法刷新图表时,终端会挂起几秒钟(我的是~15)。所附的是一个简化的指标,供复制。

需要做以下工作(之前工作正常):在指标中存在一条垂直线(对象),在用户移动它之后,指标以从线的位置取得的Offset参数的新值重新建立。

该指标本身是原始的:它在一个子窗口中显示报价的原貌(带有默认参数)。它是即时计算的。

要解决这个问题,只需将指标放在图表上,并将垂直黄线向后移几格。

信息显示在日志中。

- "拖 "字当头的事实。

- 几十秒后,"计算"--它在每次OnCalculate时都会显示。

在 "挂起 "过程中,终端100%加载CPU核心。在这次挂起后,指标最终以新的偏移量显示。但是,整个重点是及时显示新设置的指标--只要用户移动线。

问题是什么?如何解决这个问题?

提前感谢。

附加的文件:
FMA.mq5  4 kb
IndArray.mqh  5 kb
 
Denis Nikolaev:

MT5

2280号建筑

计算具有指定符号和神奇数字的开仓 数量的功能重复发射。

即第一次调用返回正确值,第二次调用返回0

请提供示例代码,并描述交易环境。描述它,以便它可以被复制。