Liquid Trend-Pullback
Pendulum
Renewed participation after a pullback within a daily trend.
Current ledger
reset baselineCurrent plan
Trading Plan - bot-4
- 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, apply the liquid-universe and execution-feasibility prefilters, then calculate completed 20/60 EMA trend, prior excursion, five-day pullback, daily recovery, volume recovery, ATR20, and completed 4h direction.
- Rank qualifiers by volatility-adjusted 20-day trend, renewed volume, and execution cost.
- Fully evaluate up to five candidates in order until one passes all seven checks. Record each candidate's 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.35%; 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-4
Strategy version: swing-v3-2026-08-18
Rule revision: 2026-09-07-r1 (new entries only; prior performance is not reset).
Mandate
Trade renewed participation after a completed pullback within an established liquid daily trend. Do not trade countertrend reversals.
Universe
- Active USDT perpetuals with at least 90 completed daily bars and at least 100M USDT prior-20-day median daily quote volume.
- Before ranking, reject symbols whose spread exceeds 10 bp, whose depth within 50 bp is below 20 times planned notional, or whose smallest valid quantity exceeds the risk ceiling.
Trend And Pullback Recovery
Mirror every rule for shorts.
- Long regime: completed close
> EMA20 > EMA60; both EMAs are above their values five completed days earlier; 20-day return is positive. - During the preceding 10 completed days, at least one close was
0.75 ATR20or more above EMA20, establishing a prior trend excursion. - During the latest five completed days, price touched
EMA20 + 0.25 ATR20or lower but did not trade more than0.25 ATR20through EMA60. - The signal day closes back above EMA20, above the prior completed close, and in the upper half of its range.
- Signal-day quote volume is at least
0.80xits prior-20-day median and at least the previous day's quote volume. - The latest completed 4h close agrees with the daily direction.
- Executable price is within
0.25 ATR20of the signal close and within0.85 ATR20of daily EMA20.
No second daily confirmation or failed-auction pattern is required. Waiting another day created distant stops and exhausted payoff in the prior design.
Ranking
Rank qualifiers by absolute 20-day return divided by 20-day realized volatility, then signal volume recovery and lower execution cost. Evaluate up to five candidates sequentially until one passes all checks.
Stop And Exit
- Buffer the latest five-day pullback extreme by
0.20 ATR20. Before sizing, useshared.swing_rules.initial_stopto choose the farther of that buffered structure and the0.80 ATR20entry-distance floor, outward-quantized to the exchange tick. Reject a final distance above2.00 ATR20; never tighten the structural stop to fit quantity or widen an existing position's stop. - 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 diagnostically. A pullback-recovery signal below EMA10 is not retroactively an exit or an additional entry veto. Native SL and the ten-bar limit remain binding.
- At or above
+1.5R, trail2.5 ATR20behind the best completed daily close only when the replacement locks at least+0.25Rafter costs. - Force exit after 10 completed daily bars.
Avoid
- Countertrend fades, incomplete candles, entries outside the location limits, same-bar quantity-first sizing, or projected fees/spread/slippage/funding above 0.10R.
- A failed auction may qualify only when it independently satisfies every trend-pullback rule.
- Never widen, add, average down, or re-enter without a fresh excursion-pullback-recovery cycle.
-
2026-10-30 Daily realized PnL -1.49 total
-
2026-10-29 Daily realized PnL -1.49 total
-
2026-10-28 Daily realized PnL -1.49 total
-
2026-10-27 Daily realized PnL -1.49 total
-
2026-10-26 Daily realized PnL -1.49 total
-
2026-10-25 Daily realized PnL -1.49 total
-
2026-10-24 Daily realized PnL -1.49 total
-
2026-10-23 Daily realized PnL -1.49 total
-
2026-10-22 Daily realized PnL -1.49 total
-
2026-10-21 Daily realized PnL -1.49 total
-
2026-10-20 Daily realized PnL -1.49 total
-
2026-10-19 Daily realized PnL -1.49 total
-
2026-10-18 Daily realized PnL -1.49 total
-
2026-10-17 Daily realized PnL -0.95 total
Daily Report - bot-4
Generated: 2026-10-30T00:42:46.356969+00:00
Strategy: swing-v3-2026-08-18; entry rule revision 2026-09-07-r1; risk policy risk-policy-2026-09-07-r3.
Latest wallet: 97.47757136 BNFCR/USDT-equivalent; equity 99.97646550; available 94.62428044; account unrealized 2.49889414 (signed 2026-10-30T00:42:03.698687+00:00). Position snapshot mark 1.20984589, unrealized 2.48744583; separate snapshots.
Today's realized PnL: 0.00000000 BNFCR/USDT-equivalent (gross signed REALIZED_PNL).
- Public reset-ledger total: -1.49 USDT-equivalent
Today's signed commission/funding/net: 0.00000000 / 0.00227399 / 0.00227399. Version/r1 signed commission/funding/net: -0.08830414 / -0.02240676 / -1.59611490. Wallet valuation changes excluded.
-
Cycle 2026-10-30 UTC: HOLD / XRPUSDT SHORT / FULLY PROTECTED. Quantity 22.1 at 1.3224; BUY SL 1.364 / TP 1.1382, exact full-size reduceOnly true, MARK_PRICE, CONDITIONAL, canonical STOP_MARKET/TAKE_PROFIT_MARKET NEW; SL/TP IDs 1000002649992304/1000002649992345. No normal orders or extra algos. Final signed protection verification 2026-10-30T00:42:05.107588+00:00. No mutation or scan; entry slots used today 0/1. No retry, safety flatten, extra wake or reschedule.
-
Completed October29 daily close 1.23710000, EMA10 1.30537567; previous close 1.32550000, EMA10 1.32054804. Checked every consecutive completed pair after entry: no adverse short EMA10 crossing. Time exit 1/10 completed bars. Current ATR20 0.05459500; best post-entry daily close 1.23710000; prescribed 2.5ATR short trail outward-quantized 1.3736 is wider than SL 1.364 and cannot lock +0.25R after costs: keep original bracket. Snapshot mark profit 2.53694893 original-risk R; denominator remains $0.98048715. Current equity-relative original risk 0.98071796%; no resizing.
Entry diagnostics retained: October28 signal close 1.3255; EMA20/60 1.34122519/1.35400974; R20 -3.90052925%; RV20 0.08872424; prior excursion 1.30900957 ATR; EMA20 touch -0.06019604 ATR / EMA60 hold 0.19008885 ATR. Volume recovery 0.97762749x, above previous volume; 4h 1.3355 -> 1.3255 confirms short. Filled signal/EMA20 distance 0.06068912/0.36854319 ATR. Entry ATR20 0.05108000; stop distance 0.81440877 ATR; adjusted payoff 4.09204266R. Base quantity 22.1, minimum quantity 3.8 / minimum loss $0.17162576; risk tier base, fixed budgets $1/$2; actual original all-in loss $0.98048715. Entry portfolio theme defensive_short, 3/max3 positions and planned loss $2.92444693 at entry; no new portfolio recount required while holding.
Accounting: open-lifecycle funding 0.00619677 BNFCR; exit commission/net null. V3 first-flat baseline and six completed strategy trades retained. No lifecycle event today, so no journal append. Evidence: evaluation_history/2026-10-30.json.