Bot Idee – 03.06.25, 22:08

**🚀 Momentum Breakout Trading-Bot (Python, Binance, Futures)**

**Strategie:**
Der Bot handelt Breakouts bei starkem Momentum auf Binance-Futures mit dem RSI (Relative Strength Index) und EMA (Exponential Moving Average). Trades werden ausgelöst, wenn:
1. Der RSI über 70 steigt (Long) oder unter 30 fällt (Short).
2. Der Kurs über der EMA (Long) oder unter der EMA (Short) liegt.
3. Dynamisches Stop-Loss/Take-Profit via ATR (Average True Range).

### 🛠 Voraussetzungen:

„`bash
pip install ccxt ta pandas numpy
„`

### 📜 Python-Skript

„`python
import ccxt, time
import pandas as pd
import numpy as np
from ta.trend import EMAIndicator
from ta.momentum import RSIIndicator
from ta.volatility import AverageTrueRange

# Binance API Keys
api_key = ‚DEIN_API_KEY‘
api_secret = ‚DEIN_API_SECRET‘

exchange = ccxt.binance({
‚apiKey‘: api_key,
’secret‘: api_secret,
‚enableRateLimit‘: True,
‚options‘: {‚defaultType‘: ‚future‘}
})

symbol = ‚BTC/USDT‘
timeframe = ‚5m‘
amount = 0.001 # anpassen je nach Kapital

def get_data():
bars = exchange.fetch_ohlcv(symbol, timeframe, limit=100)
df = pd.DataFrame(bars, columns=[‚time‘, ‚open‘, ‚high‘, ‚low‘, ‚close‘, ‚volume‘])
df[‚EMA‘] = EMAIndicator(df[‚close‘], window=21).ema_indicator()
df[‚RSI‘] = RSIIndicator(df[‚close‘], window=14).rsi()
atr = AverageTrueRange(df[‚high‘], df[‚low‘], df[‚close‘], window=14)
df[‚ATR‘] = atr.average_true_range()
return df

def signal(df):
last = df.iloc[-1] if last[‚RSI‘] > 70 and last[‚close‘] > last[‚EMA‘]:
return ‚buy‘
elif last[‚RSI‘] < 30 and last['close'] < last['EMA']:
return 'sell'
return None

def execute_trade(direction, price, sl, tp):
side = 'buy' if direction == 'buy' else 'sell'
params = {'positionSide': 'LONG' if direction == 'buy' else 'SHORT'}
exchange.create_market_order(symbol, side, amount, params=params)

sl_price = price – sl if direction == 'buy' else price + sl
tp_price = price + tp if direction == 'buy' else price – tp

exchange.create_order(symbol, 'take_profit_market', 'sell' if direction == 'buy' else 'buy',
amount, None, {'stopPrice': tp_price, 'closePosition': True})
exchange.create_order(symbol, 'stop_market', 'sell' if direction == 'buy' else 'buy',
amount, None, {'stopPrice': sl_price, 'closePosition': True})

while True:
try:
df = get_data()
action = signal(df)
if action:
price = df['close'].iloc[-1] atr = df['ATR'].iloc[-1] sl = atr * 1.5
tp = atr * 2
execute_trade(action, price, sl, tp)
time.sleep(60 * 5)
else:
time.sleep(30)
except Exception as e:
print(f"Error: {e}")
time.sleep(60)
„`

### ✅ Schritt-für-Schritt-Anleitung

1. **API-Schlüssel erstellen:**
Logge dich bei Binance ein → [API Management] → Neuen API-Key generieren → In das Skript einfügen.

2. **Script speichern & ausführen:**
Speichere obiges Skript z. B. als `bot.py` und führe es aus mit:
„`bash
python bot.py
„`

3. **Laufzeitumgebung:**
Lässt sich dauerhaft auf einem VPS oder Raspberry Pi laufen lassen. Empfohlen: `screen` oder `tmux` zur Hintergrundausführung.

4. **Risiken minimieren:**
Teste mit kleinem Kapital oder im Binance-Testnetz. Aktiviere 2FA, nutze IP-Restriktionen für API-Schlüssel.

**Disclaimer:** Keine Finanzberatung. Nur zu Bildungszwecken.