[Mine-Q] Z-score reversion, low-vol regime

public
@djgambhir

BTCUSDT · 4h · 2022-01-022026-08-31 · 10,214 bars in 7.9ms

Underperformed the market. Holding BTCUSDT returned +67.45% over the same period, against this strategy’s -16.76%.

Net P&L
-16.76%
−$1,676.19
Max drawdown
-19.54%
Max run-up
+9.01%
Trades
229
53.3% win rate
Profit factor
0.83
2022-01-02drawdown · worst -19.54%2026-08-31
TrainingValidationOut-of-sample
SegmentPeriodReturnMax drawdownTradesWin rate
Training2022-01-022024-10-19-15.93%-17.31%14052%
Validation2024-10-192025-09-25+0.78%-4.81%4953%
Out-of-sample2025-09-252026-08-31-1.75%-4.69%4057%

Risk-adjusted

Sharpe
-0.55
Sortino
-0.75
Calmar
-0.20
Return ÷ max drawdown
-0.86
CAGR
-3.86%
Exposure
34.6%

Per trade

Expectancy
−$7.32 · -0.30%
Average win / loss
$67.37 / −$92.48
Payoff ratio
0.73
Largest win / loss
$199.52 / −$188.87
Longest losing streak(winning: 7)
6 trades

Drawdown over time

Max drawdown
-19.54%
Longest time under water(still going at the end)
1684 days
Worst drawdown recovered in
not recovered

Costs and mechanics

Fees paid
−$496.29
Funding
$57.31
Liquidations
0
Warmup bars(loaded before the start date)
112
Benchmark(buy and hold)
+67.45%

Monte Carlo

1,000 alternative histories, each 229 trades drawn at random from this run’s own. The bands hold the middle 50% and 90% of them; the solid line is what actually happened.

this runmedian of the historiesmiddle 50% · 90%
Unlucky (5%)TypicalLucky (95%)
Return-35.84%-17.21%+8.59%
Max drawdown-38.46%-23.55%-11.44%

89% of histories lost money, and 68% had a deeper drawdown than this run’s -19.54%. Assumes trades are independent; real losing streaks cluster, so the true spread is usually wider.

Settings

sma50 length
50
sd50 length
50
atr14 length
14
atrAvg length
100
Long entry: close < sma50 − (▢ × sd50)
2
Long entry: atr14 < ▢ × atrAvg
1.2
Short entry: close > sma50 + (▢ × sd50)
2
Short entry: atr14 < ▢ × atrAvg
1.2
Stop loss (× atr14)
3
Leverage (×)
1
Position size (% of equity)
25

BTCUSDT with every trade

Loading prices…
long opened short opened closed at a profit closed at a loss

Trades

229 trades · 201–229 shown

#SideEntryExitHeldP&LReturnClosed by
201short2026-01-02 12:00 @ 89,440.412026-01-05 00:00 @ 91,863.262d 12h−$57.29-2.76%stop loss
202short2026-01-05 04:00 @ 92,816.732026-01-08 08:00 @ 90,527.903d 4h$49.64+2.41%signal
203short2026-01-13 20:00 @ 94,160.762026-01-14 16:00 @ 97,494.5320h−$75.26-3.64%stop loss
204long2026-01-20 20:00 @ 89,712.042026-01-25 16:00 @ 86,592.664d 20h−$75.05-3.66%stop loss
205long2026-02-23 04:00 @ 64,907.082026-02-25 16:00 @ 67,348.932d 12h$74.41+3.66%signal
206short2026-03-16 04:00 @ 73,524.792026-03-18 16:00 @ 71,450.592d 12h$55.73+2.72%signal
207long2026-03-27 12:00 @ 66,676.632026-04-01 08:00 @ 68,638.174d 20h$59.26+2.87%signal
208short2026-04-06 00:00 @ 68,984.102026-04-07 20:00 @ 71,198.571d 20h−$68.39-3.29%stop loss
209short2026-04-08 00:00 @ 71,875.822026-04-14 12:00 @ 75,088.946d 12h−$94.87-4.60%stop loss
210short2026-04-14 16:00 @ 75,253.052026-04-20 00:00 @ 73,773.155d 8h$36.29+1.78%signal
211short2026-04-22 04:00 @ 77,472.902026-04-27 16:00 @ 76,775.355d 12h$15.36+0.75%signal
212long2026-04-29 20:00 @ 75,533.502026-05-01 12:00 @ 77,414.111d 16h$49.32+2.40%signal
213short2026-05-04 04:00 @ 80,262.642026-05-06 08:00 @ 82,563.302d 4h−$61.94-3.00%stop loss
214short2026-05-06 12:00 @ 82,468.802026-05-12 12:00 @ 80,758.856d$40.56+1.98%signal
215long2026-05-13 16:00 @ 78,810.462026-05-14 16:00 @ 81,229.351d$60.93+2.96%signal
216long2026-05-16 08:00 @ 78,349.972026-05-22 16:00 @ 75,799.596d 8h−$71.06-3.43%stop loss
217long2026-05-23 08:00 @ 74,588.112026-05-24 12:00 @ 77,274.041d 4h$71.46+3.47%signal
218long2026-05-28 00:00 @ 74,432.882026-06-01 12:00 @ 71,811.454d 12h−$76.89-3.71%stop loss
219long2026-06-01 16:00 @ 71,113.722026-06-02 12:00 @ 68,762.9720h−$70.49-3.43%stop loss
220short2026-06-15 00:00 @ 65,688.962026-06-18 12:00 @ 63,952.893d 12h$51.70+2.54%signal
221long2026-06-24 16:00 @ 60,266.952026-07-02 04:00 @ 61,020.697d 12h$21.55+1.05%signal
222short2026-07-03 12:00 @ 61,980.402026-07-06 20:00 @ 64,588.673d 8h−$86.86-4.23%stop loss
223short2026-07-10 12:00 @ 64,381.322026-07-13 04:00 @ 62,792.662d 16h$49.09+2.41%signal
224short2026-07-15 00:00 @ 65,001.602026-07-17 04:00 @ 63,550.712d 4h$44.63+2.18%signal
225short2026-07-21 08:00 @ 66,153.572026-07-23 20:00 @ 64,833.662d 12h$39.63+1.93%signal
226long2026-07-28 04:00 @ 63,322.662026-07-30 12:00 @ 64,753.952d 8h$43.67+2.11%signal
227long2026-07-31 16:00 @ 62,707.842026-08-03 20:00 @ 63,824.133d 4h$33.72+1.62%signal
228long2026-08-12 16:00 @ 63,433.982026-08-17 16:00 @ 64,156.975d$20.00+0.96%signal
229short2026-08-18 16:00 @ 64,810.942026-08-19 12:00 @ 66,104.9020h−$43.69-2.09%stop loss

How this was run

Orders fill at the next bar’s open, never at the close that produced the signal. When one bar’s range covered both the stop and the target, the stop was taken, because the data cannot say which came first. Fees, slippage and funding are all charged.

Warmup history was loaded from before 2022-01-01 so the requested window is fully tradable.

← Browse other results