Saltar al contenido

Cómo crear un bot de comercio simple para Coinbase Pro

Cómo crear un bot de comercio simple para Coinbase Pro

Crear un bot de comercio de criptomonedas es un gran ejercicio para mejorar su experiencia de desarrollo de software. Además, puede comercializarlo y capitalizar el rápido crecimiento de las criptomonedas para aumentar el monto de su cuenta bancaria.

Este contenido está destinado a presentarle la creación de un simple bot de comercio de criptomonedas en Node.js. Entraré en más detalles sobre la creación de robots comerciales más avanzados en el contenido que viene. Estos son los objetivos que me propuse para lograr el conocimiento que planeo transmitir:

Cómo utilizar las API de GDAX para operar con bots

Desde 2018, GDAX prácticamente se ha convertido en Coinbase Pro, pero las API que se utilizarán para NodeJs siguen siendo las mismas que en la documentación oficial.

Empecemos | Cómo crear un robot comercial para Coinbase Pro

Supongo que ya está familiarizado con JavaScript, NodeJs, MongoDB y Docker.

También debería tener una cuenta en Conbase Pro que permita precisamente el comercio automático a través de API.

Luego abre el terminal para crear la carpeta en la que realizarás tu proyecto y donde insertarás la librería GDAX, imprescindible para el resto del mismo.

mkdir coinbase_pro_botcd coinbase_pro_botnpm initnpm instalar gdax

Usamos API públicas | Cómo crear un robot comercial para Coinbase Pro

Coinbase Pro tiene API públicas a las que se puede acceder sin crear una cuenta. Usamos su API pública para ver las criptomonedas que ofrece para operar. Luego cree el archivo index.js y pegue el siguiente fragmento de código.

const CoinbasePro = require("gdax");
const publicClient = new CoinbasePro.PublicClient();

const callback = (error, response, data) => {
  if (error)
    console.log(error);

  console.log(data);
}
publicClient.getProducts(callback);

Luego, vuelva a abrir la terminal y ejecute index.js.

Verá algo como esto.

Cómo crear un robot comercial para Coinbase Pro

El método getProducts le permite donar todas las criptomonedas que ofrece Coinbase Pro. También existen otros métodos que puede utilizar para obtener datos sobre sus criptomonedas, como getCurrency y getProductHistoricalRates.

A continuación se muestra cómo se puede utilizar el método getCurrency.

const CoinbasePro = require("gdax");
const publicClient = new CoinbasePro.PublicClient();

const callback = (error, response, data) => {
  if (error)
    console.log(error);

  console.log(data);

publicClient.getCurrencies(callback);

Verás algo similar.

Cómo crear un robot comercial para Coinbase ProCómo crear un robot comercial para Coinbase Pro

Ahora usemos el método getProductHistoricalRate para obtener datos históricos de precios de Bitcoin.

const CoinbasePro = require("gdax");
const publicClient = new CoinbasePro.PublicClient();

const callback = (error, response, data) => {
  if (error)
    console.log(error);

  console.log(data);
}
publicClient.getProductHistoricRates('BTC-USD', callback);

Verás algo similar.

Captura 3Cómo crear un robot comercial para Coinbase Pro

Usamos API privadas | Cómo crear un robot comercial para Coinbase Pro

Después de iniciar sesión en su cuenta en Coinbase Pro (si no ha registrado una), tendrá acceso a API privadas, que le ofrecen más funciones, en particular para la continuación del proyecto y, por lo tanto, para crear un bot automático que lo haga. transacciones de compra y venta de criptomonedas.

Para continuar necesitas activar la API en tu cuenta, ve aquí a la sección de configuración y actívalas, se te darán claves, en particular, clave, secreto y contraseña.

A continuación, se explica cómo utilizar estos datos en el proyecto con respecto a la creación del bot de comercio de criptomonedas en Coinbase Pro.

const CoinbaseProKey = "KEY";
const CoinbaseProSecret = "SECRET";
const CoinbaseProPassphrase = "PASSPHRASE";
const apiURI = 'https://api.pro.coinbase.com';
const authenticatedClient = new GDAX.AuthenticatedClient(CoinbaseProKey, CoinbaseProSecret, CoinbaseProPassphrase, apiURI);

El método AuthenticatedClient hereda todos los métodos API del método PublicClient. Por lo tanto, si está accediendo a la API de Coinbase Pro tanto pública como privada, simplemente cree un cliente.

Además, al igual que el método PublicClient, cada método de API privado también requiere que se pase una función de devolución de llamada como argumento.

Por ejemplo, si desea obtener una lista de todas las cuentas comerciales, puede utilizar el método getAccounts.

authenticatedClient.getAccounts(callback);

Después de obtener información sobre sus cuentas, puede consultar cada cuenta individualmente para obtener detalles más específicos.

const INDIVIDUAL_ACCOUNT = "INSERT_ACCOUNT_ID";

authenticatedClient.getAccount(INDIVIDUAL ACCOUNT, callback);

En lugar de inundar Coinbase Pro con solicitudes, lo cual no se recomienda, puede obtener información sobre los precios actuales de las criptomonedas utilizando su WebsocketClient. Después de establecer una conexión Websocket con los servidores de Coinbase Pro, podrá obtener la información específica que necesita.

Por ejemplo, digamos que necesita información sobre Bitcoin.

const BTC_USD = 'BTC-USD';

const websocket = new GDAX.WebsocketClient([BTC_USD]);

const websocketCallback = (data) => console.dir(data);
websocket.on('message', websocketCallback);

Para obtener el precio actual de Bitcoin a partir de la salida generada, es necesario realizar cambios en el código anterior. Para hacer esto, necesitamos filtrar los comandos que se ejecutan. De esta forma, recibiremos información sobre la venta que acaba de finalizar y recibiremos información sobre los precios del pedido.

Aquí está el código mejorado que recupera los precios actuales de Bitcoin.

const websocketCallback = (data) => {

  if (!(data.type === 'done' && data.reason === 'filled')


  return;
  console.dir(data);
}

Introducción de órdenes de compra y venta

¿Es esta la parte que estabas esperando ver?

Conclusión

El contenido le permite crear un bot simple para intercambiar automáticamente criptomonedas en Coinbase Pro, pero no le permitirá tener un comercio rentable ya que carece de una estrategia adecuada para permitir que los intercambios generen ganancias, si tiene una estrategia y la desea. para implementarlo puedes usar todo el código de forma segura y continuar con el desarrollo, si no sabes cómo hacerlo o si no tienes las habilidades para crear una estrategia adecuada, pídeme una consulta o un presupuesto para la creación de un bot de comercio automatizado en Coinbase Pro.