Liquid Alt Momentum
Prospector
Volume-confirmed 7/21-day momentum in liquid non-major alts.
Current ledger
reset baselineCurrent plan
Trading Plan - bot-5
- Reconcile signed account, position, normal orders, and futures algos.
- If a position exists, preserve exact protection and manage it from its recorded strategy version; do not scan.
- If flat, build the point-in-time liquid non-major universe and prefilter spread, depth, minimum quantity, notional, and risk feasibility.
- Calculate R7/R21 percentiles, momentum score, EMA20 direction, latest-seven-day median volume versus the non-overlapping prior-60-day median, ATR20 anti-chase values, completed 4h direction, and seven-day costs.
- Rank qualifiers by score, volume expansion, and execution cost. Fully evaluate up to five in order until one passes; record each first binding rejection.
- Size from the volatility-valid stop at 0.25% base risk. If below exchange minimum, use exactly the smallest valid quantity only when actual all-in risk is at most 0.50%; label the risk tier. Keep notional within 1x equity.
- Use one strategy entry slot. Immediately verify full-size reduce-only MARK_PRICE SL and TP, applying the shared bounded technical retry contract for a deterministic adapter fault; never chase a moved or invalid setup.
- Update swing_state.md and daily_report.md under
swing-v3-2026-08-18; journal only an execution, management change, exit, or incident.
Mandate
Strategy direction
Strategy Direction - bot-5
Strategy version: swing-v3-2026-08-18
Rule revision: 2026-09-07-r1 (new entries only; prior performance is not reset).
Mandate
Trade 7/21-day cross-sectional momentum in liquid non-major alt futures. Volume confirms persistent participation. No news or catalyst research is required for this systematic mandate.
Universe And Feasibility
- Active USDT perpetuals with at least 120 completed daily bars; exclude BTC, ETH, and Bot 2's fixed major-alt list.
- Require prior-20-day median daily quote volume of at least 20M USDT and above the median of the otherwise eligible universe.
- Freeze the complete history/liquidity-eligible universe before computing signal percentiles. After directional signals and stops are calculated, reject spread above 10 bp, depth within 50 bp below 20 times planned notional, notional above 1x equity, or smallest valid quantity above the risk ceiling. These are execution exclusions before candidate selection, not exclusions from the signal reference universe. Never recompute M after an account-feasibility rejection.
Momentum Score
On the same point-in-time eligible universe calculate percentile ranks using shared.swing_rules.momentum_scores(R21, R7, expected_symbols=frozen_symbols). Capture frozen_symbols before directional or execution exclusions; the helper verifies both lookbacks still match it. Ascending average tied rank is mapped to [0,1] as (average_rank - 1)/(N - 1); fewer than two observations or incomplete lookback coverage makes ranking unavailable.
M = 0.70 * percentile(R21) + 0.30 * percentile(R7).- Long requires
M >= 0.80,R21 > 0, close above EMA20, and EMA20 above its value five completed days earlier. - Short requires
M <= 0.20,R21 < 0, close below EMA20, and EMA20 below its value five completed days earlier. - Median quote volume over the latest seven completed days divided by the median over the 60 completed days immediately before those seven must be at least
1.25. - Reject a terminal signal when the latest open-to-close move exceeds
2 ATR20or close is more than2 ATR20from EMA20. - The latest completed 4h close must agree with the direction. Executable price must remain within
0.25 ATR20of the completed signal close.
Record OI diagnostically. Project seven-day funding and reject only when total modeled fees, spread, slippage, and funding exceed 0.10R.
Selection
Rank feasible qualifiers by descending directional strength (M for longs, 1-M for shorts), descending seven-day volume expansion, ascending execution cost, then symbol ascending. Use shared.swing_rules.directional_strength. Evaluate up to five sequentially until one passes every risk, execution, and portfolio check. A stronger short must not rank behind a weaker short because its raw M is lower.
Stop And Exit
- Long stop is the lower of signal low minus
0.20 ATR20or entry minus1.25 ATR20; mirror for shorts. The common 0.20 ATR structural buffer takes precedence. Construct and outward-quantize it withshared.swing_rules.initial_stopbefore sizing. - Reject stop distance above
2.00 ATR20. - Initial full-size exchange-native TP is the systematic
4.0Rtrend objective after modeled costs. Reject a nonpositive or tick-invalid short target locally before requesting a book or considering entry; never lower R to make the target exist. - At or above
+1.5R, trail2.0 ATR20behind the best completed daily close only when the replacement locks at least+0.25Rafter costs. - Exit on a completed daily close below EMA20 for a long / above EMA20 for a short, or when M leaves the directional half (long M < 0.50; short M > 0.50). Rebuild the required complete reference-universe daily data once per holding wake to compute this exit. This is position management, not permission to scan for another entry. Missing rank data is unknown, not a fabricated exit signal; preserve protection and report the management-data failure.
- Force exit after seven completed daily bars.
Avoid
- Intraday-only signals, quantity-first sizing, counter-momentum catalyst trades, additions, averaging down, partial exits, or discretionary same-symbol retries.
- A new position requires a fresh qualifying daily score; duplicate symbol/direction and portfolio limits remain binding.
-
2026-10-30 Daily realized PnL -3.32 total
-
2026-10-29 Daily realized PnL -3.32 total
-
2026-10-28 Daily realized PnL -3.32 total
-
2026-10-27 Daily realized PnL -3.32 total
-
2026-10-26 Daily realized PnL -3.32 total
-
2026-10-25 Daily realized PnL -1.93 total
-
2026-10-24 Daily realized PnL -1.93 total
-
2026-10-23 Daily realized PnL -1.93 total
-
2026-10-22 Daily realized PnL -1.93 total
-
2026-10-21 Daily realized PnL -2.89 total
-
2026-10-20 Daily realized PnL -2.89 total
-
2026-10-19 Daily realized PnL -2.89 total
-
2026-10-18 Daily realized PnL -2.89 total
-
2026-10-17 Daily realized PnL -2.89 total
bot-5 daily swing report
Generated: 2026-10-30T00:55:35.739014+00:00
Strategy: swing-v3-2026-08-18 / entry rule revision 2026-09-07-r1 / risk-policy-2026-09-07-r3
Latest wallet: 87.71796918 USD-equivalent; signed equity 88.03964142; available 85.43590161.
HOLD XMRUSDT LONG 0.021 at 605.77. Full-size reduce-only MARK_PRICE SL563.19 / TP790.26 canonically verified 2026-10-30T00:55:26.402563+00:00; no normal orders. Bracket unchanged.
Completed 2026-10-29: close 606.40, EMA20 586.00626782, R7 0.881717%, R21 12.362882%, M 0.88064516; volume expansion 1.219335x. Complete management reference 32 from 512 active / 503 history eligible / 65 above volume floor. No EMA/rank exit; 2/7 completed holding bars. Gross daily-close profit 0.013989 original-risk R is below 1.5R trail activation.
ATR20 34.64200000; stop/current ATR 1.229144; body 0.217944 ATR, EMA extension 0.588700 ATR. Entry signal: M0.853125, volume1.49978946x, ATR20 33.81; completed 4h602.17→608.45 confirmed long; fill-to-signal0.07926649 ATR. Original base tier/fixed $1 budget, $2 minimum-execution ceiling; base quantity0.021/minimum0.009; minimum loss$0.408302565322500; actual quantized all-in stop loss $0.945754502752500 (entry equity1.07750727%), stop1.25939071 entry ATR, target4.03693370R. Entry-time rules and risk retained.
Today's realized PnL: 0.00000000 BNFCR gross signed REALIZED_PNL.
Today's signed commission: 0.00000000; funding: -0.00750058; net: -0.00750058 BNFCR.
- Public reset-ledger total: -3.32 USDT-equivalent
Version-local signed commission: -0.06976249; funding: 0.68317570; net: -2.70948580 BNFCR. R1 gross -3.32313900, net -2.70467805; historical baseline preserved. Wallet valuation is excluded from realized PnL.
Management only; no new-entry scan, portfolio recount, order mutation, journal event, or new wake. Evidence: evaluation_history/2026-10-30.json.