错误、漏洞、问题 - 页 2404

 
Ilya Malev:

所以让它工作吧,谁在阻止它?反正它的工作方式与MT4的工作方式不一样,所以由你来改变90%的时间 的这种行为,或者剩下10%的时间。

等待一个如何使用这种行为的例子?

 
Ilya Malev:

你需要一个顾问来写吗?我认为你可以像我一样,自己做得很好。

你经常提到SELECT_BY_TICKET,但你没有给出它的任何实际用途。

我自己并不使用这种结构。此外,我认为在MT4中使用它是危险的。

Ilya Malev:

在90%的情况下,它在历史上不是SELECT_BY_TICKET,而是与订单一起工作,如同与不可分割的实体一样。部分平仓或开仓对大多数外汇经纪商来说是罕见的。通常,他们要么完全关闭/打开订单,要么给出一个无关紧要的报价

MT5也是一个交易所平台,在这个平台上,局部的情况一点都不罕见。此外,上面有一个例子,用户部分地关闭了他的位置。例如,当交易员在不同的价格水平上分批平仓时,这是一种非常正常的做法。
 
fxsaber:

你经常提到SELECT_BY_TICKET,但你没有给出任何实际应用。

我自己并不使用这种结构。此外,我认为在MT4中使用它是危险的。

也许你是对的,但这是功能的一部分,在你的库中与在MT4中的工作方式不一样。我实际上指出了这一事实,但并不打算对其进行评论。

 
Ilya Malev:

你可能是对的,但是这部分功能在你的库中与MT4中的工作方式不同。实际上,我指出了这个事实,但并不打算对其进行评论。

在关于图书馆的讨论中特别提到了这一点。相关的例子和论据说明,即使在MT4上使用SELECT_BY_TICKET也是一种糟糕的交易逻辑。

 
Ilya Malev:

如果你认为根本不应该使用这种模式,那么就像MT4中那样,不要推荐使用这种模式。

这种模式在某些情况下可能很有用。

以防万一--在MT4中部分关闭时,服务器的行为对于不同的经纪商是不同的,不保证是你描述的方式。

你可以试着寻找一个地方,在MT4中部分平仓时,该位置不会改变票据。上面的代码已经给出。

 
Ilya Malev:

1.也许我现在应该让你举个例子(只是不要在这个主题里,它已经很杂乱了)。

我们在终端历史中看到了一个平仓。我们需要快速获得它的数据--我们在脚本中写了一个票据,就这样了。

或者我们需要以自己的方式来整理交易历史。对门票进行分类并选择。

2.实际上我并不关心,是否在部分关闭时改变票据,因为在不使用部分关闭时,它对票据内的订单选择 没有影响。而当它被使用时,你需要观察评论(MT4),或通过位置编号选择交易(MT5)。

一切都可以通过门票来选择。只是在你关闭时,该职位的票据会发生变化。这是与MT4的唯一区别。

 
Ilya Malev:

因此,你应该制作一个额外的功能,允许从旧的票号中找出变化的票号,而不是坚持认为MT4中存在的SELECT_BY_TICKET功能是 "错误的"。虽然这当然是你的事。

有一种MT5功能,编码者可能需要,但很难实现。还有一种是容易实施但几乎不需要的。

只有在第一种情况下做一些事情才有意义。例如,OrderOpenPriceRequest是一个超级东西,因为它是计算开仓滑点的基本要素。

但OrderTicketOld是一个非常简单的东西(POSITION_ID),关于什么都没有。这里是开场的交易券--这件事很难实施,这就是为什么它要做。

 
Ilya Malev:

你在库的部分有一个要求,即专家顾问必须以 "MT4风格 "编写。基于这个要求,实现一个完全适合这种风格的函数是合理的,允许你像在MT4上一样编写代码。

你还没有展示出一个不会工作的EA。

 
洪水
 
fxsaber:

部分关闭不一定是在服务器端进行部分填充。

那么在MT5中,如何在这种情况下选择0.2手的平仓?

我不知道MT5的情况,但在MT4中,我在寻找一个机会,对一个订单进行部分平仓,并找到一个新的票据,但没有使用OrderComment()字段。

一般来说,一切都像在MT4中一样工作。

- 在市场订单列表中选择一个订单,并获得一张票。

- 我们要求OrderClose() - 我们得到的是true

- 旧的票据已经进入订单历史,出现了新的市场票据;如果订单被完全关闭(不是部分关闭),则不会出现新的票据。

MT4中部分关闭的话题足够有趣,我问过了,但可惜的是,所有的Guru都在OrderComment()中寻求快乐--我不喜欢它,但显然人们并不关心,一个讨论MT4有效算法的话题,我本来是要参与的。


SZY: 我找不到源代码,我不喜欢这种实现方式--我把市场订单票保存在一个数组中,在部分收盘后,我立即用ArrayBsearch()找到数组中缺少的订单,即一个新票