XTB 平仓订单 api 收到错误 SE199

问题描述 投票:0回答:1

我正在尝试使用 xtb api 关闭订单。但我仍然收到错误

An exception occured: SE199: Internal error
并且我不知道这个错误意味着什么。

public void Sell(long? orderNumber)
{
    TradesResponse tradesResponse = APICommandFactory.ExecuteTradesCommand(connector, true);
    TradeRecord tradeRecordToClose = null;
    foreach (TradeRecord tradeRecord in tradesResponse.TradeRecords)
    {
        if (tradeRecord.Order2 == orderNumber)
        {
            tradeRecordToClose = tradeRecord;
        }
    }

    TradeTransInfoRecord tradeTransInfoRecord = new(
        TRADE_OPERATION_CODE.BUY,
        TRADE_TRANSACTION_TYPE.ORDER_CLOSE,
        tradeRecordToClose.Close_price.GetValueOrDefault(),
        0.0,
        0.0,
        tradeRecordToClose.Symbol,
        0.1,
        tradeRecordToClose.Order.GetValueOrDefault(),
        "close trade",
        0
    );

    var test = APICommandFactory.ExecuteTradeTransactionCommand(connector, tradeTransInfoRecord, true);
}

我正在按照文档中所示的方式进行操作。但没有成功。 数量是硬编码的,但它与现有订单中的数量相对应。我刚刚从服务器收到错误响应,但我不知道为什么。感谢您的任何提示。

c# .net trading algorithmic-trading
1个回答
0
投票

错误SE199:内部错误意味着服务器端出现意外问题,导致您的命令无法执行。发生这种情况的原因有多种,例如:

• 服务器过载或正在维护。您可以使用 ping 命令或 serverTime 命令检查服务器的状态。您还可以联系 XTB 支持团队报告问题并获取更多信息。

• 命令无效或不完整。您可以检查 tradeTransaction 命令和 TradeTransInfoRecord 对象的语法和参数。您还可以使用 tradeTransactionStatus 命令来获取错误和请求的详细信息。

• 帐户或订单无效或授权。您可以使用登录命令和 getMarginLevel 命令检查帐户的凭据和权限。您还可以使用 getTrades 命令和 getTradeRecords 命令检查订单的状态和详细信息。

要解决此问题,您还可以通过将配置键 xtb.api.debug 设置为 true 来启用 XTB API 的调试模式。这将在日志中打印有关错误和请求详细信息的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.