Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
2020.02.1310:00:04.427 Trades 'xxxxx': sell limit 1.00 SILV-12.20 at 18.91 placed for execution in3400.385 ms
2020.02.1310:00:05.049 Trades 'xxxxx': cancel order #117284388 buy limit 2.00 GAZR-9.20 at 210862020.02.1310:00:05.049 Trades 'xxxxx': cancel order #117284389 sell limit 1.00 GAZR-9.20 at 258582020.02.1310:00:05.106 Trades 'xxxxx': cancel order #117284392 buy limit 2.00 RTS-6.20 at 1453502020.02.1310:00:05.106 Trades 'xxxxx': cancel order #117284394 sell limit 1.00 RTS-6.20 at 1623702020.02.1310:00:05.815 Trades 'xxxxx': buy limit 1.00 SBRF-6.20 at 21997 placed for execution in4582.068 ms
2020.02.1310:00:05.816 Trades 'xxxxx': sell limit 2.00 SBRF-6.20 at 26879 placed for execution in4583.598 ms
2020.02.1310:00:06.809 Trades 'xxxxx': cancel order #117284397 sell limit 2.00 Si-12.20 at 665492020.02.1310:00:08.356 Trades 'xxxxx': buy limit 2.00 ROSN-6.20 at 42128 placed for execution in7119.210 ms
2020.02.1310:00:08.367 Trades 'xxxxx': sell limit 1.00 ROSN-6.20 at 51112 placed for execution in7129.944 ms
2020.02.1310:00:08.370 Trades 'xxxxx': accepted buy limit 1.00 MOEX-6.20 at 102312020.02.1310:00:08.374 Trades 'xxxxx': accepted sell limit 2.00 MOEX-6.20 at 124032020.02.1310:00:08.375 Trades 'xxxxx': buy limit 1.00 GBPU-6.20 at 1.2631 placed for execution in7093.203 ms
2020.02.1310:00:08.382 Trades 'xxxxx': buy limit 2.00 LKOH-6.20 at 62201 placed for execution in7100.184 ms
2020.02.1310:00:08.384 Trades 'xxxxx': sell limit 1.00 GBPU-6.20 at 1.3405 placed for execution in7101.788 ms
2020.02.1310:00:08.384 Trades 'xxxxx': sell limit 2.00 LKOH-6.20 at 66799 placed for execution in7102.416 ms
2020.02.1310:00:08.570 Trades 'xxxxx': accepted buy limit 7.00 Eu-9.20 at 711312020.02.1310:00:08.572 Trades 'xxxxx': buy limit 1.00 PLT-6.20 at 921.3 placed for execution in7170.723 ms
2020.02.1310:00:08.573 Trades 'xxxxx': accepted buy limit 1.00 MTSI-6.20 at 306642020.02.1310:00:08.574 Trades 'xxxxx': accepted sell limit 2.00 MTSI-6.20 at 372022020.02.1310:00:08.589 Trades 'xxxxx': buy limit 1.00 MIX-6.20 at 293475 placed for execution in7153.171 ms
2020.02.1310:00:08.590 Trades 'xxxxx': buy limit 2.00 MXI-6.20 at 2914.25 placed for execution in7155.083 ms
2020.02.1310:00:08.605 Trades 'xxxxx': buy limit 1.00 HYDR-6.20 at 6716 placed for execution in7169.712 ms
2020.02.1310:00:08.607 Trades 'xxxxx': sell limit 2.00 MXI-6.20 at 3295.65 placed for execution in7171.361 ms
2020.02.1310:00:08.609 Trades 'xxxxx': sell limit 1.00 MIX-6.20 at 331775 placed for execution in7173.465 ms
2020.02.1310:00:08.610 Trades 'xxxxx': sell limit 2.00 HYDR-6.20 at 8128 placed for execution in7174.417 ms
2020.02.1310:00:08.611 Trades 'xxxxx': buy limit 2.00 VTBR-6.20 at 4397 placed for execution in7166.885 ms
2020.02.1310:00:08.612 Trades 'xxxxx': sell limit 2.00 VTBR-6.20 at 5321 placed for execution in7167.615 ms
2020.02.1310:00:08.633 Trades 'xxxxx': buy limit 1.00 AUDU-6.20 at 0.6592 placed for execution in7115.432 ms
2020.02.1310:00:08.636 Trades 'xxxxx': accepted buy limit 1.00 RTKM-6.20 at 81442020.02.1310:00:08.640 Trades 'xxxxx': accepted sell limit 2.00 RTKM-6.20 at 104502020.02.1310:00:08.655 Trades 'xxxxx': buy limit 10.00 BR-7.20 at 51.87 placed for execution in7133.431 ms
2020.02.1310:00:08.658 Trades 'xxxxx': sell limit 2.00 BR-7.20 at 61.51 placed for execution in7136.161 ms
2020.02.1310:00:08.667 Trades 'xxxxx': buy limit 2.00 LKOH-12.20 at 59401 placed for execution in7072.427 ms
2020.02.1310:00:08.677 Trades 'xxxxx': sell limit 1.00 LKOH-12.20 at 72363 placed for execution in7081.993 ms
2020.02.1310:00:08.677 Trades 'xxxxx': buy limit 1.00 BR-9.20 at 54.06 placed for execution in7078.509 ms
2020.02.1310:00:08.690 Trades 'xxxxx': buy limit 1.00 CHMF-6.20 at 91501 placed for execution in6985.443 ms
2020.02.1310:00:08.704 Trades 'xxxxx': cancel order #117284430 buy limit 1.00 SBRF-6.20 at 219972020.02.1310:00:08.704 Trades 'xxxxx': cancel order #117284431 sell limit 2.00 SBRF-6.20 at 268792020.02.1310:00:08.734 Trades 'xxxxx': buy limit 2.00 SBPR-6.20 at 20354 placed for execution in6811.282 ms
2020.02.1310:00:08.734 Trades 'xxxxx': buy limit 2.00 MGNT-6.20 at 3404 placed for execution in6811.918 ms
2020.02.1310:00:08.735 Trades 'xxxxx': sell limit 2.00 MGNT-6.20 at 4128 placed for execution in6812.492 ms
2020.02.1310:00:08.736 Trades 'xxxxx': sell limit 2.00 SBPR-6.20 at 25106 placed for execution in6813.437 ms
2020.02.1310:00:08.807 Trades 'xxxxx': buy limit 1.00 MOEX-6.20 at 10231 placed for execution in6542.366 ms
2020.02.1310:00:08.809 Trades 'xxxxx': sell limit 2.00 MOEX-6.20 at 12403 placed for execution in6544.267 ms
2020.02.1310:00:08.811 Trades 'xxxxx': buy limit 1.00 MTSI-6.20 at 30664 placed for execution in6426.971 ms
2020.02.1310:00:08.829 Trades 'xxxxx': buy limit 7.00 Eu-9.20 at 71131 placed for execution in6491.851 ms
2020.02.1310:00:08.830 Trades 'xxxxx': sell limit 2.00 MTSI-6.20 at 37202 placed for execution in6445.075 ms
2020.02.1310:00:08.833 Trades 'xxxxx': buy limit 1.00 RTKM-6.20 at 8144 placed for execution in6401.223 ms
2020.02.1310:00:08.834 Trades 'xxxxx': sell limit 2.00 RTKM-6.20 at 10450 placed for execution in6402.302 ms
这还没有 考虑到交易所的反应!这是不可能的。
添加
详细介绍了这些错误。
ORDER_DATA order_data;
ENUM_ORD_SELECT order_select = OrderRealSelect(a_ticket, order_data, true);
switch(order_select)
{
case SELECT_ERROR:
if(order_data.error_code == ERR_ZERO_TICKET)
{
switch(o_status)
{
case BUY_ORDER:
BuyOrder.Canceled(true);
Print(__FUNCTION__, ": Билет Buy ордера = 0");
break;
case SELL_ORDER:
SellOrder.Canceled(true);
Print(__FUNCTION__, ": Билет Sell ордера = 0");
break;
}
}
else
{
switch(o_status)
{
case BUY_ORDER:
BuyOrder.mem_time = GetMicrosecondCount();
Print(__FUNCTION__, ": Ошибка определения состояния Buy ордера! Билет = ", a_ticket, " Код ошибки: ", order_data.error_code);
break;
case SELL_ORDER:
SellOrder.mem_time = GetMicrosecondCount();
Print(__FUNCTION__, ": Ошибка определения состояния Sell ордера! Билет = ", a_ticket, " Код ошибки: ", order_data.error_code);
break;
}
}
break;
case SELECT_BUSY:
switch(o_status)
{
case BUY_ORDER:
BuyOrder.mem_time = GetMicrosecondCount();
Print(__FUNCTION__, ": Buy Ордер в переходном состоянии. Билет = ", a_ticket, " Состояние: ", order_data.state);
break;
case SELL_ORDER:
SellOrder.mem_time = GetMicrosecondCount();
Print(__FUNCTION__, ": Sell Ордер в переходном состоянии. Билет = ", a_ticket, " Состояние: ", order_data.state);
break;
}
break;
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
https://www.mql5.com/ru/blogs/post/733393
很好,谢谢你的评论!
1.什么样的硬件?服务器的要求很高,在这里,它看起来像在普通PC上运行的一切。还是我错了?
2.你是否确切地检查过运行时设置/插件/路由?它看起来非常像一个人为的延迟(以便不烧毁B-book)。
如果能弄清这个问题,那就很有意思了。
ps:在此重复,因为我将看到答案(需要检查博客)。
ps:在此重复,因为我将看到答案(需要检查博客)。
在那里回答了。
如果能弄清这个问题,那就很有意思了。
六年级学生要求开发商和经纪人解决....
添加
为了更容易整理,最好使用异步订单(更多日志)。
没有变化....这很可悲(《开放,真实》,FORTS,Bild 2280)。
没有终端日志,因为开发者认为没有必要 记录交换响应。
1分42秒后,订单被删除了!
https://www.mql5.com/ru/blogs/post/733393
开放,真实,FORTS,图片2280
今天它完全 "超载 "了,完全没有同步。
下面是日志的开头和结尾(用手重新设置EA)。
在其他图表上(2个终端83个EA)EA工作正常
添加
在我看来,出现 "故障 "是因为终端以某种方式同步了
在"接受修改订单#117284549" 之后的数据,它应该已经得到确认并同步了。
在"修改订单#117284549 买入限价 1.00 SBRF-9.20 在 23557 sl: 0 tp: 0 expiration: day -> 24138, sl: 0 tp: 0 expiration: day放置 执行 在 1299.618 ms"之后的数据
今天,它一直是 "小毛病",根本没有同步。
以下是日志的开头和结尾(用手重置EA)。
这看起来更像是专家顾问逻辑中的一个错误。
要么他们依赖事件的顺序(这是不一样的),要么他们只是没有考虑到一些问题。
更像是 EA 逻辑中的错误。
他们要么依赖于事件的顺序(而且情况不同),要么他们根本没有考虑到某些事情。
安德烈!
如果这个 EA 交易( 5 年未编辑)总是正常工作,我会同意你的看法!
在顾问中对订单执行任何操作后,在发现订单发生了什么之前,什么都不会发生。
并记录订单被修改 (Print(__FUNCTION__, ": Buy order modified.", "New price = ", order_data.price_open, " Ticket = ", a_ticket);)不!
否,否则进入 Print ( __FUNCTION__ , ": 修改中的买单。Ticket = " , a_ticket);
一个记录
仅在发生错误或未定义订单状态时才会出现(案例SELECT_BUSY: )
添加
OrderRealSelect() 函数直到今天一直正常工作(我认为它仍然有效......)
不幸的是,大多数错误(至少对FORTS而言)都是浮动的!这也是为什么很多人都不愿意去做。
也就是说,要重现一个错误总是非常困难 的。
这个话题已经持续了近6年....,这不是没有原因的。
如果专家顾问的逻辑有错误,它就会经常 "冒出来",而不是一个交易周的一两次!
此外,这个EA已经在84个 符号上 工作了5年多了!这也是一个很好的例子。
添加
哦,从故障(上面的帖子)来看
在OnTradeTransaction() 中是否 仍有交易所的响应,还是在终端中仍有数据同步(这最后一条)!?
1分42秒 后,它确实检测到了订单发生的情况!
由以下人员添加
是的,而且我不是那个 把这些巨大的延迟放在日志里的人!我是说,我不知道。
这还没有 考虑到交易所的反应!这是不可能的。
添加
详细介绍了这些错误。
我们明天就能看到是否有故障了
如果你拿起这个话题的历史,一开始我们对几十 毫秒的延迟感到愤怒。
然后是几秒钟,现在是几分钟!
慢慢地,我开始为KVIK改写机器人!
在我的网络中,MT5的潜力为 6-7毫秒(从家里,不包括交易所的反应)。
在我看来,有了这样的延误,该航站楼就没有了未来。