System.NullReferenceException: в OsEngine.Market.Servers.Binance.Spot.BinanceClient.GetNonce()

  1. Lexuz77

    Регистрация:
    10.12.16
    Сообщения:
    113
    Был на сайте:
    10.02.24

    Последнее время при торговле через BinanceSpot стала появляться ошибка

    System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
    в OsEngine.Market.Servers.Binance.Spot.BinanceClient.GetNonce()
    в OsEngine.Market.Servers.Binance.Spot.BinanceClient.CreateQuery(BinanceExchangeType startUri, Method method, String endpoint, Dictionary`2 param, Boolean auth)Send Order.

    В коннекторе Binance Futures данная проблема решена:

    private string GetNonce()
    {
    var resTime = CreateQuery(Method.GET, "/" + type_str_selector + "/v1/time", null, false);
    var result = JsonConvert.DeserializeAnonymousType(resTime, new BinanceTime());
    if (result != null)
    {
    return (result.serverTime + 500).ToString();
    }
    else
    {
    DateTime yearBegin = new DateTime(1970, 1, 1);
    var timeStamp = DateTime.UtcNow - yearBegin;
    var r = timeStamp.TotalMilliseconds;
    var re = Convert.ToInt64(r);
    return re.ToString();
    }
    }

    Решение: добавляем тоже самое в коннектор Спота

    private string GetNonce()

    {
    var resTime = CreateQuery(BinanceExchangeType.SpotExchange, Method.GET, "api/v3/time", null, false);
    var result = JsonConvert.DeserializeAnonymousType(resTime, new BinanceTime());
    if (result != null)
    {
    return (result.serverTime + 500).ToString();
    }
    else
    {
    DateTime yearBegin = new DateTime(1970, 1, 1);
    var timeStamp = DateTime.UtcNow - yearBegin;
    var r = timeStamp.TotalMilliseconds;
    var re = Convert.ToInt64(r);
    return re.ToString();
    }
    }

    У себя уже добавил - все работает норм, без ошибок.

    Lexuz77
    26.10.2022 19:39
    #1