Run battle-tested strategies out of the box, or build your own in Rust. Backtest on real tick data, sweep millions of parameter combos, monitor every fill from a live analytical dashboard.
One curl, no package manager, no setup. The script detects your OS and arch, pulls the matching signed binary, and drops tradectl on your PATH.
From backtesting to live deployment, shadow optimization, and AI-powered monitoring.
Run strategies 24/7 against Binance perpetual futures with the same engine our own production bots use. Survives flaky networks, partial fills, exchange quirks — nothing leaks, nothing leaves stranded positions.
Realistic fill simulation with slippage, maker/taker fees, partial fills, and SL delay. The in-memory exchange replays tick, trade, and kline streams through the exact runner that ships live, so backtest results match production behavior bit-for-bit. Zero-copy binary format loads months of tick data in microseconds.
Vectorized Structure-of-Arrays batch engine tests millions of parameter combinations on a single core — ~1000x throughput over sequential backtesting. Constraint filters prune dominated regions early, results rank by a composite score that blends PnL, trade frequency, and max drawdown, and the top runs export to CSV for promotion straight into live or shadow.
Paper-trade millions of parameter variants alongside your live strategy in real time — zero extra infrastructure, zero extra API calls. The market feed your live bot already consumes drives every shadow at once.
/shadow + dashboard ranking against your live PnL30+ commands cover everything: live positions, daily and monthly PnL breakdowns, per-coin attribution, session status, shadow rankings, pair rotation, and one-tap strategy stop / resume. Fills, TP/SL hits, and error pauses stream to your phone in real time, batched so you never get rate-limited.
Ask your bot questions in plain English via Telegram. Get trade explanations, performance summaries, and risk assessments from an AI agent with live data access.
Analyze backtests, paper trades, and live trades down to precise timestamps. Drill into individual fills, compare parameter runs, and inspect strategy behavior tick by tick.
Real metrics from live bots, streamed in real time straight from production.
Only bots whose operators explicitly opt in appear here — everything else stays on the trader's machine.
Loading…
Build your own strategy or pick one from the marketplace. Test it, optimize it, deploy it.
Write your own strategy in Rust with the SDK, or pick one from the marketplace. Backtest against historical data before risking real capital.
Set your parameters, run sweeps to find optimal settings, and shadow-test variants alongside live trading to validate performance.
Go live on Binance with one command. Track every trade via Telegram bot, real-time dashboard, or AI-powered explainer.
Devs write custom strategies in Rust with the type-safe SDK. Everyone else installs community strategies from the marketplace — the same ones the authors run live on their own capital, with public PnL curves, drawdown stats, and trade history you can audit before subscribing.
1 use tradectl_sdk::*; 2 3 declare_strategy!("dip_buyer", DipBuyer::new); 4 5 pub struct DipBuyer { tp: f64, sl: f64 } 6 7 impl DipBuyer { 8 pub fn new(p: &Params) -> Self { 9 Self { 10 tp: p.get("tp", 0.2), 11 sl: p.get("sl", 0.5), 12 } 13 } 14 } 15 16 impl Strategy for DipBuyer { 17 fn on_ticker( 18 &mut self, 19 t: &TickerEvent, 20 ctx: &StrategyContext, 21 ) -> Action { 22 if !ctx.positions.is_empty() { 23 return Action::Hold; 24 } 25 Action::PlaceEntry { 26 side: Side::Long, 27 price: Some(t.bid_price), 28 size: 100.0, 29 kind: OrderKind::Limit, 30 exits: vec![], 31 entry_id: None, 32 } 33 } 34 35 fn on_fill( 36 &mut self, 37 f: &FillEvent, 38 _: &StrategyContext, 39 ) -> FillResponse { 40 if !f.is_entry { 41 return FillResponse::default(); 42 } 43 let tp = f.price * (1.0 + self.tp / 100.0); 44 let sl = f.price * (1.0 - self.sl / 100.0); 45 FillResponse::with_exits(vec![ 46 ExitOrder::tp(tp), 47 ExitOrder::sl(sl), 48 ]) 49 } 50 51 fn name(&self) -> &str { "dip_buyer" } 52 }|
Backtests, parameter sweeps, paper trading, shadow optimization, the dashboard, and Telegram bot are free for everyone. Live trading on real money is gated behind closed-alpha access while we harden the engine with a small group of traders.
Everything except live trading. No card, no signup gate.
Run real strategies on real money. Your keys, your exchange.
Connect your exchange account. More integrations shipping continuously.
Install the CLI, backtest your idea, paper-trade it on live feeds — all free. Request live access once you've proven your strategy.