XRP gates rerun
Rerun of the XRP acceleration comparison: the MACD histogram must be past its threshold AND the move must still be underway, measured by a level gate (the side's own best bid) or a trailing-move gate (XRP's 5-minute change in the signal's direction), or both together. Everything else - 20 contracts, 99-cent ceiling, immediate-or-cancel, flat-position requirement, 25-cent per-fill stop, 10-cent profit target, cancel at 15 seconds left, and the 22:00-08:30 Eastern blackout - stays identical to the saved strategy so the added gate is the only thing being measured.
Historical research only. Not investment advice.
Comparison Results
XRP 15-Minute MACD Entries: Does a "Still Moving" Gate Help?
Short disclaimer
This is historical simulation research on Kalshi crypto markets. It is not investment advice, not a live track record, and not a promise of future results. One 30-day window, six variants, no sweep.
Intro / thesis
The saved XRP 15-minute strategy is simple. When XRP's 1-minute MACD histogram crosses past ±0.0004 on Coinbase, it buys 20 contracts on the corresponding side of the most-liquid KXXRP15M market, immediate-or-cancel, and manages the position with a 10-cent profit target and a 25-cent per-fill stop. Flat position required, five entries per market max, 99-cent ceiling, nothing traded 22:00–08:30 Eastern.
The open question from the earlier acceleration comparison was whether the histogram threshold alone lets in too many entries where the move has already spent itself. So this rerun keeps every mechanical detail identical and adds exactly one thing: a gate that asks whether the move is still underway. Two flavors of gate were tested. The level gate requires the side's own best bid to be at least 20 cents — a check that the contract itself is still priced like a live move rather than a dead one. The trailing-move gate requires XRP's 5-minute change to be at least ±0.05%, ±0.10%, or ±0.20% in the signal's direction. And one combined variant stacks the 20-cent bid gate with the 0.05% trailing gate. Six variants, all completed, all run over the same 30 days.
The thesis is narrow and falsifiable: if late, exhausted entries are the problem, a "still moving" gate should improve per-trade quality enough to beat the ungated baseline. That is what we went to check.
Variant and strategy explanation
All six candidates share the same skeleton, so the gate is the only thing being measured:
- Market: KXXRP15M, most-liquid selection.
- Entries: 20 contracts, immediate-or-cancel, only when flat. YES on histogram ≥ 0.0004, NO on histogram ≤ −0.0004.
- Exits: per-fill stop at purchase price minus 25 cents (gaps can sell lower; each fill is handled on its own), per-fill profit target at purchase price plus 10 cents before fees, and cancel-all at 15 seconds to expiry.
- Constraints: 0.01–0.99 price band, five entries per market max, blackout every day 22:00–08:30 Eastern. Exits are never blacked out.
- Loop: evaluates every 10 seconds.
What changed between variants:
- Baseline — the saved histogram entry, no gate at all. This is the control.
- Trailing 0.05% — histogram past threshold and XRP's 5-minute change at least +0.05% (or −0.05% for the short side).
- Trailing 0.10% — same, at ±0.10%.
- Trailing 0.20% — same, at ±0.20%.
- Level gate — histogram past threshold and the side's own best bid at least 20 cents.
- Combined — 20-cent bid gate plus the 0.05% trailing gate, both required.
Each successful variant is saved as a runnable Turbine strategy, so any of these can be inspected, re-run, or papered forward as-is.
Top results
Ranked by return on investment over the window:
| Rank | Variant | Trades | Win rate | Total P&L | ROI | Max drawdown | Sharpe |
|---|---|---|---|---|---|---|---|
| 1 | Trailing 0.20% | 884 | 71.8% | +134.02 | +660.2% | −66.81 | 0.27 |
| 2 | Trailing 0.10% | 1,034 | 71.2% | +90.57 | +201.4% | −104.34 | 0.16 |
| 3 | Trailing 0.05% | 1,071 | 70.9% | +78.86 | +163.0% | −92.27 | 0.13 |
| 4 | Combined (20c bid + 0.05%) | 1,041 | 71.3% | +50.10 | +83.6% | −100.16 | 0.08 |
| 5 | Baseline (no gate) | 1,155 | 68.5% | +12.50 | +13.7% | −104.32 | 0.01 |
| 6 | Level gate 20c bid | 1,108 | 69.7% | −5.20 | −5.6% | −112.29 | −0.02 |
The trailing-move gates are the story. All three beat the baseline, and the pattern is orderly: the stricter the gate, the fewer trades and the better the per-trade economics. The 0.20% variant cut 271 trades versus baseline and roughly tenfolded total P&L, with win rate up about three points and the smallest drawdown in the batch. The 0.10% and 0.05% gates sit in between, monotonic in the expected direction. That is the shape you'd hope to see if late, tired entries really were the problem.
A word on the ROI column. On the 0.20% variant, +134 of P&L shows as +660% ROI; on the 0.10% variant, +90.57 shows as +201%; on the baseline, +12.50 shows as +13.7%. Those percentages are not proportional to the P&L numbers, and the cause is not resolved here. Treat the dollar P&L, trade counts, win rates, and drawdowns as the comparable figures and the ROI percentages as labels I can't fully reconcile in this report. I'm flagging it rather than explaining it.
Bottom results
The level gate is the clearest loser. Requiring the side's best bid to be at least 20 cents left it with 1,108 trades, a 69.7% win rate — a touch better than baseline — and yet a negative result, −5.20 in total P&L, −5.55% ROI, and the worst drawdown in the batch at −112.29. The bid gate did not filter out exhaustion; it filtered by contract price, which is a different thing. A 20-cent-plus bid doesn't tell you the move is fresh, only that the crowd has already priced it, and you're paying up for it.
The baseline confirms it isn't broken, just thin. With no gate it cleared +12.50 over 1,155 trades at a 68.5% win rate — technically positive, effectively flat, with a −104.32 drawdown. The ungated strategy is a lot of activity for very little edge.
The combined variant is the interesting middle case. Stacking the 20-cent bid gate onto the 0.05% trailing gate produced +50.10 over 1,041 trades, well ahead of baseline but behind the 0.05% trailing gate alone (+78.86 on 1,071 trades). In other words, adding the bid gate cost P&L here. The combined variant has a higher win rate (71.3% vs 70.9%) and a slightly smaller drawdown (−100.16 vs −92.27 — actually larger; the drawdown was worse, sorry, not smaller). Let me restate that cleanly: the combined variant's win rate was marginally higher than the 0.05% trailing-only variant, its drawdown was slightly worse, and its total P&L was lower. The bid gate did not add value on top of the trailing gate in this window.
One more caution on the winner: the 0.20% variant's Sharpe of 0.27 is the best in the batch, but it is still a very low number. It is the best of six weak risk-adjusted readings, not evidence of a strong edge. And its profit came with a −66.81 drawdown along the way; the worst intra-window dip was roughly half the total P&L it ended up with.
Conclusion
The thesis held directionally, with a clear caveat. If the problem is entries where the move has already spent itself, the fix is the trailing-move gate, not the contract's own bid. All three trailing thresholds beat the ungated baseline, and the 0.20% gate produced the best P&L, highest win rate, smallest drawdown, and best Sharpe in the batch. The level gate did the opposite — it improved the win rate slightly and still lost money, which suggests "is the contract priced above 20 cents" is not a useful proxy for "is the move still alive." The combined variant sits between the two, and notably underperforms the trailing gate alone, so the bid gate looks like a drag rather than a filter.
Three things temper this. First, this is a single 30-day historical simulation with no parameter sweep and no permutation testing, so nothing here establishes robustness. A winner over one window can be noise. Second, most of the risk-adjusted numbers are weak across the board; the best Sharpe in the batch is 0.27, and calling that a good result would be overstating it. Third, the ROI percentages don't line up with the dollar P&L in a way I could reconcile, so I'd weight the dollar figures, trade counts, and drawdowns more heavily than the percentage column.
If there's a next step, it's out-of-sample and forward papering of the trailing-gate variants, not another in-sample threshold hunt.
Long disclaimer
This report is a historical simulation study. It was produced by Turbine for research and informational purposes only. It is not investment, financial, legal, or tax advice, and it is not a recommendation to buy or sell any security, contract, or derivative. Nothing in this document constitutes an offer or solicitation.
The results shown are simulated. They were
About this Kalshi strategy backtest
What question does XRP gates rerun investigate?
Rerun of the XRP acceleration comparison: the MACD histogram must be past its threshold AND the move must still be underway, measured by a level gate (the side's own best bid) or a trailing-move gate (XRP's 5-minute change in the signal's direction), or both together. Everything else - 20 contracts, 99-cent ceiling, immediate-or-cancel, flat-position requirement, 25-cent per-fill stop, 10-cent profit target, cancel at 15 seconds left, and the 22:00-08:30 Eastern blackout - stays identical to the saved strategy so the added gate is the only thing being measured.
Read the analysis alongside the individual variant results. Check which entry, exit, price-band or risk settings changed, which settings stayed fixed, and whether the report documents enough historical coverage to support its comparison. A different parameter value defines a different simulation; it does not establish a new source of live trading returns.
How many strategy variants are included?
This report lists 6 completed and 0 failed strategy variants. Failed comparisons do not count as successful tests with zero profit. Review trade counts and drawdown alongside net P&L, win rate and Sharpe, and read any coverage or execution caveats in the analysis. A result based on very few trades needs particular care, even when its return looks high.
Does a profitable Kalshi backtest predict live performance?
These are historical simulations. Live results can differ because of liquidity, fees, slippage, latency, market resolution, outages and data quality. Selecting the best result after comparing many variants can also overstate how reliably it will perform on new data. Compare nearby settings, inspect losing variants and test on a separate period before considering a live run. The report is research, not a promise of profit or investment advice.
How can I inspect or test a strategy from this report?
Use an available Open strategy link to inspect that variant. Review its rules, market, date window, fill assumptions, fees and trade history before changing parameters or rerunning it. Confirm which data and execution assumptions the selected market actually supports; a replay does not establish that every historical order could have filled live. For the workflow, read the Kalshi and prediction market backtesting guide. The Kalshi backtesting software page explains the product's supported testing workflow.
This report is generated from historical simulations. Backtests can be wrong or incomplete, and live trading can differ materially because of liquidity, fees, slippage, latency, market resolution, outages, and data quality. Do your own review before running any strategy.