mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-11 09:18:08 +00:00
Feat/support binance (#22)
* add docs * Add Binance exchange support - Updated the environment configuration to include Binance as a selectable exchange option. - Enhanced the README documentation to reflect the addition of Binance. - Implemented the Binance exchange adapter and integrated it into the existing exchange framework. - Modified the basis arbitrage strategy to support Binance alongside existing exchanges. - Added tests to ensure proper functionality and integration of Binance within the trading system. * Enhance README with detailed Binance exchange configuration - Added comprehensive instructions for setting up Binance as an exchange option. - Included environment variable specifications for API keys, market types, and trading symbols. - Provided examples for both perpetual and spot trading strategies. - Clarified the use of WebSocket and REST for the Binance adapter. * Enhance exchange support and testing framework - Added a new test suite for exchange contracts to ensure consistency and functionality across supported exchanges. - Refactored exchange ID handling to utilize a centralized list of supported exchanges, improving maintainability. - Updated CLI argument parsing and help documentation to reflect the new exchange structure. - Introduced utility functions for validating supported exchanges and their display names. - Enhanced the BasisApp and strategy runner to leverage the new exchange validation logic. - Added a new test command for running exchange-related tests. * Refactor exchange contract tests and update CLI commands - Removed the trailing supported exchanges set and simplified the logic for trailing stop support in the exchange contract tests. - Updated the test command for exchange contracts to exclude unnecessary tests, streamlining the testing process. - Enhanced test descriptions for clarity and improved understanding of the functionality being tested.
This commit is contained in:
+33
-1
@@ -82,7 +82,7 @@ The script installs Bun, project dependencies, collects Aster API credentials, g
|
||||
|
||||
| Variable | Purpose |
|
||||
| --- | --- |
|
||||
| `EXCHANGE` | Choose the venue (`aster` / `standx` / `grvt` / `lighter` / `backpack` / `paradex` / `nado`) |
|
||||
| `EXCHANGE` | Choose the venue (`aster` / `binance` / `standx` / `grvt` / `lighter` / `backpack` / `paradex` / `nado`) |
|
||||
| `TRADE_SYMBOL` | Contract symbol (defaults to `BTCUSDT`) |
|
||||
| `TRADE_AMOUNT` | Order size in base asset units |
|
||||
| `LOSS_LIMIT` | Max per-trade loss in USDT before forced close |
|
||||
@@ -108,6 +108,38 @@ The script installs Bun, project dependencies, collects Aster API credentials, g
|
||||
3. Adjust `TRADE_SYMBOL`, `PRICE_TICK`, and `QTY_STEP` to match the requested market.
|
||||
4. The bootstrap script auto-populates these variables; manual installs must maintain them.
|
||||
|
||||
### Binance
|
||||
1. Set `EXCHANGE=binance`.
|
||||
2. Provide `BINANCE_API_KEY` and `BINANCE_API_SECRET`.
|
||||
3. Set market mode via `BINANCE_MARKET_TYPE`:
|
||||
- `perp`: perpetual futures (default)
|
||||
- `spot`: spot market
|
||||
- `auto`: resolve by symbol (not recommended when both spot/perp share the same symbol)
|
||||
4. Set `BINANCE_SYMBOL` (or fallback to `TRADE_SYMBOL`):
|
||||
- Perp recommended: `BTCUSDT_PERP` (or `BTCUSDT` with `BINANCE_MARKET_TYPE=perp`)
|
||||
- Spot recommended: `BTCUSDT` (also accepts `BTCUSDT_SPOT`)
|
||||
5. For Basis arbitrage on Binance, explicitly split legs:
|
||||
- `BASIS_FUTURES_SYMBOL=BTCUSDT_PERP`
|
||||
- `BASIS_SPOT_SYMBOL=BTCUSDT`
|
||||
6. Optional sandbox/custom endpoints:
|
||||
- `BINANCE_SANDBOX=true`
|
||||
- `BINANCE_SPOT_REST_URL` / `BINANCE_FUTURES_REST_URL`
|
||||
- `BINANCE_SPOT_WS_URL` / `BINANCE_FUTURES_WS_URL`
|
||||
|
||||
> The Binance adapter is WS-first by default (depth/ticker/kline/account/order streams), with REST used only for reconciliation and fallback.
|
||||
>
|
||||
> In spot mode, some derivatives-only protective order capabilities are exchange-limited, and the strategy will degrade gracefully based on venue capabilities.
|
||||
|
||||
**Example (perp maker)**
|
||||
```bash
|
||||
EXCHANGE=binance BINANCE_MARKET_TYPE=perp BINANCE_SYMBOL=BTCUSDT_PERP bun run index.ts --strategy maker
|
||||
```
|
||||
|
||||
**Example (spot grid)**
|
||||
```bash
|
||||
EXCHANGE=binance BINANCE_MARKET_TYPE=spot BINANCE_SYMBOL=BTCUSDT bun run index.ts --strategy grid
|
||||
```
|
||||
|
||||
### StandX
|
||||
|
||||
* [StandX Maker Points Strategy Guide](docs/standx/maker-points-guide.md)
|
||||
|
||||
Reference in New Issue
Block a user