Byg en Cryptocurrency Trading Bot med R
** Bemærk, at API ‘ en, der bruges i denne tutorial, ikke længere er i brug. Denne artikel bør læses til illustrative formål med det i tankerne.
den erhvervsdrivendes sind er det svage led i enhver handelsstrategi eller plan. Effektiv handelsudførelse har brug for menneskelige input, der kører i den modsatte retning af vores instinkter. Vi bør købe, når vores reptilhjerne ønsker at sælge. Vi bør sælge, når vores tarm vil have os til at købe mere.
det er endnu sværere at handle cryptocurrencies med en kritisk forfatning. De unge og nye markeder er oversvømmet med” pumpegrupper”, der fremmer intens FOMO (frygt for at gå glip af), som driver priserne skyhøje, før de smækker dem tilbage til jorden. Mange uerfarne investorer handler også på disse markeder, investorer, der muligvis aldrig indgik en handel på NYSE. På hver handel er der en maker og en taker, og kloge kryptoinvestorer finder det nemt at drage fordel af de nybegyndere, der oversvømmer rummet.
for at frigøre mine følelser fra kryptohandel og drage fordel af markeder, der er åbne 24/7, besluttede jeg at opbygge en simpel handelsbot, der ville følge en simpel strategi og udføre handler, mens jeg sov.
mange “bothandlere”, som de kaldes, bruger Python-programmeringssproget til at udføre disse handler. Hvis du skulle google, “crypto trading bot”, ville du finde links til Python-kode i forskellige Github-arkiver.
Jeg er dataforsker, og R er mit vigtigste værktøj. Jeg søgte efter en anstændig tutorial om at bruge R-sproget til at opbygge en handelsbot, men fandt intet. Jeg var indstillet på at bygge min egen pakke til at interface med API ‘en, da jeg fandt pakken rgdaks, som er en r-indpakning til API’ en. Følgende er en guide til at sammensætte en handelsbot, som du kan bruge til at opbygge dine egne strategier.
i en nøddeskal handler vi Ethereum — USD-paret på GDAKS-børsen via deres API via rgdaks-indpakningen. Jeg kan godt lide at handle dette par, fordi Ethereum (ETH) typisk er i en bullish holdning, som gør det muligt for denne strategi at skinne.
Bemærk: Dette er en super-forenklet strat, der kun tjener et par bukke på et tyremarked. Til alle formål, bruge dette som en base for at opbygge din egen strat.
Vi vil købe, når en kombination af Relative styrkeindeks (RSI) indikatorer peger på et midlertidigt oversolgt marked med den antagelse, at tyre igen vil skubbe priserne op, og vi kan samle overskud.
når vi køber, indtaster bot tre limit-salgsordrer: en med 1% fortjeneste, en anden med 4% fortjeneste og den sidste med 7% fortjeneste. Dette giver os mulighed for hurtigt at frigøre midler til at gå ind i en anden handel med de 1.to ordrer, og 7% – ordren styrker vores samlede rentabilitet.
- vi vil bruge RStudio og vinduer task scheduler til at udføre vores R-kode på en regelmæssig basis (hver 10 minutter). Du skal bruge en Gmail-konto for at sende ordrer til og en Gmail-konto for at modtage handelsmeddelelser. vores proces del 1: Ring biblioteker og byg funktioner
- Del 2: Gem variabler
- del 3: trading loop udfører
- Del 4: Brug af vinduer Task Scheduler til at automatisere scriptet
- Schedule script med Rstudio addin
- rediger den planlagte opgave med Task Scheduler
- hold øje med din opgave med logfilen
- gør det til dit eget
vi vil bruge RStudio og vinduer task scheduler til at udføre vores R-kode på en regelmæssig basis (hver 10 minutter). Du skal bruge en Gmail-konto for at sende ordrer til og en Gmail-konto for at modtage handelsmeddelelser.
del 1: Ring biblioteker og byg funktioner
vi begynder med at ringe til flere biblioteker:
Pakken rgdax giver interface til GDAX api, mailR bruges til at sende os en e-mail-opdateringer med en Gmail-konto, stringi hjælper os med at fortolke numre fra JSON og TTR giver os mulighed for at udføre tekniske indikator beregninger.
funktion: curr_bal_usd& curr_bal_eth
du vil bruge din api-nøgle, hemmelighed og adgangssætning, der genereres fra GD i API-sektionen. Disse funktioner forespørger din GDAK-konto for den seneste saldo, som vi vil bruge gentagne gange i vores handel: