Tutorial - Programozz crypto kereskedőrobotot 5 perc alatt

Izgalmas és jövedelmező hobbi a kereskedés automatizálása.
single

Izgalmas és jövedelmező hobbi a kereskedés automatizálása. A cikkben betekintést nyerhetsz, hogyan kell elkészíteni az első kereskedőrobotodat, alap szinten akár pár perc után üzembe tudod helyezni, de természetesen a te feladatod lesz finomhangolni hogy milyen feltételek mellett kereskedjen.

Mi az a kereskedőrobot és hogyan működik?

Még mielőtt fejest ugranánk a témába, tisztázzuk hogy nem AI-ról van szó, bár kitérek majd arra, hogyan tudsz AI megoldásokat alkalmazni, ha szeretnél. Egy sima scriptet fogunk írni, ami tud kommunikálni a kriptótőzsdével, majd ott vételi és eladási megbízásokat ad le. Ennek nyilvánvaló előnye, hogy nem kell a képernyő előtt lenned egész nap, hanem hagyhatod hogy a bot automatikusan kereskedjen helyetted, akár olyan időpontokban is ami neked kényelmetlen lenne. Továbbá a bot beszerezhet magának külső forrásokból olyan adatokat, amit fizikai képtelenség folyamatosan monitorozni, gondolj ilyenre például, hogy egy indikátor elér egy bizonyos szintet, vagy a tőzsdék likviditása jelentősen lecsökken. Ezeket a feltételeket mind be tudjuk építeni a kereskedésbe, így ha van egy jó stratégiánk, azt lemodellezhetjük. Ha nincs jó stratégiánk, akkor pedig teszt környezetben kipróbálhatjuk, sikerül-e profitos botot létrehozni.

Milyen kriptótőzsdén tudok kereskedni?

Több kriptótőzsdén is lehetőség van kereskedni, az itt bemutatott kódokat a ByBit-re írtuk. Amennyiben nincs még felhasználód, itt tudsz regisztrálni - ha a linkünket használod, akkor a Bullmarket Hungary és a Bybit közös promóciójában akár 5000 USD értékű befizetési bónuszokat is kaphatsz.

ByBit

Hogyan kezdjek el programozni?

(Nyugodtan ugord át ezt a részt, ha van programozási tapasztalatod.)

Elsőként egy fejlesztői környezetet kell telepítened (ebben fogod a kódot írni), az egyszerűség kedvéért legyen ez a Visual Studio Code. A hivatalos oldalról, az operációs rendszerednek megfelelő csomagot töltsd le: https://code.visualstudio.com/download

Másodszorra a Python nyelvi környezetre lesz szükséged, ebben a csomagban van egy interpreter (ez fordítja le a Python kódot a számítógép által értelmezhető utasításokra), és vannak alap modulok, amit felhasználhatsz. A hivatalos forrás: https://www.python.org/downloads/

A telepítés során pipáld be, hogy a környezeti változók (PATH) is beállításra kerüljön. Ha Windows-os vagy és nem sikerül ez a lépés, Start menü - keress arra, hogy "Környezeti változók", "Rendszer", majd add hozzá az elérési útvonalat, ami így néz ki:

C:\Users\Felhasználóneved\AppData\Local\Programs\Python\Python39

(A 39 = Python 3.9, ez változhat annak függvényében hogy melyik verziót töltötted le)

Innentől a python.exe és a pip.exe működni fog parancssorból.

Most pedig jön a kereskedőrobot megírása, ugyanis alap szinten programozni meg tudsz tanulni a ChatGPT-vel. Ha bármi nem világos a példakódokból, másold be neki és kérdezd meg, mit csinál!

A ByBit library telepítése

A python mellett szükséges egy "pybit" nevű library telepítése, ezt a Python csomagkezelőjén keresztül tudod megtenni, ami a "pip" névre hallgat. A pip automatikusan telepítésre kerül a pythonnal, maximum azzal lehet szívni, hogy környezeti változóként elérhető-e (ha a fenti beállítást megtetted, sikerülni fog). Linux és Mac esetében terminálból a "pip install pybit" parancsot kell futtatnod, Windows esetében a consoleból (megnyitás: Win+R után cmd és enter) ugyanígy "pip install pybit" és enter.

Első példakód: bitcoin vásárlása API-n kereszül

Hozz létre egy új fájlt "trade.py" néven tetszőleges helyen. Ebbe írjuk bele az alábbi példakódot, és mindjárt ki is vesézzük hogy mit csinál.

from pybit import HTTP

# Replace with your API key and secret
API_KEY = 'your_api_key'
API_SECRET = 'your_api_secret'

# Initialize the Bybit session
session = HTTP(
    endpoint="https://api.bybit.com",  # Mainnet endpoint
    api_key=API_KEY,
    api_secret=API_SECRET
)

# Example: Place a market order to buy 0.001 BTC
symbol = "BTCUSDT"  # Trading pair
side = "Buy"        # Buy or Sell
order_type = "Market"  # Market or Limit
qty = 0.001         # Quantity to trade

try:
    # Place the order
    order = session.place_active_order(
        symbol=symbol,
        side=side,
        order_type=order_type,
        qty=qty,
        time_in_force="GoodTillCancel"
    )
    print("Order placed successfully:", order)
except Exception as e:
    print("Failed to place order:", e)

# Example: Check your current positions
try:
    positions = session.my_position(symbol=symbol)
    print("Current positions:", positions)
except Exception as e:
    print("Failed to fetch positions:", e)

Az első sor egy importálás, itt töltjük be a korábban telepített "pybit" modult, hogy használni tudjuk. Ez a modul tartalmazza a pybit.HTTP osztályt, amivel létrehozhatjuk az adatkapcsolatot a számítógép és a kriptótőzsde között. Ez itt történik meg:

# Initialize the Bybit session
session = HTTP(
    endpoint="https://api.bybit.com",  # Mainnet endpoint
    api_key=API_KEY,
    api_secret=API_SECRET
)

Az endpoint (végpont) az az URL, amit a Bybit ad a kereskedéshez, jelen esetben a nyilvános, éles API-jukat, az api.bybit.com-ot használjuk, de tesztelésre váltsunk át az api-testnet.bybit.com-ra. Mindkettő teljesen ugyanúgy működik, csak az első valós pénzzel, a második pedig újratölthető játékpénzzel.

Az API key (kulcs) és az API secret (jelszó) párban letölthető a Bybit felhasználói beállítások felületéről, miután az API hozzáférést igényelted. (Jobb felül Profile - Dashboard - Access menü).

Bitcoint vásárolunk a programmal, jelen esetben 0.001 BTC-t, piaci áron. (Az összegek és a kereskedési pár feljebb, a változókban vannak beállítva)

    order = session.place_active_order(
        symbol=symbol,
        side=side,
        order_type=order_type,
        qty=qty,
        time_in_force="GoodTillCancel"
    )

Magyarázat röviden:

symbol = pár, pl. BTCUSDT, BTC-t cserélünk USDT-re vagy fordítva
side = Buy vagy Sell attól függően hogy vételi megbízást vagy eladási megbízást adunk le
order_type = Market (piaci áras megbízás) vagy Limit (limitáras megbízás)
qty = mennyiség (megvásárolni vagy eladni kívánt BTC mennyisége a példában)

A place_active_order() függvényt meghívva a megbízást beküldtük a kriptótőzsdére, ami minden bizonnyal azonnal teljesíti azt az aktuális áron.

A "trade.py" fájlt egyszerűen a "python trade.py" paranncsal lehet futtatni, ehhez bele kell navigálni az őt tartalmazó könyvtárba (cd parancs, vagy szintén, ChatGPT segít)

Hogyan tudom a programot folyamatosan futtatni?

A program alapvetően folyamatosan fut amíg 1) a kód végére nem ér 2) nem fut hibára.

Mivel a jelenlegi kódunkban csak annyi van hogy adjon le egy BTC vételi megbízást és kész, ezt változtassuk meg úgy, hogy 60 másodpercenként adjon le egy vételi megbízást!

import time

while True:
    # ide jön a BTCUSDT kereskedés kódja, place_active_order a fenti példában
    time.sleep(60)

Ehhez beimportáltuk a time modult, hogy tudjunk 60 másodpercig várakozni, és tökéletesen működik amíg egyszer nem fut hibára - ami megtörténhet, gondoljunk csak olyan triviális esetre hogy valamiért elmegy az internet egy pillanatra. Ahhoz, hogy ezeket kezeljük, szükség lesz egy supervisor programra. Linuxon és Macen ez a supervisord paranccsal lehetséges (ChatGPT segít), Windowson pedig a Vezérlőpult - Szolgáltatások - Helyreállítás menüben tudod beállítani a program hibaesetkori újraindítását. (Paraméterként itt meg kell adni a script nevét is "trade.py", nem elég csak a python-t újraindítani)

Ha nem akarod a gépet folyamatosan ébren tartani, javasolt bérelni egy olcsó szervert (DigitalOcean legolcsóbb droplet egy Ubuntuval pl., említettem már a ChatGPT-t? :))

Adatforrások

A következő fontos lépés a kereskedéshez, adatok beszerzése. Szerencsére a pybit library-ban vannak olyan függvények, amit szimplán meg tudsz hívni és visszaadják a legfontosabb információkat, például mennyi aktuálisan a BTCUSDT árfolyama, mik vannak az ajánlati könyvben, és így tovább.

A hagyományos indikátorok nagy része (mozgóátlag, Bollinger-szalag, RSI, ...) kiszámolható a ByBit-ről megkapott adatokból egyszerű matematikai képletekkel (segít: ChatGPT).

A különlegesebb indikátorok nehézségét általában az adja, hogy olyan adatokkal dolgoznak, ami a kriptótőzsdén nem elérhető, például nyilvános blokklánc adatok. Ethereum és Solana ökoszisztémában használható például az Alchemy API (itt kivételesen nem a ChatGPT-t ajánlom, hanem a dokumentációjukat az alchemy.com-on), vagy a bitcoin-data.com ami kifejezetten a bitcoin blokklánc nyilvános adatait teszi lekérdezhetővé.

Kereskedési stratégia ötletek

Természetesen nem tisztem megmondani a TUTI stratégiát, ezt neked kell kitalálnod. Kezdeti gyakorlásként mondok párat, amit figyelembe szoktak venni, és könnyen beépíthető a programba:

  • MACD crossover - az alacsonyabb időintervallumra számolt mozgóátlag túllépi a magasabb időintervallumra számolt mozgóátlagot (vételi jelzés), vagy beesik alá (eladási jelzés)

  • Fear and greed - alacsonyabb indexérték 30 alatt vételi jelzés, magasabb 70 felett eladási jelzés

  • Hálózati tranzakciós volumen csökkenése vagy növekedése

  • Token trade volumen változás

  • Spread növekedése vagy csökkenése

  • RSI túllépi a 70/80 értéket vagy beesik 20/30 alá

  • Social media sentiment analízis (pl. Twitter posztok)

  • Gyors árváltozások arbitrázsa (scalping)

Ezt a cikket nulláról kezdőknek szántam, ha igény van rá, később folytathatjuk egy konkrét stratégia megvalósításával is. Annyit talán még érdemes leírnom, hogy bárhol az utad során találsz "működő", pénzt hozó forráskódot, ne használd fel! Ha bármilyen stratégia profitos, azt senki nem fogja nyilvánosságra hozni, hiszen utána már nem lesz profitos. De az esetek 99%-ában csak a pénzedet próbálják lenyúlni. Az API kulcsodat soha senkinek ne add ki, az API kulcsoddal pedig soha ne futtasd más fejlesztő kódját! TLDR: a saját kreativitásoddal és tudásoddal kell dolgoznod.

Sok sikert! ;)

ByBit

Ezeket is ajánljuk

featured
BitcoinTőzsdeHírek
bullmarket.hub
bullmarket.hu
·2025. 03. 23.

Akár egy hét múlva megduplázódhat a bitcoin árfolyama

featured
BitcoinHírekUSA
bullmarket.hub
bullmarket.hu
·2025. 03. 07.

Breaking: Lesz stratégiai bitcoin tartalék Amerikában

featured
ElemzésUSABitcoinHírek
bullmarket.hub
bullmarket.hu
·2025. 03. 04.

Stratégiai kriptó tartalék, manipuláció, bennfentes kereskedés és vámháború

featured
HírekBitcoinUSATőzsde
bullmarket.hub
bullmarket.hu
·2025. 02. 03.

Vámháború és El Salvador - Meddig eshet még a bitcoin?