**Python-Trading-Bot: Trendfolge mit RSI & EMA**
Diese Strategie kombiniert den **Relative Strength Index (RSI)** mit einem **Exponential Moving Average (EMA)**, um Trends zu erkennen und Rücksetzer auszunutzen. Gehandelt wird auf **Binance (Spot)**. Positionen werden eröffnet, wenn der RSI überverkauft ist (unter 30) **und** der Preis über dem EMA liegt – ein Zeichen für einen Aufwärtstrend mit kurzfristigem Rücksetzer.
—
### Voraussetzungen
„`bash
pip install python-binance pandas ta
„`
—
### Python-Skript
„`python
import time
import pandas as pd
from binance.client import Client
from ta.trend import EMAIndicator
from ta.momentum import RSIIndicator
API_KEY = ‚DEIN_API_KEY‘
API_SECRET = ‚DEIN_API_SECRET‘
SYMBOL = ‚BTCUSDT‘
INTERVAL = Client.KLINE_INTERVAL_15MINUTE
USDT_AMOUNT = 20
client = Client(API_KEY, API_SECRET)
def get_data(symbol, interval, limit=100):
klines = client.get_klines(symbol=symbol, interval=interval, limit=limit)
df = pd.DataFrame(klines, columns=[
‚timestamp‘,’open‘,’high‘,’low‘,’close‘,’volume‘,
‚close_time‘,’quote_asset_volume‘,’number_of_trades‘,
‚taker_buy_base‘,’taker_buy_quote‘,’ignore‘
])
df[‚close‘] = df[‚close‘].astype(float)
df[‚timestamp‘] = pd.to_datetime(df[‚timestamp‘], unit=’ms‘)
return df[[‚timestamp‘, ‚close‘]]
def generate_signal(df):
df[‚ema‘] = EMAIndicator(df[‚close‘], window=21).ema_indicator()
df[‚rsi‘] = RSIIndicator(df[‚close‘], window=14).rsi()
last = df.iloc[-1]
if last[‚close‘] > last[‚ema‘] and last[‚rsi‘] < 30:
return 'buy'
return 'hold'
def place_order(symbol, usdt_amount):
price = float(client.get_symbol_ticker(symbol=symbol)['price'])
quantity = round(usdt_amount / price, 6)
order = client.order_market_buy(symbol=symbol, quantity=quantity)
print(f"Order ausgeführt: {order}")
def run_bot():
while True:
try:
df = get_data(SYMBOL, INTERVAL)
signal = generate_signal(df)
if signal == 'buy':
place_order(SYMBOL, USDT_AMOUNT)
time.sleep(900) # 15 Minuten warten
except Exception as e:
print(f"Fehler: {e}")
time.sleep(60)
run_bot()
„`
—
### Schritt-für-Schritt-Anleitung
1. **Binance API-Key erstellen**
Gehe auf Binance → API-Verwaltung → API-Schlüssel erstellen.
2. **Python installieren**
Stelle sicher, dass Python 3.8+ installiert ist.
3. **Bibliotheken installieren**
Führe `pip install python-binance pandas ta` im Terminal aus.
4. **API-Zugang einrichten**
Ersetze im Script `API_KEY` und `API_SECRET` durch deine Binance-Zugangsdaten.
5. **Bot starten**
Speichere das Script z. B. als `trend_bot.py` und führe es mit `python trend_bot.py` aus.
6. **Sicherheit beachten**
Nutze ein separates Binance-Konto mit begrenztem Guthaben. Aktiviere IP-Whitelist in der API.
—
### Hinweise
– Das Script ist bewusst einfach gehalten – es fehlen Stop-Loss, Take-Profit und Logging.
– Für reale Einsätze: Logging, Error-Handling und Orderüberwachung hinzufügen.
– Die Strategie