Binance.Netを Binance API ラッパーとして使用していますが、最近 .Net で問題が発生しまし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)
。