KimIV的有用功能 - 页 126

 
khorosh:
把自己放在他的位置上。在异国他乡,远离故土的生活,不会消失。我很烦躁,对自己犯了一个无法弥补的错误,成为一名外来务工人员感到愤怒)。
错误检查工作正常,但到目前为止没有错误,尽管有许多人试图阻碍正常运作。我有足够的保护来应对所有可能的突发事件。还是那句话,未来会显示出来!
 
artmedia70:

我特意将if(OrderSelect(i,SELECT_BY_POS))作为一个单独的块。为了在调试期间返回错误值。else {//写出你喜欢的选择错误并从中返回,例如EMPTY}。

而让我们想一想,在市场上选择订单的时候会有一个错误。我们来讨论一下。我还没有遇到过。

罗杰

并说出至少一个原因,当一个正确创建的订单循环可能返回 "false"。

哎呀,没注意到Artem已经问了,哎呀。然而。

这有什么区别呢?

在一般情况下,它可能会返回。那么,如果对某些条件或甚至一组不同条件的观察表明,它并没有返回错误呢?

我们不知道这个函数的实现细节,文档中也没有提供任何有关它的 "猜测"。如果在下一个经纪商的下一组条件下,该函数突然返回错误,怎么办?

我仍然会回答所提出的关于原因/情况的问题,因为这很简单:原因可能是开发团队在发布MT的下一个版本时对这个功能的执行错误。我希望这是个有足够可能性的事件,可以认真考虑?

假设由于这个假设的错误,该函数开始随机地,但平均来说,只对每5个请求返回错误。

通常情况下,你不可能提前想到你不知道的事情。所以问它可能是因为什么也没有多大意义。当它发生时,那么你可以很容易地解释原因。

但不知道未来可能发生什么并不妨碍你对它进行防御。结果可能是,一些高级别的算法会因为收到一个假值而产生很多麻烦。他们不会知道这个值是假的。

但如果他们知道没有价值,如果有,也是真的,如果没有自己的错误,他们就不会乱来。这就是为什么不仅在调试模式下,而且在战斗模式下都应该给出不可能计算出数值的信息。

 

是否可以将外部数据加载到指标中,例如从一个文本文件中加载?

例如,是否有一个每日价格,并且需要在任何时间框架图表上建立一条线?

日期 价格

04.12.2014 100.00

03.12.2014 101.12

02.12.2014 102.45

01.12.2014 103.23

28.11.2014 102.43

27.11.2014 101.90

 
良好的功能,感谢伊戈尔的辛勤工作。
 
KimIV:

使用OpenPosition()函数的例子。

1.买入当前工具的0.1手

2.卖出0.2手欧元兑美元

3.卖出0.12手美元兑加元,止损20点

4.买入0.15手USDJPY,40个点的止损。

5.卖出0.1手GBPJPY,止损23,回撤44点

附上用于测试OpenPosition() 函数的脚本。前4个例子被注释掉了。
我不知道你是否会回答。我坐在这里,我不知道如何使我的EA成为多币种!"。
 
logut:
我不知道你是否会回答我。 我坐在这里,不知道如何使我的EA成为多币种!我不知道该怎么办。
德米特里,我通常在一张纸上写出所有的逻辑。做什么,何时做,用什么做。
 
Roger:

请给我一个理由,为什么一个正确创建的订单循环可能会返回 "假"。

哎呀,没注意到Artem已经问了,哎呀。然而。

轻松!

再一次更新 后,终端 重新加载,只开始显示前一天的订单。它不显示订单历史。该函数应该返回一些东西--比如没有历史。

该经纪人删除了一些订单。

主存储器上有一个洞。你的内存已经崩溃了,这个函数正在占用一个垃圾内存单元。它可能会在显示器上显示出来。它可能出现,也可能不出现。可能有其他硬件问题。

终端重新启动并 "失去 "与服务器的通信。我曾经用代理服务器使用Mt3。我以前用的是拨号上网,带宽和时间都很有限,网络质量很差。我看到刻度线的到来,图表在移动。当我试图打开一个订单时,终端试图写 "与服务器没有连接"。

我在MT4中面临一个问题,它仍然存在:我得到了一个刻度和一个黑色(空)的图表屏幕。如果我用鼠标拉动图表,或者机器人出现错误,我就会得到一个错误信息,机器人就会崩溃。如果我用鼠标拉动图表或有新的刻度线出现,一切都很正常。因此,在除法时,我首先检查要除以什么,如果它不等于零,我就继续前进!

 

亲爱的KimIV,我正在使用你的函数在达到一定利润时关闭所有头寸,我遇到了这样的情况:一个挂单 触发了另一个没有被关闭的头寸。我现在已经实现了对这种情况的额外检查,并重复调用了你的函数。你认为这个改进应该在主关闭周期结束后在函数内部实现吗?

这些是函数 ClosePosBySortLots() 和 ClosePositions()。

 

对于在线测试和历史测试,都有删除未决 订单的功能代码 - https://forum.mql4.com/ru/38949#434195

你能解释一下测试和在线之间的区别吗?

 
isCloseLastPosByStop()和isCloseLastPosByTake()函数并不总是正确工作,因为订单的收盘价 和止损(TakeProfit)并不总是重合。我已经在我的里重新做了。我把这些数值相等的条件改为:这些数值之差的绝对值(以5位引号计算)必须小于5*Point。