错误、漏洞、问题 - 页 2612

 
Vladimir Simakov:
它是完全冻结,还是在一段时间后EA被卸载?如果是后者,则要寻找一个循环。

更有趣的是。在调试模式下,它不会挂起。但在全功能模式下,它坚持了下来。

 
同事们好,有谁知道为什么安卓上的MT4终端不把一些平仓的头寸 计入利润,尽管它们显示在历史上?

也许这是个错误?
 
fxsaber:

更有趣的是。在调试模式下,它不会挂起。但在全功能模式下,它被冻结了。

我已经把问题定位了。

#include <WinAPI\WinAPI.mqh>

#define  GA_ROOT           0x00000002

void OnDeinit( const int )
{
  static const int ControlID[] = {0xE81E, 0x804E, 0x2712, 0x4196};
  
  long Handle = user32::GetAncestor(::ChartGetInteger(0, CHART_WINDOW_HANDLE), GA_ROOT);
                                                                                        
  for (int i = 0; i < sizeof(ControlID) / sizeof(int); i++)                             
    Handle = user32::GetDlgItem(Handle, ControlID[i]);

  ushort Str[6];
  user32::GetWindowTextW(Handle, Str, sizeof(Str) / sizeof(ushort)); // Freeze
}


你在一个图表上运行这个专家顾问,然后用手把它拆下来。终端将挂起。

在任何其他On-function中执行相同的代码都不会挂起。

 
突然间,在Tester文件夹中出现了第三个代理(端口3002)的文件夹,这在以前是不存在的。我没有改变任何东西,我也没有启动经理。其他两个(正常)代理的文件夹里也有今天的新文件。会是什么呢?我可以杀了多出来的那个人吗?
 
Stanislav Korotky:
我可以钉住多出来的那只吗?

你可以杀死整个Tester文件夹,只留下缓存。

 

你能告诉我这是否是一个错误?

struct A { int i; };

struct B : public A { int j; };

void OnStart()
{
  B b;
  
  DebugBreak();
}

i字段缺失。

 

终端机一直存在问题。

1- 我们打开绘图和时间框架面板。把它们放在与主要的一列。

2 - 将终端压缩到屏幕的一半

3-将终端打开到全屏,绘图和时间框架条作为 "第二条线 "出现!因此,屏幕的很大一部分空间被一个无用的空洞所占据!

但终端应该能够记住它们的位置并恢复它们。

此外,如果你拿了其中的第一个,它不会像你期望的那样一次拿2个,而是只有一个......因此,你只需将它们一个一个地往后拖就可以了!

一般来说--他们是如此之大,你必须将所有的东西减半/三倍。

而且最好是把图表的窗框也做得更细一些。现在他们是如此传统--都是用砖头做的......

这只是人机工程学,是一般的印象和一般的方便!

在我们的国家,人体工程学总是有问题的!它经常被忽视。在这个意义上,外国产品通常是赢家。我不是在说其他制造商的终端,我指的是一般情况下!你可以把汽车行业或电子行业...任何事情......自从苏联和计划经济时代以来,就一直是这样。

如果能最终击败这东西就好了!

 
Михаил:

而且无论如何--他们是如此之大,他们需要将那里的所有东西减半/三倍!

你难道不需要考虑那些不能百分之百看清的人吗?他们能不能已经被废止了?如果你戴上眼镜,这样按钮就不会显得那么大,不是更容易吗?

 
Alexey Viktorov:

难道视力低于100%的人不需要被考虑吗?他们能不能已经被废止了?如果你戴上眼镜,这样按钮就不会显得那么大,不是更容易吗?

你需要调整...我理解有不同类型的视力。屏幕可能很大,笔记本可能很小...这就是为什么你需要调整!而且,为了使终端不会忘记元素的位置...

人们正逐渐从显示器转向电视机,而不是显示器...这很方便。在电视上,大的控制器 是浪费空间。在笔记本电脑上,有更大的控制是很方便的...你需要选择。

该平台不再是小的。已经做了这么多复杂而严肃的事情。而设计在很多方面都是旧的,已经很久没有改变了......。

 

关于GetMicrosecondCount()的问题

GetMicrosecondCount()函数返回 自MQL5程序开始工作以来所经过的微秒 数。

我是否正确理解,当要求平仓-开仓-修改订单-头寸时,这个功能会冻结?


检查方法

开设20个职位

修改20个职位

测量GetMicrosecondCount()

关闭20个职位

GetMicrosecondCount()测量


因此,所有位置都是以70000微秒的间隔关闭。所有的20个,但如果我们在终端中直观地看,我们可以看到一些头寸在等待关闭2-5秒!这是不可能的。