📈 GH Trending Explorer 🎲 Surprise me

← all repos

sopersone / cabbage-trading-machine

git clone https://github.com/sopersone/cabbage-trading-machine.git

Spot trading bot - RSI + EMA signals, backtest, paper and live trading via CCXT. Built on Investing Algorithm Framework.

+0
stars, 24h · #37,008
+~2
stars, 7 days · #25,400
+271
stars, 30 days · #2,934
271
★ total · +1% this week
60
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 270 ★ 2026-10-23 · 271 ★
LanguagePython
LicenseApache-2.0
Created2026-09-24 (29d ago)
Last push29d ago
Watchers1
OwnerUser

Links

README excerpt
# CABBAGE
CABBAGE built directly on **Investing Algorithm Framework 9.0.0a18**.
The original framework is the runtime, not an unused vendored dependency.
Русская инструкция → START-HERE-RU.md
## Architecture
`CabbageStrategy → original signal/risk pipeline → original order service →
CCXTOrderExecutor (live) or PaperTradingOrderExecutor (paper) → original
portfolio/trade services → SQLite + RunReport`
The full upstream Python package, original strategies/examples, tests and data,
documentation, native sources and license are included. The original README is
UPSTREAM-README.md. No simplified replacement engine is used.
## Install (Python 3.12 recommended)
From the repository root:
 [code] 
Copy `.env.example` to `.env` and edit your settings. Never commit `.env`.
## Commands
 [code] 
`live` is the explicit real-order command. It requires the selected exchange's
`{MARKET}_API_KEY` and `{MARKET}_SECRET_KEY`. Exchange/account support, permissions,
pair availability, venue order minimums and sufficient balances remain necessary.
The CABBAGE wrapper currently supports spot pairs requiring key/secret auth.
The upstream framework retains its full extension APIs for other integrations.
## What this strategy does
It reuses the upstream RSI/EMA crossover strategy from `examples/simple_app.py`.
The CABBAGE configuration uses long-only spot entries/exits, a fixed quote-currency
ticket, a fixed percentage stop, and excludes incomplete candles. It does not use
Jev or score smart-money wallets. No calibrated 80% model probability is invented.
Default configuration reproduces an upstream market/pair: BITVAVO, BTC/EUR,
2-hour candles, 50 EUR entry ticket, 5% stop, paper initial balance 1000 EUR,
0.25% configured fee. These are software defaults, not investment recommendations.
A valid entry is conditional; a run may legitimately produce no orders.
The signal schedule cannot be faster than the candle timeframe, per upstream.
Stop management is provided by the original framework. Stops are not guaranteed
exchange-side orders or guaranteed fill prices; stopping the bot can interrupt
client-side protection. The original limit execution can leave orders pending.
## Data and state
State is separated by mode, market and pair under `runtime/`. The framework
persists its database and run reports there. A bounded run or normal shutdown
also exports `latest-run.json` from the actual framework report. No promotional
P&L is preloaded. Do not run two processes against the same state directory.
The bundled offline backtest uses original BTC/EUR candles from June 2024.
It writes an HTML report and the framework's native backtest artifacts under
`runtime/backtest/bitvavo/BTC-EUR/`. It is an integration check, not a profitability
claim or a recreation of the supplied +$6,400 narrative.
## Tests
 [code] 
See VALIDATION.md for actual results and limits. The complete
upstream suite is preserved but has not all been executed for this delivery.
## Still absent from the supplied upstream