Elexchange.IO()
La función se utiliza para otras llamadas de interfaz relacionadas con el objeto de intercambio.
Elexchange.IO()
La función llama a otras interfaces relacionadas con el objeto de intercambio, devolviendo los datos de respuesta solicitados en una llamada exitosa y devuelve nulo en una llamada fallida.
cadena, número, bool, objeto, matriz, nulo y cualquier otro tipo soportado por el sistema
exchange.IO(k,...args)
Elk
Parámetro utilizado para establecer el tipo de llamada, con valores opcionales"api"
, "currency"
, "base"
, "trade_margin"
, "trade_normal"
, "public_base"
, "mbase"
, selfTradePreventionMode
, simulate
, cross
, dual
, unified
y así sucesivamente.
el
verdadero
la cuerda
Parámetros ampliados, aprobados de acuerdo con el escenario de llamada específico,arg
Los parámetros pueden ser pasados a más de uno.exchange.IO()
El número y el tipo de parámetros para elexchange.IO()
Las funciones son indeterminadas.
el
verdadero
string, number, bool, object, array, null y cualquier otro tipo soportado por el sistema
function main() {
var arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
// Call exchange.IO to access the exchange's bulk order interface directly
var ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", JSON.stringify(arrOrders))
Log(ret)
}
import json
def main():
arrOrders = [
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
]
ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", json.dumps(arrOrders))
Log(ret)
void main() {
json arrOrders = R"([
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"1","posSide":"long"},
{"instId":"BTC-USDT-SWAP","tdMode":"cross","side":"buy","ordType":"limit","px":"16000","sz":"2","posSide":"long"}
])"_json;
auto ret = exchange.IO("api", "POST", "/api/v5/trade/batch-orders", "", arrOrders.dump());
Log(ret);
}
Utilizando elexchange.IO("api", httpMethod, resource, params, raw)
el formulario de convocatoria de laexchange.IO()
En este caso, es necesario entender la interfaz API del intercambio y comprobar primero la documentación pertinente. Esto le permitirá ampliar la funcionalidad que no se agrega a la plataforma FMZ.POST
La solicitud no requiere que se preocupe por cifrar, firmar o verificar los parámetros, que ya son manejados por FMZ en la parte inferior, siempre y cuando complete los parámetros correspondientes.Intercambio OKXlos contratos de futuros, y utilizar el parámetroraw
para pasar los parámetros de orden:
var amount = 1
var price = 10
var basecurrency = "ltc"
function main () {
// Note that both amount.toString() and price.toString() have a ' character on the left and right side
var message = "symbol=" + basecurrency + "&amount='" + amount.toString() + "'&price='" + price.toString() + "'&side=buy" + "&type=limit"
var id = exchange.IO("api", "POST", "/v1/order/new", message)
}
amount = 1
price = 10
basecurrency = "ltc"
def main():
message = "symbol=" + basecurrency + "&amount='" + str(amount) + "'&price='" + str(price) + "'&side=buy" + "&type=limit"
id = exchange.IO("api", "POST", "/v1/order/new", message)
void main() {
auto amount = 1.0;
auto price = 10.0;
auto basecurrency = "ltc";
string message = format("symbol=%s&amount=\"%.1f\"&price=\"%.1f\"&side=buy&type=limit", basecurrency, amount, price);
auto id = exchange.IO("api", "POST", "/v1/order/new", message);
}
Si el valor clave en elparams
Parámetro (es decir, parámetro de solicitud HTTP) es una cadena, que necesita ser escrito en comillas (es decir, el símbolo ') alrededor del valor del parámetro para envolver el valor del parámetro.
function main() {
var ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC");
Log(ret);
}
Apoya el paso de parámetros de url completos que pueden omitir la operación de cambiar la dirección base (llamando elexchange.SetBase()
función).
function main(){
var ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
}
def main():
ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT")
Log(ret)
void main() {
auto ret = exchange.IO("api", "GET", "/api/v5/trade/orders-pending", "instType=SPOT");
Log(ret);
}
Ejemplo de llamada sin el parámetroraw
:
function main() {
// For example, if you set the current trading pair of the exchange object to BTC_USDT at the beginning of the live trading, print the current trading pair tickers
Log(exchange.GetTicker())
// Switch the trading pair to LTC_BTC
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
}
def main():
Log(exchange.GetTicker())
exchange.IO("currency", "LTC_BTC")
Log(exchange.GetTicker())
void main() {
Log(exchange.GetTicker());
exchange.IO("currency", "LTC_BTC");
Log(exchange.GetTicker());
}
Cambiar el par de negociación del intercambio actual, de modo que cambiará el par de negociación configurado por códigoen la creación de operaciones en vivoo bienen el backtest.
function main () {
// exchanges[0] is the first exchange object added when the live trading is created
exchanges[0].IO("base", "https://api.huobi.pro")
}
def main():
exchanges[0].IO("base", "https://api.huobi.pro")
void main() {
exchanges[0].IO("base", "https://api.huobi.pro");
}```
For example, the default base address when the exchange object is wrapped is ```https://api.huobipro.com```, and when you need to switch to ```https://api.huobi.pro```, use the following code to switch:
```javascript
function main() {
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
}
def main():
exchange.SetBase("https://api.bitfinex.com")
exchange.IO("mbase", "https://api-pub.bitfinex.com")
void main() {
exchange.SetBase("https://api.bitfinex.com");
exchange.IO("mbase", "https://api-pub.bitfinex.com");
}
Para los intercambios con diferentes direcciones de base para la interfaz de ticker y la interfaz de negociación, por ejemplo, Bitfinex Futures tiene dos direcciones, una para la interfaz de ticker y la otra para la interfaz de negociación.exchange.SetBase("xxx")
Los futuros de Bitfinex cambian la dirección de base de la interfaz pública usandoexchange.IO("mbase", "xxx")
.
I. Para los intercambios centrados en las criptomonedas, otras llamadas de interfaz de API que no estén encapsuladas de manera uniforme, con parámetrok
Se establece en"api"
:
exchange.IO("api", httpMethod, resource, params, raw)
POST
, GET
, etc.URL
.Elexchange.IO("api", httpMethod, resource, params, raw)
La llamada de la función accederá a la interfaz de intercambio y devolverá null si la llamada falla y se produce un error.
Sólo el comercio real apoya la llamadaexchange.IO("api", httpMethod, resource, params, raw)
function.
II. Para el cambio de pares de operaciones, el parámetrok
está configurado para:"currency"
:
exchange.IO("currency", currency)
moneda: El parámetro es un tipo de cadena con un formato de mayúscula uniforme, utilizando un trazo para separarbaseCurrency
desdequoteCurrency
, como por ejemploBTC_USDT
.
ETH_BTC
sólo puede cambiar aLTC_BTC
, no paraLTC_USDT
.exchange.IO("currency", currency)
para cambiar de par de operaciones.III. Se utiliza para cambiar el modo de cuenta apalancada del objeto de intercambio spot de criptomonedas:
k
está configurado para:"trade_margin"
Para realizar órdenes y obtener activos de la cuenta, se accederá a la interfaz de apalancamiento al contado de la bolsa.
Si la bolsa distingue entre el margen total y el margen aislado en el apalancamiento al contado, utilizar:exchange.IO("trade_super_margin")
cambiar al margen completo para la cuenta apalancada, yexchange.IO("trade_margin")
el cambio a margen aislado para la cuenta apalancada.k
está configurado para:"trade_normal"
para volver al modo normal de cuenta al contado.Bolsas al contado que admiten el cambio entre modelos de cuentas apalancadas:
Los intercambios | Observaciones especiales |
---|---|
No hay problema. | Los pares de operaciones en el modo de cuenta apalancada son diferentes de los normales, algunos pares de operaciones pueden no tenerlos.exchange.IO("trade_super_margin") cambiar a posición completa para las cuentas apalancadas y utilizarexchange.IO("trade_margin") para cambiar a posición por posición.trade_normal para cambiar al modo spot normal.exchange.IO("tdMode", "cross") para especificar directamente el modo de apalancamiento. |
- ¿ Qué? | Los pares de operaciones de modo de cuenta apalancada son diferentes de los normales, algunos pares de operaciones pueden no tenerlos.trade_margin para cambiar a la posición de la cuenta de apalancamiento por posición, utilizartrade_super_margin Para cambiar a la posición completa de la cuenta de apalancamiento.trade_normal para cambiar al modo normal de divisas. |
Binance | El modo de cuenta apalancada se divide en posición por posición y posición completa, usotrade_margin para cambiar a posición por posición, utilizartrade_super_margin para cambiar a posición completa, utilizartrade_normal para cambiar al modo normal de divisas. |
Puerta de entrada | El modo de cuenta apalancada se divide en posición por posición y posición completa, usotrade_margin para cambiar a posición por posición, utilizartrade_super_margin para cambiar a posición completa, utilizartrade_normal para cambiar al modo normal de divisas. |
AscendEx es el nombre de la aplicación. | Utilizaciónexchange.IO("trade_margin") cambiar al modo de cuenta de apalancamiento yexchange.IO("trade_normal") para volver al modo de cuenta normal. |
¿ Qué pasa? | Utilizaciónexchange.IO("trade_margin") cambiar al modo de cuenta de apalancamiento yexchange.IO("trade_normal") para volver al modo de cuenta normal. |
CoinEx también | Utilizaciónexchange.IO("trade_margin") cambiar al modo de cuenta apalancada yexchange.IO("trade_normal") para volver al modo de cuenta normal. |
Otras funciones de conmutación:Mira elexchange.IO()
Función paraOtras funciones de conmutaciónen la Guía del usuario.
En el caso de los sistemas operativos, el valor de los valores de los valores de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos de los sistemas operativos.
exchange.SetRate exchange.Log