1446://--- check triggering of a pending order
1447: if(hist_ord_tot==m_hist_ord_tot+1 && ord_tot==m_ord_tot-1)
1448: {
1449: //--- triggering of a pending order
1450: if(deal_tot==m_deal_tot+1)
//--- establishment of the checkpoint history of the trade
bool isSyncMode = MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION) || MQLInfoInteger(MQL_VISUAL_MODE);
if(!isSyncMode)
HistorySelect(m_beg_date,TimeCurrent());
else
HistoryPoint(true);
//---
return(res);
结果。
什么是奇数未定数?在帮助中没有发现或搜索到。看起来不像是EMPTY_VALUE。
某种意义上的垃圾。
设定值
一些垃圾
设定值。
不是为了实践,而是纯粹出于理论上的好奇心。另一个数字(9xxx--我记不清楚了)看起来更像是垃圾,而且只出现过一次,再也无法重现,而上面的数字是恒定的,不时地重复出现。(不知道你和其他人是否也是这样?)我不在乎,主要是其他程序员不要痛苦地跌倒在这里。
这不是为了实践,而是纯粹出于理论上的好奇心。另一个数字(9xxx--我记不清楚了)更像是垃圾,它只出现过一次,再也不能重现了,而上面的数字是恒定的,不时地重复。(不知道你和其他程序员是否一样?)我不在乎,主要的是其他程序员不会痛苦地跌倒。
我有 "0",检查过几次了
我得到一个0,检查了几次。
嗯...我不知道一种情况与另一种情况有什么关系,但我把它作为一个指标在不同的货币对上运行--数字的攀升是不同的(在每个仪器上,每个刻度 都重复相同的数字),甚至有一个零。这很奇怪。但看起来,如果不用自己的数字进行初始化,就真的是垃圾了。
嗯...我不知道一种情况与另一种情况有什么关系,但我把它作为一个指标在不同的货币对上运行--数字的攀升是不同的(在每个仪器上,每个刻度 都重复相同的数字),甚至有一个零。这很奇怪。但看起来,如果不以自己的数字进行初始化,那就真的是垃圾了。
重新检查了一遍,按刻度插入了代码
在MT4中,它始终是0。
在MT5中是的,0是非常罕见的,数字是511026368。
嗯...我不知道一种情况与另一种情况有什么关系,但我把它作为一个指标在不同的货币对上运行--数字的攀升是不同的(在每个仪器上,每个 刻度 都重复相同的数字),甚至有一个零。这很奇怪。但是,如果没有用自己的数字进行初始化,似乎就真的是垃圾了。
数组(以及所有其他变量)在创建时被分配了内存。如果数组没有被初始化,那么过去使用过的东西都会被留在那里=垃圾。
如果你不从程序中改变数值,这个内存就不会发生任何变化,垃圾保持其价值。
在MT4中,所有变量和数组都被强制初始化为0。
CExpert.TradeEventOrderTriggered()未被调用
当使用FORTS市场,BCS-Demo服务器时,当挂单被触发时,CExpert.TradeEventOrderTriggered()调用出现了一些不稳定。
MQL5标准库的 CExpert::CheckTradeState 方法的代码没有考虑到可能异步接收关于头寸、订单、交易和历史的信息。
当代码在历史数据上执行时,这些条件都能正常工作。在处理真实数据时,可能会出现这样的情况:关于头寸、交易、订单和历史的变化信息不是在同一时间获得的,而且获得信息的顺序是随机的。
bool CExpert::CheckTradeState(void)方法的调用日志。一个CheckTradeState()的调用对应着2行"CheckTradeState: ....."。
你可以从日志中看到:
1.当挂单触发时,历史长度的更新晚于交易、订单和头寸的信息,这导致无法满足代码中的第一个条件。
2.在接收有关订单、交易和头寸数量变化的信息时可能不同步,这导致不可能满足代码中的第二个条件(如果你能以某种方式绕过第一个问题并执行第一个if)。也许这种不同步发生在一个订单分两步执行时(分批执行:1手+1手),但在这种情况下,为什么交易数量是+1,而不是+2。
我被这个代码卡住了。
块的要点:如果在异步模式下,我们已经到了程序的末尾,那是可能的,当历史没有加载时,我们获取历史,但我们没有记住订单数量的值,等等。
P.S. 似乎标准库的这一部分还没有被开发出来。特别令人不安的是一个连续写了3次的代码片段。
我在这里写道,希望这个问题能被注意到,并在某处得到纠正。
我看了一下市场上EX5专家顾问文件的大小。所有这些都小于200KB。是什么让你能达到如此小的尺寸?一个简单的代码?
我认为作者是天才,90%的顶级卖家对平台完全没有疑问--所以他们写代码时有一种自然的本能 ))))
问题就在这里。
我正在插入数据。
我得到一个错误。
没有找到资源文件'Common/FilesEURUSD_tick.bin'。
无法打开资源文件 .....\\\\MQL5\Experts\Virtual\Common\Files\EURUSD_tick.bin' (3)
如果我把文件放在EA文件夹或Files文件夹中,一切都很正常。
有没有可能是资源不能从Common文件夹挂载?-或者我需要指定另一个路径吗?
我认为作者是天才,90%的顶级卖家对平台完全没有疑问--所以他们用先天的知识编写代码 ))))
对于其他账户的问题。
你不能从Common文件夹连接资源?-或者你需要另一种方式来开处方?
我不知道。