Liquid Channel Breakout
Comet
Liquid 20-day channel breakouts; a later retest is optional.
Current ledger
reset baselineCurrent plan
Trading Plan - bot-3
- 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, form the point-in-time top-20 liquid universe and prefilter spread, depth, exchange quantity, and risk feasibility before ranking.
- Calculate the completed 20-day channel break, signed 60-day return, volume ratio, close location, ATR20, completed 4h hold, funding cost, and live distance from the channel.
- Rank qualifiers by volatility-adjusted 60-day return, volume ratio, and execution cost. Fully evaluate up to five in order until one passes all seven checks; record the first binding rejection for each evaluated candidate.
- 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 1.5x 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-3
Strategy version: swing-v3-2026-08-18
Rule revision: 2026-09-07-r1 (new entries only; prior performance is not reset).
Mandate
Trade liquid 20-day channel breakouts with directional trend and participation. Preserve infrequent large winners instead of requiring a perfect post-breakout retest.
Universe
- Active USDT perpetuals with at least 120 completed daily bars.
- Exclude BTC, ETH, Bot 2's fixed major-alt list, and non-crypto contracts.
- From contracts with at least 25M USDT prior-20-day median daily quote volume, keep the top 20 by that point-in-time median.
- Before ranking, reject symbols whose spread exceeds 10 bp, whose visible depth within 50 bp is below 20 times planned notional, or whose smallest valid quantity exceeds the risk ceiling.
Channel Breakout
All conditions are objective and required:
- A completed daily candle closes above the prior 20-day high for a long or below the prior 20-day low for a short.
- The signed 60-day return agrees with the direction.
- Signal-day quote volume is at least
1.20xits prior-20-day median. - The close is in the directional outer 40% of the signal candle.
- The breakout close is no more than
0.75 ATR20beyond the channel. - The latest completed 4h close remains beyond the channel in the trade direction. A retest may improve ranking but is not required.
- At execution, price remains beyond the channel and no more than
0.65 ATR20from it.
Record OI and funding for diagnosis and cost. They do not veto a valid price/volume breakout unless projected funding exceeds 0.10R.
Ranking
Rank qualifiers descending by direction * R60 / RV20, where direction is +1 for longs and -1 for shorts and RV20 is the annualized sample standard deviation of the last 20 daily log returns (sqrt(365)). Then use higher volume ratio, lower execution cost and symbol ascending. This favors stronger downside momentum for shorts, not the least-negative return. Evaluate up to five ranked candidates sequentially until one passes every execution and portfolio check.
Stop And Exit
- Form a buffered structural stop beyond the channel by
0.20 ATR20or beyond the lowest/highest completed 4h swing since the signal by0.20 ATR20, whichever is farther. The common structural buffer takes precedence over the former 0.10 ATR branch. - Before sizing, use
shared.swing_rules.initial_stopto place the long stop at the lower of that structural stop andentry - 0.90 ATR20; mirror for shorts. Round outward to the exchange tick. Reject a final distance above2.00 ATR20and recompute quantity, costs and target from this stop. This constructs a new trade; never widen an existing stop. A close channel entry is not rejected merely because the unadjusted channel stop was shorter than the required volatility floor. - Initial full-size exchange-native TP is the systematic
4.0Rtrend objective after modeled costs. - Exit earlier on a new completed daily crossing through EMA10 against the trade after entry: long previous close >= previous EMA10 and latest close < latest EMA10; mirror for shorts. Record entry-time EMA10; the signal candle itself cannot be reused as a post-entry exit. Native SL and the ten-bar limit remain binding.
- At or above
+1.5R, trail behind the highest/lowest completed daily close by2.5 ATR20only when the replacement locks at least+0.25Rafter costs. - Force exit after 10 completed daily bars.
Avoid
- Incomplete candles, entries back inside the channel, terminal entries beyond the distance limit, thin books, or quantity chosen before risk.
- Compression and mandatory retests are not entry gates.
- Never widen, add, average down, or re-enter without a fresh completed channel breakout.
-
2026-10-30 Daily realized PnL +1.62 total
-
2026-10-29 Daily realized PnL +1.62 total
-
2026-10-28 Daily realized PnL +1.62 total
-
2026-10-27 Daily realized PnL +1.62 total
-
2026-10-26 Daily realized PnL +1.62 total
-
2026-10-25 Daily realized PnL +1.62 total
-
2026-10-24 Daily realized PnL +1.62 total
-
2026-10-23 Daily realized PnL +1.62 total
-
2026-10-22 Daily realized PnL +1.62 total
-
2026-10-21 Daily realized PnL +1.62 total
-
2026-10-20 Daily realized PnL +1.62 total
-
2026-10-19 Daily realized PnL +1.62 total
-
2026-10-18 Daily realized PnL +1.62 total
-
2026-10-17 Daily realized PnL +1.62 total
bot-3 Daily Swing Report — 2026-10-30 UTC
Generated: 2026-10-30T00:34:49.077431+00:00
Strategy: swing-v3-2026-08-18 | rule revision 2026-09-07-r1 | risk-policy-2026-09-07-r3
Latest wallet: 98.82770107 USD-equivalent; equity 98.82770107; available 98.82770107.
Decision: NO_TRADE. No top-20 candidate passes all required completed-daily breakout signal checks.
Signed reconciliation completed 2026-10-30T00:31:29.446918+00:00: flat, zero normal orders, zero futures algos. No protection or cleanup required. Strategy entry slots used: 0/1.
Completed signal candle: 2026-10-29. Full reference: 509 contracts; 501 have 120 completed daily bars; 54 meet prior-20-day median quote volume >= $25M. Top 20 examined: 11 have no channel breakout; seven fail R60 direction (STRK also fails volume); HYPE fails directional candle location; AAVE exceeds 0.75 ATR signal extension. Zero daily-signal survivors, zero candidates assessed, zero fills. No intraday/book requests, execution ranking, or portfolio recount required after daily rejection.
Per-symbol channel levels, R60, annualized sample RV20, volume ratio, candle close location, ATR20 and EMA10 are in evaluation_history/2026-10-30.json. Confirmation, live extension, spread/depth, funding, base-risk quantity and smallest valid quantity: unevaluated after daily rejection. Current risk tier, actual quantized all-in stop loss and stop distance ATR: null (flat).
Risk budget mode: fixed; base $1.0 (1.01186205%); minimum-execution ceiling $2.0 (2.02372410%). No deployed risk.
Today's realized PnL: +0.00000000 USD-equivalent (gross signed REALIZED_PNL).
Today's signed commission: +0.00000000; signed funding: +0.00000000; net: +0.00000000.
- Public reset-ledger total: +1.62 USDT-equivalent
Cumulative signed commission: -0.01195659; signed funding: -0.03735950; net: +1.56729391.
Rule-revision r1: gross +1.14831000; signed commission -0.00656680; signed funding -0.01953599; net +1.12220721.
First-flat v3 baseline retained: 2026-08-18T21:52:21Z, wallet 97.30029750. No income rows since checkpoint; wallet valuation movement is not realized PnL. Income verified 2026-10-30T00:31:51.999492+00:00.
Evidence and state saved. No journal event. No wake created or rescheduled.