Portfolio

Botje: grid trading op vijf crypto-exchanges

Eén platform volgt koersen en plaatst koop- en verkooporders op vooraf gezette prijsniveaus.

Botje: grid trading op vijf crypto-exchanges

Vijf beurzen, één orderlogica

De opdrachtgever handelde met grids: een reeks prijsniveaus waarop wordt gekocht en, na een vooraf gezette winst, weer verkocht. Dat bijhouden op Binance, Bitvavo, Kraken, Bybit en Revolut X tegelijk was met de hand niet vol te houden. Elke beurs heeft eigen authenticatie, limieten, orderformaten en afrondingsregels. Revolut X ondertekent met Ed25519, de anderen met HMAC.

CodeDivers bouwde Botje als PHP-applicatie met MySQL. Alle beurzen hangen achter dezelfde interface. Voor de gangbare exchanges is de CCXT-bibliotheek gebruikt. Voor Revolut X is een eigen client geschreven die op dezelfde manier orders plaatst en tickers ophaalt.

Wat de bot elke ronde doet

Een cronjob haalt de koers op, vergelijkt die met de open gridniveaus en plaatst een koop- of verkooporder wanneer de markt een niveau raakt. Prijsniveaus worden vooraf gegenereerd over een bereik, met een instelbare stap en winstmarge. Decimale precisie loopt via GMP en BCMath, omdat afronden op crypto direct een afgewezen order oplevert.

  • Orderstatus van open tot gevuld, inclusief gedeeltelijke vulling.
  • Dashboard met winst per grid, per exchange en per markt (Flot).
  • Saldi, transactielog en import van historische koersen.
  • Dry-run en het Binance-testnet, plus een debugmodus waarin elke stap zichtbaar is.
  • E-mail bij een netwerkfout of een ongebruikelijke koerssprong.

De interface is Bootstrap 5 met jQuery. Het platform draait sinds april 2022. Nieuwe exchanges vragen een connector en configuratie, niet een nieuwe applicatie.

Gebruikte technologieën

  • #php
  • #mysql
  • #ccxt
  • #api
  • #bootstrap
  • #jquery
  • #flot
  • #composer
  • #cron
  • #rest

Gerealiseerd in:

Botje: grid trading op vijf crypto-exchanges