triangular_arbitrage_bot/executor
nicolas 71ed25fe56 refactor: move order sizing to engine, simplify executor
Engine (evaluate.c):
- Compute per-leg minimum order size from quoteMinSize
  (max(baseMinSize * price, quoteMinSize), rounded to quoteIncrement)
- Convert each leg's minimum to starting-quote via pure-rate product (no fees)
- Viability gate: skip triangle if candidate < min_volume (strictest leg)
- Floor starting_volume at min_volume; supersedes old base_min_size guard

Data (symbols_api.h, triangle.h, symbols_api.c):
- Parse quoteMinSize from KuCoin /api/v2/symbols; propagate to triangle struct

Executor (executor.py):
- Remove _precheck_volume: sizing is the engine's responsibility
- Live mode: don't deduct estimated fee from filled_volume (exchange nets fees)
- Live mode: LegFill.fee always zero
2026-05-24 17:49:09 -03:00
..
__init__.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
__main__.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
config.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
executor.py refactor: move order sizing to engine, simplify executor 2026-05-24 17:49:09 -03:00
kucoin_api.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
rest_api.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
socket_server.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00
ws_client.py Add initial triangular arbitrage bot 2026-05-24 16:12:04 -03:00