我使用Binance.Net作为 Binance API 包装器,最近我遇到了DateTime.AddSeconds
.
以下代码应该在最后一个订单之前找到蜡烛。
// OpenTime and CloseTime are both DateTime
var openTime = lastOrder.OpenTime; // 10:50:00
var closeTime = lastOrder.CloseTime; // 10:54:59
// It should return 10:55:00 - 10:50:00 = 5 minutes
// The reason I'm doing this is because I don't know the exact interval my bot is working with.
// What I know is the OpenTime (begin) and CloseTime (end).
var difference = closeTime.AddSeconds(1) - openTime; // closeTime.AddSeconds(1) doesn't work
var dateTime = openTime - difference; // 10:50:00 - 00:05:00.9990000 = 10:39:99
// 10:39:99 is an invalid startTime/endTime
var kline = _client.GetKlines(symbol, interval, startTime: dateTime, endTime: dateTime, limit: 1).Data;
问题:
问题是它.AddSeconds(1)
实际上并没有增加那一秒,因此_client.GetKlines
失败了。
我不知道是否有更好的方法可以在 Binance 的 API 中获取上一个蜡烛,但如果有,我会接受它作为解决方案。
问题视觉表示:
编辑:
解决它!当我检查 DateTime 属性时,我意识到我错过了 CloseTime 属性中的毫秒数。所以最终,这是一个错误的计算。而不是.AddSeconds(1)
,我做到了.AddMiliseconds(1)
。