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.