ccxtk线数据_CCXT中⽂开发⼿册OHLCV烛线图
这⼀部分特性⽬前还在紧张开发中。
⼤多数交易所都提供了获取OHLCV数据的访问端结点,但还是有⼀些交易所没有提供。
在ccxt中,交易所对象的has['fetchOHLCV']属性表⽰该交易所是否⽀持烛线数据序列,
如果这个布尔属性的值为true,则表明⽀持。
php手册官方中文版fetchOHLCV⽅法声明如下:
fetchOHLCV (symbol, timeframe = '1m', since = undefined, limit = undefined, params = {})
你可以调⽤CCXT统⼀API的fetchOHLCV / fetch_ohlcv⽅法获取指定交易对符号的OHLCV烛线图数据。
JavaScript⽰例代码:
let sleep = (ms) => new Promise (resolve => setTimeout (resolve, ms));
if (exchange.has.fetchOHLCV) {
for (symbol in exchange.markets) {
await sleep (exchange.rateLimit) // milliseconds
console.log (await exchange.fetchOHLCV (symbol, '1m')) // one minute
}
}
Python⽰例代码:
import time
if exchange.has['fetchOHLCV']:
for symbol in exchange.markets:
time.sleep (exchange.rateLimit / 1000) # time.sleep wants seconds
print (symbol, exchange.fetch_ohlcv (symbol, '1d')) # one day
PHP⽰例代码:
if ($exchange->has['fetchOHLCV']) {
foreach ($exchange->markets as $symbol => $market) {
usleep ($exchange->rateLimit * 1000); // usleep wants microseconds
var_dump ($exchange->fetch_ohlcv ($symbol, '1M')); // one month
}
}
要获取所查询的交易所的可⽤时间窗,可以查看交易所对象的timeframes属性。
注意只有当交易所对象的has['fetchOHLCV']属性值为true时上述属性才有效。
你的请求能够回溯多久远的数据是有限制的。⼤多数交易所不会允许你查询太早时间
的详细烛线数据历史(就像1分钟和5分钟的时间窗⼝内的详情)。他们通常提供
⼀段合理时间内的烛线数据,例如任何时间窗的最近1000个烛线数据,这对于⼤多数
应⽤都是⾜够了。突破这⼀限制的办法,是你可以不停地查询(REST Polling)最新
的OHLCV数据,并存储到⾃⼰的CSV⽂件中或者数据库⾥。
注意最后的(当前)烛线数据可能是不完整的,直到开始记录下⼀个烛线。
和ccxt的统⼀api和隐含api中的其他许多⽅法⼀样,fetchOHLCV⽅法的最后⼀个参数
可以传⼊⼀个关联数组来设置额外的交易所特定的请求参数,你需要查询交易所的API
⽂档来了解其⽀持的字段和值。
since参数是⼀个以毫秒计量的UTC时间戳,如果未指定since参数,fetchOHLCV
⽅法将返回交易所默认的时间范围。有些交易所将返回从其开始以来的所有烛线,⽽另⼀些则只会返回最近产⽣的烛线,这取决于交易所的默认⾏为。因此如果你不指定since
参数,那么返回的烛线的时间范围是交易所相关的,为了得到⼀致的响应结果,开发者
应当传⼊since参数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。