Dades del llibre de comandes d’intercanvi de xifres CCXT [exemple de tutorial]

>

Tant si esteu creant un bot de negociació personal com si esteu desenvolupant un servei de negociació complet que admetrà milers d’usuaris, les dades del llibre de comandes d’intercanvi seran la vostra opinió. És un dels primers elements que es requereixen per avaluar amb èxit el mercat i executar una estratègia.

Per què és important el llibre de comandes??

El llibre de comandes especifica totes les comandes disponibles que estan obertes actualment en una borsa. Cada comanda representa una persona (o diverses persones) que busca comprar o vendre un actiu al preu determinat.

Quan cotitzeu, podeu fer la vostra pròpia comanda oberta al bescanvi perquè la prengui algú altre o bé podeu fer una comanda disponible al bescanvi. Independentment de l’estratègia que utilitzeu, és important tenir la informació necessària per prendre aquesta decisió.

Com accedim a la llibreta de comandes d’un intercanvi?

Una manera d’accedir a la llibreta de comandes des d’un intercanvi és sol·licitar directament aquesta informació a l’intercanvi. Podeu fer-ho mitjançant CCXT seguint aquests exemples.

Exemple CCXT: parell individual

El nostre primer exemple sol·licitarà el llibre de comandes actual per al parell de negociació BTC / USDT a la borsa Binance. Quan s’utilitza la biblioteca CCXT, només és possible accedir a un sol parell de negociació alhora. Això significa que no podrem obtenir la totalitat de la cartera de comandes de tots els parells de negociació, sinó que hem de retirar sistemàticament la cartera de comandes de cada parell individual.

Instal·leu CCXT

Abans de començar, instal·lem la biblioteca de Python CCXT.

pip instal·lar ccxt

Exemple

Un cop instal·lat, estem preparats per escriure el nostre primer script Python que accedirà a les dades del llibre de comandes BTC / USDT a Binance..

importar ccxt

# recuperar dades del parell BTC / USDT a Binance

binance = ccxt.binance ()

orderbook = binance.fetch_order_book (‘BTC / USDT’)

Resultats

La sol·licitud retornarà l’oferta i demanarà ordres que estan disponibles actualment a la borsa del parell de negociació BTC / USDT.

El primer element de cada comanda és el preu de la comanda en termes de moneda de pressupost (en aquest cas USDT). El segon element de la comanda és la quantitat de la comanda a la borsa en termes de la moneda base (en aquest cas BTC).

{

‘ofertes’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724,08, 0,030605],

],

“pregunta”: [

[8725,61, 0,055265],

[8725,7, 0,028131],

[8725,81, 0,1616984],

]

}

Exemple CCXT: parells agregats

Ara que hem explicat com accedir al llibre de comandes d’un sol parell de negociació mitjançant CCXT, volem ampliar el nostre enfocament per recopilar dades del llibre de comandes de cada parell de negociació de la borsa..

Malauradament, recollir aquesta quantitat de dades és una mica complicat per a CCXT. Les dades de cada parell de mercats s’han de sol·licitar individualment a Binance. L’enviament de totes aquestes sol·licituds pot trigar fins a 5 minuts o més, ja que Binance té límits de velocitat per a la rapidesa amb què podeu accedir a les dades.

importar ccxt

binance = ccxt.binance ()

aggregated_orderbook_data = []

# Obteniu els mercats disponibles per a Binance

binance_markets = binance.load_markets ()

# Obteniu els llibres de comandes de cada recurs a Binance

# L’obtenció de tots aquests llibres de comandes trigarà 5 minuts

per a parells a binance_markets:

pair_orderbook = binance.fetch_order_book (parell)

pair_orderbook [‘symbol’] = parell

aggregated_orderbook_data.append (pair_orderbook)

Resultats

Cada sol·licitud que enviem retornarà les dades de mercat de l’oferta i de la sol·licitud per al parell de negociació individual. Per proporcionar una manera còmoda d’identificar els llibres de comandes, hem avançat i hem afegit una clau a cada objecte del llibre de comandes per incloure el símbol. D’aquesta manera, no perdem de vista quines dades pertanyen a quin parell de mercat.

El resultat de l’exemple de codi anterior retornarà l’oferta agregada i demanarà ordres per a cada parell de negociació disponibles a la borsa.

[{

‘símbol’: ‘BTC / USD’,

‘ofertes’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724,08, 0,030605],

],

“pregunta”: [

[8725,61, 0,055265],

[8725,7, 0,028131],

[8725,81, 0,1616984],

]

}, {

‘símbol’: ‘LTC / BTC’,

‘ofertes’: [

[8724,77, 0,149594],

[8724.11, 2.537818],

[8724,08, 0,030605],

],

“pregunta”: [

[8725,61, 0,055265],

[8725,7, 0,028131],

[8725,81, 0,1616984],

]

}]

Nota: tingueu precaució quan accediu a dades excessives de l’intercanvi. La sol·licitud contínua de dades del llibre de comandes pot obstruir el vostre servei de negociació, ja que restringirà el nombre de sol·licituds que podeu fer per realitzar altres accions a l’intercanvi..

Exemple de gamba: parell individual

A causa de les limitacions de CCXT, el nostre equip ha desenvolupat una alternativa de grau professional. Les API de Shrimpy no restringeixen l’accés a dades com CCXT. L’exemple següent mostra com podeu accedir a la llibreta de comandes d’un sol recurs mitjançant les API de desenvolupador de Shrimpy.

Nota: Per acabar aquests exemples, inscriviu-vos per obtenir un compte gratuït amb Shrimpy Crypto Data & API de negociació. Un cop hàgiu iniciat la sessió al compte de Shrimpy, creeu noves claus d’API seleccionant l’opció “Crea una clau principal d’Api”. Aquestes claus s’utilitzaran en els scripts següents.

Instal·leu Shrimpy

Abans de passar al nostre exemple de Shrimpy, comencem instal·lant la biblioteca Python de Shrimpy.

pip instal·la shrimpy-python

Exemple

Ara que hem instal·lat la biblioteca, podem escriure el nostre primer script.

importar gambes

# assigneu les vostres claus mestres públiques i secretes de Shrimpy

# registreu-vos gratuïtament a https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’, # exchange

“XLM”, # base_symbol

“BTC”, # quote_symbol

100 # límit de la quantitat de profunditat que cal retornar per cada costat (oferta & preguntar)

)

Devolucions

Les API Shrimpy retornen una llista ben organitzada de dades del llibre de comandes que inclouen el símbol base, el símbol de pressupost, l’intercanvi i cadascuna de les comandes disponibles a l’intercanvi etiquetades amb precisió.

[{

"baseSymbol": "XLM",

"quoteSymbol": "BTC",

"Llibres de comandes": [{

"intercanvi": "Bittrex",

"llibre de comandes": {

"pregunta": [

{

"preu": "0,00002585",

"quantitat": "1891.1316431" },

{

"preu": "0,00002594",

"quantitat": "35200" },

],

"ofertes": [

{

"preu": "0,00002577",

"quantitat": "774.92250177" },

{

"preu": "0,00002576",

"quantitat": "3509.07031022" },

]

}

}]

}]

Exemple de gamba: parells agregats

Ara, Shrimpy realment brilla a l’hora d’agregar dades entre parells d’actius o fins i tot intercanvis. Els exemples següents ressaltaran alguns d’aquests casos d’ús.

Recupereu la llibreta de comandes de cada parell de Bittrex.

importar gambes

# assigneu les vostres claus mestres públiques i secretes de Shrimpy

# registreu-vos gratuïtament a https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

“bittrex” # exchange

)

Podeu veure ràpidament com la diferència entre aquest darrer exemple i l’exemple anterior de Shrimpy, que només sol·licitava dades per a un parell de negociació, és essencialment la mateixa. Tot el que vam fer va ser eliminar les entrades de la moneda de pressupost, de la moneda base i del límit. Tota la resta es va mantenir exactament igual i va recuperar totes les dades que necessitàvem en una sola sol·licitud.

Això ens impedeix passar 5 minuts recopilant dades de cada parell de negociació individualment.

Continuant amb el nostre darrer exemple, encara hi ha més maneres de configurar quines dades recopilem de les API de Shrimpy.

La majoria de vegades, només necessitem un subconjunt de llibres de comandes disponibles a la borsa. Com a resultat, és possible que vulguem conèixer totes les monedes base o cotització que es connecten a un actiu específic. En aquests casos, podem sol·licitar dades de tots els parells connectats a una moneda base o pressupost específica.

Accediu a la llibreta de comandes de tots els parells de Bittrex que utilitzen BTC com a moneda de pressupost.

importar gambes

# assigneu les vostres claus mestres públiques i secretes de Shrimpy

# registreu-vos gratuïtament a https://developers.shrimpy.io/

public_key = ‘bea8edb348af226 …’

secret_key = ‘df84c39fb49026dcad9d99 …’

client = shrimpy.ShrimpyApiClient (public_key, secret_key)

orderbooks = client.get_orderbooks (

‘bittrex’, # exchange

Cap, # moneda base

Moneda de pressupost “BTC” #

)

Fixeu-vos en com especifiquem “Cap” per a la moneda base. Això significa que recuperarem els llibres de comandes de tots els parells de negociació que tinguin una moneda de pressupost “BTC”.

Per últim, Shrimpy no només es troba en un únic intercanvi. Fins i tot és possible sol·licitar dades entre intercanvis. Això es pot fer sol·licitant parells de negociació en diversos intercanvis de la sol·licitud.

Un exemple de sol·licitud que extreu dades entre intercanvis en una sola sol·licitud.

OBTÉ https://dev-api.shrimpy.io/v1/orderbooks?exchange=bittrex,binance,kucoin&baseSymbol = XLM&quoteSymbol = BTC&límit = 10

Fixeu-vos en com especifiquem diversos intercanvis. El resultat d’aquesta consulta retornarà la llibreta de comandes del parell de negociació XLM / BTC en cadascun dels 3 borses especificats.

Devolucions

El format que recuperem és coherent tant si sol·licitem dades del llibre de comandes per a un sol parell de negociació com per a diversos parells a través d’intercanvis.

[{

"baseSymbol": "XLM",

"quoteSymbol": "BTC",

"Llibres de comandes": [{

"intercanvi": "Bittrex",

"llibre de comandes": {

"pregunta": [

{

"preu": "0,00002585",

"quantitat": "1891.1316431" },

{

"preu": "0,00002594",

"quantitat": "35200" },

],

"ofertes": [

{

"preu": "0,00002577",

"quantitat": "774.92250177" },

{

"preu": "0,00002576",

"quantitat": "3509.07031022" },

]

}

}]

}, {

"baseSymbol": "XRP",

"quoteSymbol": "BTC",

"Llibres de comandes": [{

"intercanvi": "Bittrex",

"llibre de comandes": {

"pregunta": [

{

"preu": "0,00001485",

"quantitat": "2891.1316431" },

{

"preu": "0,00001494",

"quantitat": "45200" },

],

"ofertes": [

{

"preu": "0,00001477",

"quantitat": "874.92250177" },

{

"preu": "0,00001476",

"quantitat": "4509.07031022" },

]

}

}]

},

]

Nota: Shrimpy només requereix una única sol·licitud per accedir instantàniament a les dades del llibre de comandes de tots els intercanvis importants. D’aquesta manera es redueix el nombre de sol·licituds que necessita enviar als intercanvis i es pot millorar dràsticament l’accés a les seves dades.

Proveu el Comerç de gambetes & API de dades avui. És la forma més senzilla de començar a recopilar dades en tots els intercanvis importants. Recopileu dades històriques del mercat, accediu a websockets en temps real, executeu estratègies comercials avançades i gestioneu un nombre il·limitat d’usuaris.

No us oblideu de seguir-nos Twitter i Facebook per obtenir actualitzacions i fer qualsevol pregunta a la nostra increïble comunitat activa Telegrama.

L’equip de Shrimpy

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me