Heute haben wir das Projekt jhonwick547/trading_bot auf dem Tisch.
Auf den ersten Blick wirkt es wie ein ernsthafter Erfolgskandidat. Ein automatisierter Trading-Bot für Binance, geschrieben in Python. In Wirklichkeit ist es eine Anleitung, wie man keine Finanzsoftware schreibt. Wenn Sie das auf einem echten Konto ausführen, wird der Markt Sie verschlingen.
Was ist der Albtraum? 🤡
1️⃣Schrödingers Machine Learning
Im Code wird stolz
sklearn importiert und ein Modell geladen:self.model = joblib.load(model_path)Aber in der Methode
generate_signals... wird es nirgendwo verwendet. 🤡Signale werden durch eine Reihe von
if-Anweisungen auf Fünftklässler-Niveau generiert: „Wenn RSI < 60 und MACD steigt – kaufen.“Wozu der Random Forest? Wahrscheinlich, damit der Lüfter des Laptops überzeugender brummt.
2️⃣ Tödliches Rennen
Schauen wir uns die Funktion
execute_trade an.1. Der Bot sendet eine Market-Order (
create_market_buy_order).2. Der Bot versucht, Stop Loss und Take Profit mit separaten Anfragen zu setzen.
Die Millionenfrage: Was passiert, wenn zwischen Schritt 1 und 2 Ihre Internetverbindung abbricht, das Skript abstürzt oder Binance einen API-Fehler zurückgibt?
Antwort: Sie bleiben mit einer offenen Position ohne Stop-Loss zurück. Eine Kerze in die falsche Richtung – und tschüss, Liquidation.
In normalen Systemen verwendet man OCO-Orders (One Cancels the Other) oder sendet ein Order-Gitter als Batch, sodass Einstieg und Stop atomar sind (oder zumindest so nah wie möglich beieinander).
3️⃣ Mathematik, die nicht funktioniert
Die Funktion zur Berechnung der Positionsgröße
calculate_position_size:risk_amount = balance * self.balance_pct # 10% des Depots
position_size = risk_amount / (entry_price - stop_loss)Der Autor verwechselt das Risiko pro Trade mit dem Einstiegsvolumen.
Wenn
entry_price nahe an stop_loss liegt, geht der Nenner gegen Null und die Positionsgröße schießt in den Himmel. Es gibt ein min(), aber die Logik der Volumenberechnung aus einem festen Risiko ist falsch umgesetzt. Am Ende riskieren Sie entweder Peanuts oder Ihr ganzes Depot, je nach Volatilität.4️⃣ Doppelte Arbeit
In der Schleife
start_trading lädt der Bot Kerzen herunter (fetch_data) und berechnet Indikatoren, um das Signal zu prüfen.Wenn ein Signal vorliegt, ruft er
execute_trade auf, wo... erneut Kerzen heruntergeladen und Indikatoren berechnet werden.Wahrscheinlich, damit Binance Sie schneller wegen überflüssiger Anfragen per IP bannt.
5️⃣ Hartcodierte Schlüssel
In
if __name__ == "__main__": sollen die Schlüssel direkt in den Code geschrieben werden.api_key = 'YOUR_API_KEY'Niemals. Hören Sie? Niemals speichern Sie Geheimnisse im Code. Verwenden Sie
.env.👨🏻⚖️ Urteil:
Äußerlich sieht es wie ein Trading-Bot aus, aber im Kern ist es ein Generator für zufällige Verluste.
#Code_braten
Kommentare
0Noch keine Kommentare.
Melde dich an, um mitzudiskutieren.