如何在 Python 中为交易对创建 1 分钟的蜡烛图?
How can I create 1 minute candles for trading pairs in Python?
我正在尝试弄清楚如何使用 Python 中的 binance 包为交易对 BTC-USD 创建一个 1 分钟的烛台。
到目前为止我可以记下来:
from binance.client import Client
candles = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_1MINUTE)
for candlestick in candles:
print(candlestick)
但我不太确定这是否正确。
假设您已经使用 Client
(capital-case) 或至少异步等价物 AsyncClient
来创建 client
,那么下面将打印最近的 1 -分钟烛台。例如,
from binance import Client
client = Client(api_key = 'Enter Your Key', api_secret = 'Enter Your Secret Key')
candles = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_1MINUTE)
print(candles[-1])
print(f"\nLength of candles: {len(candles)}")
输出
[1650011040000, # timestamp (opening time)
'40203.99000000', # opening price
'40237.03000000', # high price
'40198.01000000', # low price
'40198.01000000', # closing price
'20.07769000', # volume
1650011099999, # timestamp (closing time)
'807538.88381350', # quote asset volume
488, # number of trades
'6.25446000', # taker buy base asset volume
'251560.61470140', # taker buy quote asset volume
'0'] # ignore
Length of candles: 500
默认情况下,candles
将是 BTCUSDT
交易对的最后 500 个 1 分钟蜡烛的列表(每个蜡烛本身由一个列表表示),您可以指定最多使用 get_klines
方法的 1000 个最后 1 分钟蜡烛。最近的蜡烛在列表的末尾 candles
,最旧的在列表的开头。
因此您的代码(假设您已使用 Client
或 AsyncClient
来创建 client
)应该打印最后 1 分钟的所有 500 根蜡烛,从最早的到最晚最近。
可以找到对应于蜡烛的列表中每个元素的详细信息here。特别地,在上面的输出中(显示最近的 1 分钟烛台),第一个元素是时间戳,第二个元素是开盘价,第三个是最高价,第四个是最低价,第五个是收盘价, 以及其他元素严格来说不是交易蜡烛的组成部分,但仍然是有用的信息(例如交易量)。
顺便说一下,如果您不想仅限于最近的 500 根 1 分钟蜡烛,您可以使用 get_historical_klines
方法,它允许您指定开始 date/time 并结束 date/time(每次通话仍限制为 1000 支蜡烛)。
我正在尝试弄清楚如何使用 Python 中的 binance 包为交易对 BTC-USD 创建一个 1 分钟的烛台。
到目前为止我可以记下来:
from binance.client import Client
candles = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_1MINUTE)
for candlestick in candles:
print(candlestick)
但我不太确定这是否正确。
假设您已经使用 Client
(capital-case) 或至少异步等价物 AsyncClient
来创建 client
,那么下面将打印最近的 1 -分钟烛台。例如,
from binance import Client
client = Client(api_key = 'Enter Your Key', api_secret = 'Enter Your Secret Key')
candles = client.get_klines(symbol='BTCUSDT', interval=Client.KLINE_INTERVAL_1MINUTE)
print(candles[-1])
print(f"\nLength of candles: {len(candles)}")
输出
[1650011040000, # timestamp (opening time)
'40203.99000000', # opening price
'40237.03000000', # high price
'40198.01000000', # low price
'40198.01000000', # closing price
'20.07769000', # volume
1650011099999, # timestamp (closing time)
'807538.88381350', # quote asset volume
488, # number of trades
'6.25446000', # taker buy base asset volume
'251560.61470140', # taker buy quote asset volume
'0'] # ignore
Length of candles: 500
默认情况下,candles
将是 BTCUSDT
交易对的最后 500 个 1 分钟蜡烛的列表(每个蜡烛本身由一个列表表示),您可以指定最多使用 get_klines
方法的 1000 个最后 1 分钟蜡烛。最近的蜡烛在列表的末尾 candles
,最旧的在列表的开头。
因此您的代码(假设您已使用 Client
或 AsyncClient
来创建 client
)应该打印最后 1 分钟的所有 500 根蜡烛,从最早的到最晚最近。
可以找到对应于蜡烛的列表中每个元素的详细信息here。特别地,在上面的输出中(显示最近的 1 分钟烛台),第一个元素是时间戳,第二个元素是开盘价,第三个是最高价,第四个是最低价,第五个是收盘价, 以及其他元素严格来说不是交易蜡烛的组成部分,但仍然是有用的信息(例如交易量)。
顺便说一下,如果您不想仅限于最近的 500 根 1 分钟蜡烛,您可以使用 get_historical_klines
方法,它允许您指定开始 date/time 并结束 date/time(每次通话仍限制为 1000 支蜡烛)。