BTCUSDT

CompletedLoses to BTCUSDT B&H· α -118.23%

MarketMakerTest6/4/2026, 12:42:29 PM

BTCUSDT | 1001MarketMakerTest.json | 2023-01-01 - 2023-12-31 | +36.24% | 1194404 trades | 62% WR

Final Value
136239.87 USDT
Return
+36.24%
Profit
+11,721.62 USDT
Trades
1194404
Win Rate
62.0%
Open Orders
6198
Best Trade
+0.036485 USDT
Worst Trade
-0.010438 USDT
Max Drawdown
-15.94%
Profit Factor
5.74
Sharpe
1.20
Wins / Losses
740584 / 453820
TP / SL / TSL
1194404 / 0 / 0
Total Fees
18174.19 USDT
Max Streak W/L
344 / 192
Hold P50 / P95
56m / 3.4d

BTCUSDT Backtest – unCoded Crypto TradingBot

Strategy: MarketMakerTest | Period: 2023-01-01 to 2023-12-31 | Starting Capital: 100,000.00 USDT | Final Value: 136,239.87 USDT | Return: +36.24% | Trades: 1,194,404 | Win Rate: 62.0% | Best Trade: 0.0365 USDT | Worst Trade: -0.0104 USDT | Total Profit: +11,721.62 USDT | Max Drawdown: -15.94% | Profit Factor: 5.74 | Sharpe Ratio: 1.20 | Total Fees: 18,174.19 USDT

Detailed Summary

Backtest BTCUSDT (Mode: 1001MarketMakerTest.json) Period: 2023-01-01 00:00:01 to 2023-12-31 23:59:59 Starting balance: 100,000.00 USDT Final value: 136,239.87 USDT P&L: +36,239.87 USDT (+36.24%) Result: PROFIT Completed trades: 1194404 Open orders at end: 6198 Win rate: 62.0% Avg. profit/trade: 0.009814 USDT Best trade: 0.036485 USDT Worst trade: -0.010438 USDT Total profit (trades only): 11,721.623203 USDT Max drawdown: -15.94% Profit factor: 5.74 Sharpe ratio: 1.20 Total fees: 18,174.19 USDT Avg hold time: 32.2h TP / SL / TSL: 1194404 / 0 / 0 Strategy parameters: Buy trigger: -0.0025% from last buy Buy splits: 10 Sell targets: [0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5] Investment per buy: 100.0 USDT Fees: maker 7.5 bps / taker 7.5 bps Elapsed: 4486.1s

Strategy Configuration – MarketMakerTest
Buy Trigger: -0.0025%
Buy Splits: 10
Investment/Buy: 100 USDT
Start Balance: 100,000.00 USDT
Percent Mode: No
Free Quote %: 100.00%
Min Investment/Quote: 1 USDT
Min Quote Balance: 1 USDT
Can Buy: Yes
Can Buy Up: Yes
Can Buy Down: No
Can Sell: Yes
Stop Loss: No
Maker Fee: 7.5 bps
Taker Fee: 7.5 bps
Assumed Spread: 0 bps
Fees in Quote: Yes
Tick Size: 0.01
Step Size: 0.00001
Min Notional: 5
Intrabar Mode: OLHC
Order Latency: 2s
Cooldown: 1
Sell Activate Dist: 0.0001%
Sell Cancel Dist: 0.16%
Sell Zones (10):
+0.05% → 10%+0.1% → 10%+0.15% → 10%+0.2% → 10%+0.25% → 10%+0.3% → 10%+0.35% → 10%+0.4% → 10%+0.45% → 10%+0.5% → 10%

Performance Analysis

The MarketMakerTest configuration produced a 36.24% return on BTCUSDT in the tested window. This is a positive single-window result; a like-for-like comparison against buy-and-hold of BTCUSDT over the same dates is required to judge whether the strategy added value beyond the underlying price move.

About BTCUSDT: Bitcoin is the highest-cap and least volatile of the major crypto pairs. Backtests on BTC tend to produce smoother equity curves but also lower percentage returns than altcoins — the trade-off is reduced tail risk.

The 62.0% closed-trade win rate on 1,194,404 closed BTCUSDT trades sits in the comfortable range — frequent wins keep equity curves smooth and reduce psychological drawdown when running MarketMakerTest live. This figure covers closed trades only and **excludes 6,198 orders** that were still open at the end of the window.

At roughly 3272.3 BTCUSDT trades per day this is a high-frequency configuration — fee drag and slippage assumptions become critical when extrapolating to live trading on Binance Spot.

The trade payoff distribution is positively skewed — outsized winners drove the bulk of the result, which is characteristic of trend-capturing modes. Best single trade: 0.0365 USDT. Worst: -0.0104 USDT. Average per trade: 0.0098 USDT.

Risk profile (closed trades only): Per-trade exposure was minimal — the worst closed trade only cost 0.00% of starting capital. That low-risk-per-trade footprint is the signature of a tightly-sized configuration; expect smoother equity curves but also slower compounding in strong trend regimes. Best single trade contributed +0.00% to the account, giving a best-vs-worst ratio of roughly 3.50:1 between the extreme closed trades. Note: this is a closed-trade statistic — open positions and unrealized PnL are not included.

Configuration analysis: The MarketMakerTest configuration entered on a 0.0025% pullback signal across 10 potential buy splits at 100 USDT each. Total deployable notional is therefore 1000 USDT — a position-sizing footprint that is defensive at 1% of starting capital — most of the account stays in stablecoins as buffer. No hard stop-loss is configured — the strategy relies on take-profit zones and trailing logic instead, which trades smoother behaviour for higher tail-risk in sustained downtrends. Profit is taken in 10 laddered sell zones, which scales out gradually rather than betting on a single exit price — a structure that smooths returns at the cost of capping the very best winners. Maker/taker fees totalling 15 bps were deducted from every fill, so the headline 36.24% is already net of trading costs — no additional fee adjustment is required when comparing to other runs.

Over the configured 365-day window the strategy reported 11721.62 USDT of realised trade profit on a 100000 USDT starting balance, ending at a portfolio value of 136239.87 USDT. Mechanically annualising the 36.24% window return projects to roughly +36.2% per year — the window covers roughly one full year, so the annualised figure is closer to the realised pace than to an extrapolation, but a single year still represents a single market regime. Treat this number as a unit-conversion of the window result, not as an expected forward return.

Methodology & data

This backtest was executed on historical Binance Spot candles for BTCUSDT at a base resolution between 1 second and 1 minute (1-second for liquid pairs, 1-minute where finer data is unavailable), with intrabar fill simulation in "OLHC" mode and a synthetic order latency of 2s applied to each fill to approximate real-world routing delay. The simulator processes each base candle sequentially, evaluates the MarketMakerTest rule set, and books fills against the next available bar, a standard event-driven backtesting approach that avoids look-ahead bias. Equity is marked-to-market on every closed trade and aggregated into the equity curve shown above.

Configured backtest window: approximately 12.0 months (365 days from `config.from` to `config.to`) of BTCUSDT price action at 1-second to 1-minute resolution — a sample size that is large enough to span multiple short-term regimes. Note: the equity series may cover fewer days if the engine omits leading or trailing flat periods (e.g. dates before the asset began trading); see the Overview section for the exact equity-coverage span.

Live trading considerations

Translating this result to live trading: BTCUSDT is a deeply-liquid USDT-quoted pair on Binance, so the simulated fills here translate well to live execution at retail size. The high trade frequency means cumulative slippage and exchange-side latency will erode a few percent of the headline return over a full year — budget for that gap. Without a hard stop-loss, the live system depends on the take-profit ladder firing during recovery legs; a prolonged downtrend without recovery will hold positions open longer than backtest aggregates suggest. Additionally, exchange downtime, API rate limits, and funding-rate changes (on perp variants) are not modelled here and should be accounted for in production deployment.

Frequently asked questions

Is a 36.24% return on BTCUSDT a good backtest result?
Not on its own. The 36.24% return looks strong in isolation, but simply holding BTCUSDT over the same window returned +154.47%, so this configuration underperformed buy-and-hold by -118.23% (negative alpha). A high headline return is not a good result when holding the coin would have done better.
What does the 62.0% win rate mean here?
It means 62.0 out of every 100 closed trades ended profitable. Frequent wins are emotionally easier to operate but say nothing about size — one large loss can offset many small wins.
What is the annualised return for this BTCUSDT backtest?
This backtest already covers about a full year (365 days), so the annualised figure is essentially the total return of 36.24% itself, not a projection. A single year is not predictive of future years.
Can I run this exact MarketMakerTest configuration live?
The configuration shown in the Strategy Configuration block is the same JSON schema the live unCoded TradingBot consumes, so it can be loaded into a live instance. That is a technical compatibility statement, not a recommendation: a passing backtest is necessary but not sufficient evidence that a configuration will be profitable in live trading. Before any live use, validate on an out-of-sample window, paper-trade it, confirm exchange-side fees match the simulated 7.5/7.5 bps, and start with a position size well below the backtested capital to absorb live slippage and execution differences.
How is this backtest different from others on BTCUSDT?
Every run on the platform uses the same intrabar-fill engine and historical Binance Spot data, so the comparison is apples-to-apples. What differs between runs is the MarketMakerTest parameter set (buy trigger, sell zones, splits, stop-loss) and the time window — both are visible above so you can rerun, tune, or fork this configuration.

This interpretation is generated deterministically from this run's own metrics. Past performance is not indicative of future results — a profitable backtest is necessary but not sufficient evidence that a strategy will work in live trading on BTCUSDT.

Loading equity data...

Daily Summary

Loading daily summary...