Kriptomenjačnica
🐍
Napredni30 min čitanja

Python kripto bot — od nule do prvog traga

Korak-po-korak: ccxt biblioteka, strategija, backtesting i live trading na testnet-u.

Pravljenje kripto bota u Pythonu

Python je najpopularniji jezik za kripto botove. Ekosistem je bogat: ccxt za konekciju sa berzama, pandas za podatke, pandas-ta za indikatore, i freqtrade za backtesting.

Podešavanje

pip install ccxt pandas pandas-ta python-dotenv

Čuvaj API ključeve u .env fajlu — nikada ih ne hardkoduj u skriptu.

Jednostavan EMA Crossover bot

Strategija: kupi kada 9-periodični EMA pređe iznad 21-periodičnog EMA; prodaj kada pređe ispod.

import ccxt, pandas as pd, pandas_ta as ta, time, os
from dotenv import load_dotenv
load_dotenv()

exchange = ccxt.binance({'apiKey': os.getenv('API_KEY'), 'secret': os.getenv('SECRET')})

def get_ohlcv(symbol='BTC/USDT', tf='1h', limit=100):
    data = exchange.fetch_ohlcv(symbol, tf, limit=limit)
    df = pd.DataFrame(data, columns=['time','open','high','low','close','volume'])
    df['ema9']  = ta.ema(df['close'], length=9)
    df['ema21'] = ta.ema(df['close'], length=21)
    return df

while True:
    df = get_ohlcv()
    if df['ema9'].iloc[-2] < df['ema21'].iloc[-2] and df['ema9'].iloc[-1] > df['ema21'].iloc[-1]:
        print('BUY signal')
    time.sleep(60)

Prvo backtesting

Pre live pokretanja, testiraj na istorijskim podacima. Ključne metrike: ukupni prinos, maksimalni drawdown, stopa pobeda, Sharpe ratio.

Deployment

Pokreni bota na VPS-u (DigitalOcean, Hetzner) za 24/7 uptime. Koristi tmux ili systemd da ga držiš pokrenuti. Loguj sve trades u CSV ili bazu podataka za praćenje.