Bot Idee – 07.06.25, 09:52

**📈 Trading-Bot: „Breakout Scalper“ Strategie (Binance, Python)**
Diese Strategie nutzt **Breakout-Levels**, um schnelle Scalping-Trades auf Binance-Futures einzugehen. Kombination aus technischer Analyse (EMA + Range-Breakout) und Risikomanagement (ATR-basierter Stop-Loss).

### 🔧 Voraussetzungen

– Python 3.10+
– Binance-API-Key
– Binance-Futures-Freischaltung
– `pip install python-binance pandas ta`

### 📜 Python-Code (bot.py)

„`python
import pandas as pd
import time
from binance.client import Client
from binance.enums import *
from ta.trend import EMAIndicator
from ta.volatility import AverageTrueRange

API_KEY = „DEIN_API_KEY“
API_SECRET = „DEIN_API_SECRET“
SYMBOL = „BTCUSDT“
INTERVAL = Client.KLINE_INTERVAL_5MINUTE
QUANTITY = 0.001

client = Client(API_KEY, API_SECRET)

def get_data(symbol, interval, limit=100):
klines = client.futures_klines(symbol=symbol, interval=interval, limit=limit)
df = pd.DataFrame(klines, columns=[
„time“, „open“, „high“, „low“, „close“, „volume“, „_“, „_“, „_“, „_“, „_“, „_“
])
df[„close“] = df[„close“].astype(float)
df[„high“] = df[„high“].astype(float)
df[„low“] = df[„low“].astype(float)
return df

def signal_generator(df):
ema = EMAIndicator(df[„close“], window=20).ema_indicator()
atr = AverageTrueRange(df[„high“], df[„low“], df[„close“], window=14).average_true_range()
df[„ema“] = ema
df[„atr“] = atr
latest = df.iloc[-1] previous = df.iloc[-2]

long_cond = previous[„close“] latest[„ema“] short_cond = previous[„close“] > previous[„ema“] and latest[„close“] < latest["ema"] sl = latest["close"] – latest["atr"] if long_cond else latest["close"] + latest["atr"] tp = latest["close"] + 2 * latest["atr"] if long_cond else latest["close"] – 2 * latest["atr"]

if long_cond:
return "BUY", sl, tp
elif short_cond:
return "SELL", sl, tp
else:
return None, None, None

def place_order(signal, sl, tp):
try:
side = SIDE_BUY if signal == "BUY" else SIDE_SELL
order = client.futures_create_order(
symbol=SYMBOL,
side=side,
type=ORDER_TYPE_MARKET,
quantity=QUANTITY
)
entry_price = float(order['fills'][0]['price'])
sl_price = round(sl, 2)
tp_price = round(tp, 2)

client.futures_create_order(
symbol=SYMBOL,
side=SIDE_SELL if side == SIDE_BUY else SIDE_BUY,
type=ORDER_TYPE_STOP_MARKET,
stopPrice=sl_price,
closePosition=True
)
client.futures_create_order(
symbol=SYMBOL,
side=SIDE_SELL if side == SIDE_BUY else SIDE_BUY,
type=ORDER_TYPE_LIMIT,
price=tp_price,
quantity=QUANTITY,
timeInForce=TIME_IN_FORCE_GTC
)
except Exception as e:
print("Fehler beim Order:", e)

while True:
df = get_data(SYMBOL, INTERVAL)
signal, sl, tp = signal_generator(df)
if signal:
place_order(signal, sl, tp)
time.sleep(300)
„`

### 🚀 Installation & Anwendung

1. **Python & Pakete installieren:**
„`bash
pip install python-binance pandas ta
„`

2. **API-Schlüssel bei Binance erstellen:**
Unter [https://www.binance.com/en/my/settings/api-management](https://www.binance.com/en/my/settings/api-management)
Trage die Keys im Code ein (`API_KEY`, `API_SECRET`)

3. **Script starten:**
„`bash
python bot.py
„`

4. **Funktionsweise:**
– Holt alle 5 Minuten aktuelle Daten.
– EMA20-Schnitt löst Breakout-Trade aus.
– ATR wird als dynamischer Stop-Loss & Take-Profit genutzt.
– Orders werden automatisch inklusive SL/TP platziert.

**⚠️ Disclaimer:** Nur mit kleinem Kapital testen. Kein Live-Trading ohne Paper-Test. Marktvolatilität kann zu Verlusten führen.