交易所的限价单滑点统计 - 页 8

 

TP在测试器中得到负的滑移量

PQ      0       23:57:02.304    Trade   2018.03.29 23:59:14   position modified [#154  sell 1.00 TESTER 0.87670 tp: 0.87689]
JH      0       23:57:02.304    Trade   2018.03.30 00:03:35   take profit triggered #154  sell 1.00 TESTER 0.87670 tp: 0.87689 [#157  buy 1.00 TESTER at 0.87689]
QQ      0       23:57:02.304    Trades  2018.03.30 00:03:35   deal #153  buy 1.00 TESTER at 0.87729 done (based on order #157)
 CG      0       23:57:02.304    Trade   2018.03.30 00:03:35   deal performed [#153  buy 1.00 TESTER at 0.87729]
DK      0       23:57:02.304    Trade   2018.03.30 00:03:35   order performed buy 1.00 at 0.87729 [#157  buy 1.00 TESTER at 0.87689]


在这种情况下,买入头寸本应在TP=0.87689处关闭,但TP水平在0.87729处关闭,得到了-40 点的负滑点

为什么TP在测试器中可以负向滑动?

我们已经设法让限价单在测试器中不滑动。但是,TP的情况并不乐观--它们是市场,因此会滑动。你如何在测试器中禁用滑动和TP?

 
fxsaber:

在TP测试器中,TP得到了负的滑移量

原因就在这里。纪录

CM      0       00:30:17.505    Trade   2018.03.28 23:48:46   position modified [#165  buy 1.00 Si-6.18 58290 tp: 58300]
DJ      0       00:30:17.507    Trade   2018.03.29 10:00:00   take profit triggered #165  buy 1.00 Si-6.18 58290 tp: 58300 [#168  sell 1.00 Si-6.18 at 58300]
RQ      0       00:30:17.507    Trades  2018.03.29 10:00:00   deal #163  sell 1.00 Si-6.18 at 58255 done (based on order #168)
 FI      0       00:30:17.507    Trade   2018.03.29 10:00:00   deal performed [#163  sell 1.00 Si-6.18 at 58255]
NI      0       00:30:17.507    Trade   2018.03.29 10:00:00   order performed sell 1.00 at 58255 [#168  sell 1.00 Si-6.18 at 58300]

也就是说,我们的目标是58300,执行是58255。同时,TP执行的时间(DEAL_TIME)是10:00:00.001,但TP执行的价格对应的是未来的价格--10:00:00.024。也就是说,TP不仅以负滑点执行,而且还使用未来价格进行填补。

试验机中的翅片出了问题,也许不仅仅是翅片的问题。我们必须检查测试者是否足够。同样,你不能相信他。

请在下一个版本中加入对这个错误的修复。在测试器中使TP的执行与限价订单的执行相同!

 
fxsaber:

在测试器中对TP进行执行,就像对限价单进行执行一样。

为什么?TP不是限价订单,而是在特定条件下在市场上执行的 订单。因此,如果是在正确的TP点(大量的限价单被购买),滑点往往是负的;如果不是在正确的TP点,滑点往往是正的(比如,当突破人们触发的止损点时)。我希望能够在测试器中独立设置滑移量--那么谁需要它,谁就会这样做。

 
Aleksey Vyazmikin:

为什么?在交易所,TP不是限价,而是在特定条件下执行市场 订单。

因为测试仪不是一个交易所。交易所的TP可能会因为滞后因素而出现负的滑点,而在 "无延迟 "交易模式下的测试器是不存在的。

 
Aleksey Vyazmikin:

为什么?在交易所,TP不是限价,而是在特定条件下执行市场 订单。

真的吗?
 
Комбинатор:
真的吗?

不幸的是,它是。

 
fxsaber:

不幸的是,它是。

在MT5中和在交易所有两个很大的区别
 
Комбинатор:
在MT5和交易所中,有两个很大的区别

我怀疑在交易所里甚至存在TP订单这种东西。

 
fxsaber:

我怀疑在交易所里甚至存在TP订单这种东西。

原来mt5不是mt5,TP也不是人做的,为什么要问这个问题?
 
Комбинатор:
那为什么还要问这个问题呢?

给MT5测试仪,而不是给交易所。至少让测试器中的TP以人性化的方式工作。是什么阻止了MQ发送限制器而不是市场--并不清楚。

就TP而言,这是一朵花。

关于交易、自动交易系统和策略测试的论坛

虫子、虫子、问题

fxsaber, 2018.03.05 19:22

测试仪的错误。

让有一个买入的位置,先有TP。而且在同一个TP上有一个SellLimit。测试员以不同的方式执行这种情况

  • 首先是BUY_TP,然后是SellLimit。
  • 首先是SellLimit,然后是Sell_TP。

在第二种情况下,我们在对冲中同时开出两个相反的头寸,或者在没有开出SELL的情况下关闭BUY头寸。

对于套期保值来说,由于SellLimit可能会因为没有足够的资金 开设第二个头寸而被赎回,这就更加严重了。

一般来说,请引导测试者采取明确的行为--首先是TP,然后是极限。


这是Limit的一个真正问题。

关于交易、自动交易系统和策略测试的论坛

虫子、虫子、问题

fxsaber, 2018.02.14 14:41

错误不在终端,而是在MT5平台上
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

在MQ-Demo上运行一些缓慢移动的符号。例如EURHUF。

脚本打开一个买入的位置,TP = Bid。也就是,应该立即平仓。但是,只有在下一次打勾时才会检查TP是否符合接受条件。

仓位不会被立即关闭,直到下一个tick发生。此外,如果下一个tick的出价<TP,TP将保持不变,没有任何接受。


这同样适用于限价订单(注释线)。测试器的情况也是如此。


还有樱桃。

关于交易、自动交易系统和策略测试的论坛

在交易环境中工作时的典型错误以及如何解决这些错误

fxsaber, 2018.02.24 16:25

我甚至会告诉你这种被取消的市场订单是什么样子的

只是没有错误。

这个例子变成了更酷的例子。经纪人自己放置的TP被编码了!几乎是在重新下单结束后的第一时间(我等待了115毫秒--显然这是MT5的一个错误),经纪人设置了另一个TP,并被执行订单的评论没有在截图中显示出来。绿色的ORDER_REASON_TP。因此,该订单甚至有ORDER_POSITION_ID。

即,TP被重新排序并等待下一个tick被重新排序。它不是立即设置的。