首页 > 理财 > 量化 > MQl4 > 正文

MQL4交易处理函数(一)
2019-10-29 11:17:37   来源:   评论:0 点击:

从自定义指标中不能调用OrderSend()、OrderClose()、OrderCloseBy()、OrderDelete()和OrderModify()交易函数。

本组交易函数应用于智能交易和脚本中。只有智能交易设置中的“允许实时交易”属性被选中,才能调用交易函数。

为了在智能交易和脚本中进行交易,在程序交易环境(智能交易和脚本的自动交易的环境)中,只能为它提供一个线程。这就是为什么,如果这个交易环境被一个智能交易操作占用,因此会出现146错误(ERR_TRADE_CONTEXT_BUSY),其他智能交易或脚本在此时就不能调用成功。为了能确定是否有交易在进行,可使用 IsTradeAllowed() 函数检测。为了清除交易环境下访问共享,我们能够使用个基于全局变量的交易信号,其值可以使用 GlobalVariableSetOnCondition() 函数改变。

MQL4交易函数常见错误代码及处理意见

 

OrderSelect() – 选择订单

bool OrderSelect(int index, int select, void pool)

本函数选择一个订单,等待做进一步地处理。如果函数成功,返回TRUE,如果函数失败,返回FALSE。想要获得详细错误信息,请调用GetLastError()函数。

如果通过订单编号选定定单,pool参数应忽略。此订单编号是其唯一识别符。找出所选订单的列表,对订单时间进行分析。如果订单时间为零,此订单就是开单或挂单,或从终端开仓部位列表中选出。我们可以从订单类型区别开单和挂单。如果订单的平仓时间不等于0,此订单就是一个已经平仓的订单,或是一个已删除的挂单,也可能是从终端历史中被选出来的,他们同样可以根据定单类型相互区别。

 

示例:

相关热词搜索:

上一篇:MQL4交易函数常见错误代码及处理意见
下一篇:最后一页

分享到: 收藏
评论排行
频道本月排行