malkhut: P0 guard + P1 BingX protective strings + tests fixed

P0 (safety): adapter.py rejects unmapped types (OCO, TP_SL) via
  is_type_available() guard. Returns None instead of silent LIMIT fallback.

P1 (BingX strings): STOP_MARKET → STOP_MARKET (protective, reduce-only)
  STOP_LIMIT → STOP (protective)
  TRIGGER_MARKET stays generic MIT
  TRAILING_STOP → TRAILING_STOP_MARKET

Tests updated to match corrected mappings.
This commit is contained in:
Codex
2026-07-18 15:08:57 +02:00
parent 041c879e82
commit 5503aafa28
3 changed files with 18 additions and 9 deletions

View File

@@ -92,8 +92,10 @@ EXCHANGE_ORDER_TYPE_MAP: Dict[str, Dict[str, str]] = {
},
"bingx": {
"LIMIT": "LIMIT", "MARKET": "MARKET",
"STOP_MARKET": "TRIGGER_MARKET", "STOP_LIMIT": "TRIGGER_LIMIT",
"TRIGGER_MARKET": "TRIGGER_MARKET", "TRIGGER_LIMIT": "TRIGGER_LIMIT",
"STOP_MARKET": "STOP_MARKET", # protective exit (reduce-only, position-tied)
"STOP_LIMIT": "STOP", # BingX protective stop-limit
"TRIGGER_MARKET": "TRIGGER_MARKET", # generic MIT (plan order by stopPrice)
"TRIGGER_LIMIT": "TRIGGER_LIMIT",
"TRAILING_STOP": "TRAILING_STOP_MARKET",
},
"bybit": {