初学者的问题 MQL5 MT5 MetaTrader 5 - 页 218

 
micle:
服务器端只是一个关口...我认为在订单执行 方面,很大程度上取决于经纪人而不是服务器部分。
好吧,这就是我想确定的事情。如果它是由服务器端决定的,并且顺序执行是有保证的,那么这样的结构就可以在算法中使用。如果没有,那么你就不能。
 
Algo:
谢谢你的见解,但问题是关于其他方面的。
事实上,订单 队列是没有保证的。限价订单的执行是不被保证的。在你的例子中,它将是0或+3合同。
 
C-4:
关于这个问题,订单 队列是没有保证的。限价订单的执行是不被保证的。在你的例子中,它将是0或+3合同。

如果不能保证优先顺序,怎么可能是 "要么0要么3 "呢? 在bylimit的例子中,确实不能保证--如果价格低于bylimit,保证已经执行,但止损却不能。也许不是,因为激活和执行需要时间,而且MT已经把止损位改成了新的。 但是好吧,把例子中的bylimit换成sellstop - 然后呢?

这是个一般性问题。当止损单(无论是止损单还是独立的卖出单,这并不重要)被发送给经纪人时,它被放在订单簿中。当价格达到该水平时,是否能保证订单簿上的订单将按照它们到达的顺序执行?如果订单簿是MT服务器的一部分,开发人员可能能够回答这个问题。如果不是,而且经纪人的订单簿是由其他软件处理的,MT只是被 "通知 "所有的交易,那么真的,我不知道。

 

下午好。请告诉我是否有办法在使用别人的信号时调整地段的音量?除了 "在:"内执行的功能外。

我遇到了这个例子:我的信号提供者的手数为0.40,而我的手数为0.1...两者的杠杆率为1*100,在内部执行。5.0的价值。它是影响存款量还是其他什么?

 
539exnkx:
作者不详,但我可以自己描述策略,还是重新排列机器人更容易?

这里有两个选择。

  1. 自己编写代码
  2. 订购 代码。

 
Algo:

如果不能保证优先顺序,怎么可能是 "要么0要么3 "呢? 在bylimit的例子中,确实不能保证--如果价格低于bylimit,保证已经执行,但止损却不能。也许不是,因为它的激活和执行需要时间,而且MT已经将止损水平改为新的水平。 但是好吧,用SellStop替换例子中的bylimit - 然后呢?

简而言之,这个问题听起来像这样。当你向经纪人发送止损单(无论是止损单还是卖出单,这都不重要),它将被放在订单簿中。当价格达到该水平时,是否能保证订单簿上的订单将按照它们到达的顺序执行?如果订单簿是MT服务器的一部分,开发人员可能能够回答这个问题。如果不是,而且经纪人的订单簿是由其他软件处理的,MT只是被 "通知 "所有的交易,那么真的,我不知道。

让我用更简单的术语来解释。你在1.3000处有一个止损单。在价格达到1.3000后,止损单将被执行,假设在同一时刻,价格回升到1.3001。止损单执行多长时间并不重要,100毫秒或100秒。重要的是,它将被执行。在这种情况下,当订单被执行 时,价格已经是1.3001,也就是说,你的止损将有一个正的滑点。但在1.3001的买入限制将永远不会被执行。

投标按照先进先出的原则执行:先来后到,先执行。然而,你不能在你的算法中使用这个功能。不能保证交易历史中的订单执行时间也会遵守这一原则。

 
C-4:

让我简单地说一下。你在1.3000处有一个止损单。一旦价格达到1.3000,止损单将开始执行,假设在同一时刻,价格回升到1.3001。止损单执行多长时间并不重要,100毫秒或100秒。重要的是,它将被执行。在这种情况下,当订单被执行 时,价格已经是1.3001,所以你的止损将有一个正的滑点。但在1.3001的买入限制将永远不会发生。

我在评论中写道:"如果价格低于bylimit"。在你的例子中,用1.2999替换价格(bylimit是1.3000),进一步的计算将立即改变。
C-4:
不能保证交易历史中的执行时间也会遵守这一原则。
没错,这正是问题所在。你确定没有这种保证,还是你只是假设?
 
ViktorK:

下午好。请告诉我是否有办法在使用别人的信号时调整地段的音量?除了 "在:"内执行的功能外。

我遇到了这个例子:我的信号提供者的手数为0.40,而我的手数为0.1...两者的杠杆率为1*100,在内部执行。5.0的价值。存款的数量对我有影响吗,还是有其他的影响?

是的,它影响存款规模。什么是你的和提供者的?当你注册的时候,你是否把95%的存款利用起来了?

例1)你的杠杆率相同(1:100或1:500都无所谓),提供者的存款=10000美元,你=5000美元,在认购时你选择了95%的存款用途。你的手数计算为:0.40 / 2 = 0.20(因为你的保证金是一半),取0.20的95% =0.19

例2)供应商的杠杆率=1:500,存款=10000美元。你的杠杆率=1:100,存款5000美元,使用50%的存款。他有很多=0.40。你的手数计算为:0.40/2(因为你的存款少了2倍)=0.20,然后0.20/5(因为你的杠杆少了5倍)=0.04,然后0.04/2(因为你用了50%的存款)。=0.02.

 
paladin800:

是的,存款的价值是有影响的。什么是你的和提供者的?

是的,我的大部分存款是红利资金,所以它们似乎不算数,不参与提款。

谢谢你的信息,我将研究一下)

 
ViktorK:

是的,我的大部分存款都是红利资金,所以它们似乎不计入或参与提款。

谢谢你的信息,我将研究一下)

在我看来,你的部分存款是奖励资金这一事实不应该影响你。尽管一切皆有可能。顺便问一下你的经纪人,如果你注册了一个信号,在计算手数时是否会使用奖金。如果你不介意的话,让我知道经纪人的反应是什么,这非常有趣。