The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
An unofficial wrapper for Okx exchange v5 API
You can install the released version of okxAPI from CRAN with:
install.packages("okxAPI")And the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("fanggong/okxAPI")Please refer to okx my api page regarding V5 API Key creation.
You can implement all REST API requests in Okx exchange by inheriting
the restAPI class. For example, to implement Get
currencies, you can define the class and call the method as
follows:
myRestAPI <- R6::R6Class(
inherit = restAPI,
public = list(
get_currencies = function(ccy, process = "identity") {
self$get_result(
api = "/api/v5/asset/currencies", method = "GET", process = process,
ccy = ccy
)
}
)
)
tmp <- myRestAPI$new(api_key, secret_key, passphrase)
tmp$get_currencies("BTC")For commonly used interfaces, they have been implemented in this
package. The naming convention is as follows: for “/api/v5/AAA/BBB”, a
new class named restAPIAAA, which inherits from
restAPI, has been defined in this package. The
BBB method in this new class is used to call the API.
A websocketAPIpublic class based on websocket package is
used here.
Create new websocketAPIpublic object and initiate the
connection to the server.
tmp <- websocketAPIpublic$new()
tmp$connect()Subscribe BTC-USDT-SWAP 5m candlesticks data.
msg <- list(
op = "subscribe",
args = list(
list(channel = "candle5m", instId = "BTC-USDT-SWAP")
)
)
msg <- jsonlite::toJSON(msg, auto_unbox = TRUE, pretty = TRUE)
tmp$send(msg)Pass your own callback function
tmp$on_message(function(event) {
if (event$data == "pong") {
cat("Bingo!!")
}
})
tmp$send("ping")Close the connection.
tmp$close()A websocketAPIprivate class based on websocket package is
used here.
Create new websocketAPIprivate object and initiate the
connection to the server.
tmp <- websocketAPIprivate$new(api_key, secret_key, passphrase)
tmp$connect()
Sys.sleep(1) # Waiting for connection success
tmp$login()Subscribe account information.
msg <- list(
op = "subscribe",
args = list(
list(channel = "account", ccy = "USDT")
)
)
msg <- jsonlite::toJSON(msg, auto_unbox = TRUE, pretty = TRUE)
tmp$send(msg)Pass your own callback function.
tmp$on_message(function(event) {
if (event$data == "pong") {
cat("Bingo!!")
}
})
tmp$send("ping")Close the connection.
tmp$close()These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.