Bitget Trading Bot, Futures Order funktioniert nichtPython

Python-Programme
Anonymous
 Bitget Trading Bot, Futures Order funktioniert nicht

Post by Anonymous »

Ich habe gerade eine Handelsstrategie herausgearbeitet und bin jetzt mit der Codierung eines Bots, um die Trades einfacher auszuführen. (Ja, ich kodiere mit Chatgpt, weil ich kein Vollzeitcodierer bin)
Hier ist der Fehler: < /p>
Fehler aufgeben, die die Bestellung platzieren: {"Code": "40009", "msg": "Signature -Fehler", "RequestTime": 1738701156172, "Daten": nul}} < /p> < /

Importieren von Anforderungen
Zeit
Importieren von HMAC
Hashlib
configParser
JSON < /p>
importieren

Code: Select all

# Lade die Konfiguration aus der config.ini Datei
config = configparser.ConfigParser()
config.read('config.ini')

api_key = config['bitget']['api_key']
secret_key = config['bitget']['secret_key']
passphrase = config['bitget']['passphrase']

# Bitget API Endpoints
BASE_URL = 'https://api.bitget.com'
END_POINT = '/api/mix/v1/order/placeOrder'

# Funktion zur Generierung der Signatur
def generate_signature(secret_key, message):
return hmac.new(secret_key.encode('utf-8'), message.encode('utf-8'), hashlib.sha256).hexdigest()

# Funktion zur Erstellung der Headers
def create_headers(api_key, secret_key, passphrase, request_path, body):
timestamp = str(int(time.time() * 1000))
message = timestamp + request_path + json.dumps(body, separators=(',', ':'))  # Wichtig: Keine Leerzeichen im JSON
signature = generate_signature(secret_key, message)
headers = {
'Content-Type': 'application/json',
'ACCESS-KEY': api_key,
'ACCESS-SIGN': signature,
'ACCESS-TIMESTAMP': timestamp,
'ACCESS-PASSPHRASE': passphrase
}
return headers

# Funktion zum Kauf von Bitcoin im Futures-Markt
def buy_bitcoin_futures(amount_usdt):
request_path = END_POINT
body = {
"symbol": "BTCUSDT_UMCBL",
"marginCoin": "USDT",
"side": "open_long",
"orderType": "market",
"price": "0",
"size": str(amount_usdt),
"timeInForce": "normal"
}
headers = create_headers(api_key, secret_key, passphrase, request_path, body)

response = requests.post(BASE_URL + request_path, headers=headers, json=body)

if response.status_code == 200:
print("Order erfolgreich platziert:", response.json())
return True  # Erfolg
else:
print("Fehler beim Platzieren der Order:", response.text)
return False  # Fehler

# Hauptfunktion
if __name__ == "__main__":
amount_usdt = 5  # 5 USDT
max_retries = 10  # Maximale Anzahl von Versuchen
retry_delay = 30  # Verzögerung zwischen den Versuchen in Sekunden

for attempt in range(max_retries):
print(f"Versuch {attempt + 1} von {max_retries}...")
success = buy_bitcoin_futures(amount_usdt)

if success:
break  # Erfolg, Schleife beenden
else:
print(f"Warte {retry_delay} Sekunden vor dem nächsten Versuch...")
time.sleep(retry_delay)  # Warte 30 Sekunden

if not success:
print("Maximale Anzahl von Versuchen erreicht. Order konnte nicht platziert werden.")
Wenn mir jemand dabei helfen könnte, wäre ich sehr dankbar

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post