FORTS: OnTradeTransaction() 返回代码 - 页 2

 
Михаил:

你和我说的是 "不同的语言"。

该订单,可以作为交叉交易的结果而被删除。

而ORDER_STATE_CANCELED的返回代码为 "0"。

这与经纪人没有关系。

你明白MT5是一个通用平台,当适应特定网关的条件时,经纪人(每个经纪人)以自己的方式配置服务器部分。

经纪人程序员在服务器上写的东西将被返回。

所以,这个问题应该直接与经纪人的技术支持部门解决。只有他们有服务器的日志,只有他们能澄清情况。

在这种情况下,任何外部观察者甚至不能确定这些是真正的返回代码,它是由你的代码写的,而且代码没有附加。

而通过打印机记录这样的快速功能往往会给人一种混乱的感觉。如果能重现这种情况就好了(我知道很难),最好是用字符串记录,然后转储到一个文件中。

在任何情况下,如果没有CD Broker,是不可能搞清楚的。

 
Nikolay Demko:

你明白MT5是一个通用平台,当适应特定网关的条件时,经纪人(每个经纪人)以自己的方式配置服务器部分。

经纪人的程序员写什么,服务器就返回什么。

所以,这个问题应该直接与经纪人的技术支持部门解决。只有他们有服务器的日志,只有他们能澄清情况。

在这种情况下,任何外部观察者甚至不能确定这些是真正的返回代码,它是由你的代码写的,而且代码没有附加。

而通过打印机记录这样的快速功能往往会给人一种混乱的感觉。如果能重现这种情况就好了(我知道很难),最好是用字符串记录,然后转储到一个文件中。

在任何情况下,我再说一遍,没有一个CD的经纪人是不可能理解的。

亲爱的尼古拉!

如果每个经纪人的程序员都会写 "他们的 "回报代码....。

想想会发生什么吧 :)

 
Михаил:

亲爱的尼古拉!

如果每个经纪人的程序员都写 "他们的 "返回代码....

想想会发生什么吧 :)

不要反应过度,经纪人程序员在启动前配置一次服务器,而且不是随便配置,而是只从可用的集合中配置。

但设置服务器是一个智力问题,制造商已经为选项做了规定,但要提前制定一些设置方案有点复杂,这取决于在哪个经纪公司有什么样的条件。

因此,服务器部分的配置是在经纪人处完成的,这是其一。第二个原因是你必须联系经纪人,因为他有一个服务器部分的日志,只有当经纪人说某某,这个服务器的bug已经可能是MQ,虽然在这种情况下,你不必担心,他们自己会联系开发商。

 
Nikolay Demko:

不要过分,经纪人的程序员在启动前的准备工作中配置一次服务器,而且不是随便配置,而是从可用的集合中配置。

但设置服务器是一件很聪明的事情,制造商已经提供了可能的选项,但很难提前制定一些配置方案,这取决于经纪人有什么样的条件。

因此,服务器部分的配置是在经纪人处完成的,这是其一。第二个原因是为什么要联系经纪人,这是因为他有一个服务器端的日志,只有当经纪人说某某,这个服务器的bug已经有可能是MQ,虽然在这种情况下,你不用担心,他们自己会联系开发商。

经纪人的回应。

下午好

不,这个设置是在开发者方面。

在去年年底,有人提出了以下问题。

莫斯科交易所对错误的交易进行了罚款。完整的规章制度可参见http://fs.moex.com/files/4266

因此,举例来说,交易所会惩罚。

交易类型*。

执行的结果(错误代码)*

分数Q

添加订单

发生交叉交易 (31)

Q1

客户资金不足 (332)

Q2

经纪公司的资金不足 (333)

Q3

未合并的FOK投标 (4103)

Q4

递送订单

未找到订单 (14)

Q5

迁入顺序

发生交叉交易 (31)

Q6

没有发现订单 (50)

Q7

客户资金不足 (332)

Q8

经纪公司的资金不足 (333)

Q9

用户订单延迟

交易已成功完成。

并没有删除任何订单

Q10

在MT5中,除了 "客户资金不足 "的回报代码外,"交易服务器回报代码 "中没有其他回报代码。

收到MetaQuotes答复如下

你好。

1.不幸的是,以这种或那种形式翻译退货代码的问题并不简单,需要进行一些修改。 我们目前正在寻找最合适的解决方案。最有可能的是,所需的功能将在明年添加。

2.关于错误的交易表--考虑到MT5交易服务器对客户的交易请求进行初步检查(包括对保证金要求的控制),实际上在2种情况下可以拒绝交换。

交易类型*

执行结果(错误代码)*

添加订单

发生交叉交易 (31)

Q1

客户资金不足 (332)

Q2

经纪公司的资金不足 (333)

Q3

未合并的FOK投标 (4103)

Q4

递送订单

未找到订单 (14)

Q5

迁入顺序

发生交叉交易 (31)

Q6

没有发现订单 (50)

Q7

客户资金不足 (332)

Q8

经纪公司的资金不足 (333)

Q9

用户订单延迟

交易已成功完成。

并没有删除任何订单

Q10


这两种情况几乎都是不可能的。

注意到。

Mikhail Baturov

交易系统用户支持主管

交易系统支持的管理

Otkritie经纪公司

 

有时,MQs在一些答案中会出现呆滞。

例子。

MQ:"这两种情况几乎都是不可能的。"

失败的原因是什么,这就不足为奇了!

MGNT符号在2015年5月12日发生了变化(价格阶梯变成了1。

价格应该是整数)

经纪人可能没有跟踪交易所的变化。

如果我的EA中没有退货代码保护。

那么我将在几秒钟内得到成千上万的交易。

2015.05.15 10:00:10.051 Forts_trader (MGNT-6.15,H1)     StopTrading: Неправильная цена в запросе

而这样的情况也应该是 "不太可能 "的!


 

亲爱的开发者们!

请回答,你最终将在什么时候支付

注意交易服务器的RETURN CODES

当MT5服务器出现 "故障 "或交易所崩溃时,会发生以下情况。

专家顾问发送订单以删除一个已存在 的订单,但得到的回应是

"无效的请求" !!!!而专家顾问不断用订单 "敲打 "服务器,要求删除

秩序。

//+------------------------------------------------------------------+
// Remove order                                                      |
//+------------------------------------------------------------------+
void COrder::Remove()
{
  if ( ticket > 0 )
  {
    if ( OrderSelect( ticket ) )
    {
      mem_magic = ulong( OrderGetInteger( ORDER_MAGIC ) );
      mem_tick = GetTickCount();
      req_id = 0;
      MqlTradeRequest request = {0};
      MqlTradeResult  result  = {0};
            
      request.action = TRADE_ACTION_REMOVE;
      request.order = ticket;
          
      if ( OrderSendAsync( request, result ) )
      {
        if ( result.retcode == TRADE_RETCODE_PLACED )
        { 
          req_id = result.request_id;
//---          
          switch( order_status )
          {
            case BUY_ORDER:  state = ORD_BUY_DO_CANCEL;
                             break;
                
            case SELL_ORDER: state = ORD_SELL_DO_CANCEL;
                             break;           
          } 
          SetTransCount( true );
        }
        else
        {
          mem_magic = 0;
          mem_tick = 0;
          CheckError( result.retcode, "Remove: Результат удаления ордера не верен! Причина: ", order_status, ticket );
        }  
      }
      else
      {
        mem_magic = 0;
        mem_tick = 0;
        CheckError( result.retcode, "Remove: Ордер не отослан! Причина: ", order_status, ticket );
      }
    }
    else
    {
      ticket = 0;
      modify_count = 0;
    }
  }
  else
  {
    modify_count = 0;
  }
}

如果订单是活跃的,怎么会有错误的请求?

2015.09.15 15:27:31.402 Trades  'xxxxx': failed modify order #20619541 sell limit 35.00 BR-11.15 at 50.33000 sl: 0.00000 tp: 0.00000 -> 49.19000, sl: 0.00000 tp: 0.00000 [Invalid request]
2015.09.15 15:27:32.611 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
2015.09.15 15:27:34.163 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:42.815 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.006 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.358 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.562 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.572 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.593 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.892 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.007 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.769 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.789 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.819 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.879 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.900 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
 

不断编辑帖子的工作又开始了。好像这样就能让开发者更容易看到这个话题。

你最好每天在服务台擦拭它们,而不是在论坛上更新看不见的更新......。

 
Andrey Khatimlianskii:

不断编辑帖子的工作又开始了。好像这样就能让开发者更容易看到这个话题。

你最好每天在服务台擦拭它们,而不是在论坛上更新看不见的更新......

早上好,安德鲁!

而且那里也没有人回答(所有人都 "受够了")。

 
而在这里,社会将了解到目前的问题。
 

安德烈,你是否反对修复MT5的bug和

你是否反对修复MT5中的错误并改善平台的交易功能