我支持这个想法。正确的决定........!!!
你的代码是巨大的,问题经常出现,在其他人的帖子中和其他话题中涉及你是不好的。
是否会有公布的真实交易功能?
是的,他们会...接下来将是在线交易的SetOrder()函数...
如何使用SetOrder()函数的例子。
1.设置一个0.1手的买入限价单,低于当前价格50点。
SetOrder(NULL, OP_BUYLIMIT, 0.1, Ask-50*Point);
2.设置一个买入止损单,手数为0.3,比当前价格高36点,止损为32点。
SetOrder(NULL, OP_BUYSTOP, 0.3, Ask+36*Point, Ask+(36-32)*Point);
3.以高于现价42点的价格下达0.2手的SellLimit订单,并有50点的回撤。
SetOrder(NULL, OP_SELLLIMIT, 0.2, Bid+42*Point, 0, Bid+(42-50)*Point);
4.按手数0.5在现价下方100点处下一个卖出止损单,止损30点,收回70点。
SetOrder(NULL, OP_SELLSTOP, 0.5, Bid-100*Point, Bid-(100-30)*Point, Bid-(100+70)*Point);
5.买入限价单,手数为0.1,比当前价格低50点,魔法号码为123456,两小时后到期。
SetOrder(NULL, OP_BUYLIMIT, 0.1, Ask-50*Point, 0, 0, 123456, TimeCurrent()+2*60*60);预告片是一个现实生活中的剧本,有上述例子。前四个例子被注释掉了。
你好,伊戈尔!
我支持这个想法。正确的决定........!!!
你的代码是巨大的,问题经常出现,在其他人的帖子中和其他话题中涉及你是不好的。
谢谢你。
显示你的交易之间延迟的版本
我在交易之间不做任何拖延。也就是说,如果我需要下两个或更多的订单,我执行这些交易操作时,中间没有停顿。但在两次交易尝试之间,如果与服务器联系时出现错误,就必须重复进行,根据MT4开发人员的建议,我做了一个暂停。作为一个例子,你可以看到在我的在线交易的SetOrder() 函数中是如何实现这种暂停的。对于交易服务器返回的不同错误,会做出不同的暂停。
该函数SetOrder() 用于设置挂单。它被推荐用于在线交易的模拟和真实账户。
...解释一下为什么会有7.7、17、11秒的延迟。这是一个笑话还是有道理的。
用真金白银能有什么样的笑话?
错误129(买入或卖出价格不正确),130(止损不正确),134(资金不足),136(无价格)将暂停7.7秒。在这种情况下,MT4开发者建议 暂停时间超过5秒。我把它设定为7.7秒。还不如把6.1秒。我不喜欢圆形的数值,因为它们很吸引人,所以我设置了非圆形的。
17秒的停顿应该是为了错误145(禁止修改)。但由于SetOrder 函数不处理修改,我删除了对这个错误的处理。谢谢你让我注意到我这一方面的功能。
11秒的停顿位于检查贸易子系统状态的循环内。你可以把它设置为15秒或30秒。你喜欢什么并不重要。
我还想知道,如果有一个以上的专家顾问,而你又不能不进行分析,该怎么办?
对于一个交易账户上的几个专家顾问,错误146(交易子系统繁忙)被处理。函数SetOrder 会等待,直到交易子系统有空。
警告!我 已经编辑了之前的帖子。对SetOrder 函数做了修改。
在这个主题中,我将发布我在MQL4中的函数代码,给出它们的使用实例,并回答与它们的使用有关的问题。每项功能将在两个帖子中公布。第一篇文章将包含功能代码,第二篇--使用实例和简短解释。有时我会在第二篇文章中附上脚本的代码,以实际测试该功能并显示结果。
最后我将按照Lukyanov 在"如何同时运行两个EA"主题中的要求,从处理订单的功能开始。
首先是订单设置功能(MT4测试版)。