错误、漏洞、问题 - 页 2201

 

今晚决定从英语翻译一个页面------。

"本网站使用cookies。了解更多关于我们的cookie政策"。

我把链接输入Yandex翻译器,并阅读了翻译。当我访问MQL5网站时,我得到了以下信息。

在这里翻译其他语言的网页的正确方法是什么,以避免出现这种情况?
 
Vladimir M.:

今晚决定从英语翻译一个页面------。

"本网站使用cookies。了解更多关于我们的cookie政策"。

我把链接输入Yandex翻译器,阅读翻译。当我访问MQL5网站时,我得到了以下信息。

为了避免这种情况,从其他语言翻译网页的正确方法是什么?

不知何故,我怀疑文本中是否包含独特组合的隐形通配符,以识别使用复制粘贴的用户。
但它可能是....

 

朋友们,我向你们的经验发出呼吁,请你们指导我找到正确的解决方案。

我有一个EA,在一定的时间间隔(每隔几分钟)将数据卸载到一个文件中,运行一个外部程序并从文件中读取数据。整个周期需要~600毫秒。

如何在测试一个策略时,使程序等待到外部程序结束(即在这段时间内,价格流应该暂停,或者最好是跳过600毫秒的刻度)?

否则,现在在测试一个策略时,在执行外部程序的过程中,几天的时间飞快地过去了:-(。在视觉测试器中,该EA工作。但要在几年的历史上测试一个策略,将需要大量的时间。

 
fxsaber:

我一点也不明白。以下是代码

它莫名其妙地抱怨通过引用传递一个指针。同时,f函数平静地接收指针的引用。


其结果是

int运算符的调用没有任何问题,而指针运算符却没有问题。

是的,有这样一个问题,当把指针传递到一个重载运算符时,会发生错误。 这个问题出现在最新的版本中,以前一切都很好。 我已经向帮助台发送了几个月的申请,但没有答复,也没有像往常一样问候。

这对指针数组来说尤其关键,因为除了引用,没有其他方法可以发送它们。

class A
{
 public: 
  A* operator+(const A*const& array[]) { return NULL; }
};

所以我仍然坐在1554年的建设上。

 
romachandr:

那么作为一个斧头的工作(并不意味着它是坏的)。

专家。

1.命令外壳脚本文件被称为

2. 预计会有一个标志着外部行动完成的文件

3.信号文件被删除


命令外壳脚本。

1.运行一个外部程序

2.信号文件的创建

因此:链接是自动插入的,根本就不是这个问题。

顺便问一下,你如何运行一个外部程序?如果通过一些ProcessCreate()或ShelExecute(),那么你可以把产生的句柄给WaitForSingleObject(),但这是在和winapi类型声明跳舞。

 
pavlick_:

那么作为一个斧头的工作(并不意味着它是坏的)。

专家。

1.命令外壳脚本文件被称为

2. 预计会有一个标志着外部行动完成的文件

3.信号文件被删除


命令外壳脚本。

1.运行一个外部程序

2.信号文件的创建

因此:链接是自动插入的,根本就不是这个问题。

顺便问一下,你如何运行一个外部程序?如果通过一些processCreate()或ShelExecute(),那么你可以把产生的句柄给WaitForSingleObject(),但这是与类型声明winapi共舞。

外部程序是用ShellExecuteW()启动的。

在程序执行的输出端,会产生一个文件。事实上,它可以是一个信号文件。

但我不明白此时如何暂停测试员的工作?

我对winapi实际上并不熟悉。如果真的有帮助,我已经准备好深入下去了。

 
romachandr:

外部程序是用ShellExecuteW()启动的。

在程序执行的输出端会生成一个文件。从本质上讲,它可以是一个信号文件。

但我不明白此时如何暂停测试员的工作?

我对winapi不是很熟悉。如果真的有帮助,我愿意更深入地研究。

winapi有以下机制。

创建时返回的HANDLE所描述的对象(线程、进程、Mutexes,...)都有一个信号标志。如果是一个进程,它将在其终止时设置。WaitForSingleObject()会停止当前线程(你的EA)的执行,直到该标志被设置,也就是说,EA会在外部程序结束后退出WaitForSingleObject()。

ShellExecuteW()返回HINSTANCE 而不是HANDLE,我不确定它对WaitForSingleObject()函数是否有效,但这值得一试。如果它失败了,你应该使用ShellExecuteEx,例如(但在它里面传递非琐碎的参数)。

http://fkn.ktu10.com/?q=node/633

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx

 
pavlick_:

Winapi有以下机制。

由创建时返回的HANDLE描述的对象(线程、进程、互斥...)有一个信号标志。如果是一个进程,它将在其终止时设置。WaitForSingleObject()会停止当前线程(你的EA)的执行,直到该标志被设置,也就是说,EA会在外部程序结束后退出WaitForSingleObject()。

ShellExecuteW()返回HINSTANCE 而不是HANDLE,我不确定它对WaitForSingleObject()函数是否有效,但这值得一试。如果它失败了,你应该使用ShellExecuteEx,例如(但它会在里面传递非琐碎的参数)。

http://fkn.ktu10.com/?q=node/633

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspx

谢谢你的提示!

我打算研究一下。

 
romachandr:

但我不明白在这个时候如何暂停测试器?

#import "Kernel32.dll"
 void Sleep(int milliseconds);
#import


void OnTick()
{
  while(! Condition()) Kernel32::Sleep(10);
}
 
有什么难的? 盯着结果文件+本地睡眠 就能解决问题。