class A {};
template<typename T> //---------------------------------------------------//(1)
T *f( T* t ) { return t; } // A *f( A* ) //(2)//const A *f( const A* ) //(3)template<typename T> //---------------------------------------------------//(4)
T *f( T* t, const T* ) { return t; } // A *f( A*, const A* )//(5)voidOnStart()
{
const A *a;
const A *a1 = f( a ); // ошибка не обоснована: T -> const A, и в отсутствии (6) применимо (3)
A *a2 = f( a ); //ошибка обоснована, но по другой причине: A* = const A*
f( a, a ); //ошибка обоснована, но по другой причине: T -> A, и отсутствует f(const A*,const A*)
}
RickD: 1) Обновление открытых позиций и торговой истории в MT5 после вызова OrderSend происходит с некоторой задержкой? Если да, какой рекомендуется timeout для ожидания?
如何复制(保持相对路径)所有项目 文件到一个单独的文件夹。
例如,我想分享一个代码。它从不同的地方提取了十几个mqh文件。
现在我不得不手动搜索这些文件,往往你不能找到所有的文件,或者拿一些不必要的东西。如何使这一过程自动化,以便能够共享来源?
如何删除一个项目 及其所有文件?
我从kodobase终端下载了一个有十几个文件的项目,但我如何删除它?
编译错误
(*) 一般来说,在模式(1)中,A->(2)和const A->(3)都可以被替换为T。与例如模板(4)不同,其中只有A->(5)可以替换为T。
现在只有A->(2)的替换有效,所以为了充分使用,我们必须做两个模板而不是一个。
注:明确的定义(6)比一般情况(*)具有更高的优先权
共计:在没有模式(6)的情况下,预计将适用 带有签名(3)的模式(1)。
2) 对MT4也有同样的问题,以便比较。
RickD:
1) Обновление открытых позиций и торговой истории в MT5 после вызова OrderSend происходит с некоторой задержкой? Если да, какой рекомендуется timeout для ожидания?
MT5-OrderSend不是完全同步的 - 没有与交易环境同步。这意味着历史读数不符合真实情况。
没有超时是不可能的。这个问题没有可靠的解决方案,因为你必须在终端层面处理同步问题,而不是在服务器层面。
事实上,MT5用户正面临着MT4桥梁开发者所面临的问题。
如果发送了OrderSend,你必须记住(这就是潜在的漏洞所在),它已经完成了。然后忽略当前历史(交易环境),直到OnTrade中出现相应的信息。一旦到了,要记得忘记。
当没有REMEMBER时,你可以像MT4一样相信历史。
Версия и битность терминала
版本:5.00,build 1445 (07.10.2016),32位。
问题描述
该指标未能从另一个时间框架(与安装该指标的图表的当前时间框架不同)复制标准指标(内置MT5)的数据。同时可以获得标准指示器的 "句柄",但CopyBuffer()函数总是返回-1。在测试器的可视化模式下,问题不会发生,但在图表的终端(指标所连接的),问题总是存在。
行动的顺序
上述内容。
获得的结果
上述描述。
预期的结果
正确地将标准(最好是自定义)指标的数据从其他时间段复制到该指标。
其他信息
在早期的 "构建 "中,这个问题并没有发生。
有人遇到过这样的问题吗?这是一个终端的 "错误 "还是我的?
fxsaber:
...如果发送了OrderSend,你必须记住(这就是潜在的漏洞所在),它已经完成。接下来,在适当的OnTrade消息到来之前,不考虑当前的历史(交易环境)。只要一到,就应该禁止REQUIRED...。
要么是我的记忆有问题,要么是OnTrade 部分的文件 已经更新。
换句话说,在第i步触发OnTrade是保证该订单在服务器上被接受。
要么是我的记忆模糊了,要么是文件 中的OnTrade 部分已经更新。
换句话说,在第i步触发OnTrade是保证该订单在服务器上被接受。
记住票据(而不是它将被OrderSend退回的事实)或带有true-return的OrderSend的事实是必须的。
那里一切正常,下单应该通过OnTradeTransaction 来控制,顺便说一下,如果你通过Plaza2直接连接到交易所,情况也一样--你需要控制关于下单的消息的到来。在MT4中,该功能是同步的,但在MT5中也有同样的选项,只是在这种情况下,逻辑将停止,直到该功能没有收到回应。
如果你需要,那么我可以把控制类发给你,虽然它是为市场投放而写的,但很快我就会把它定下来用于限制器。