BB scale-out sweep — XRP/ADA/DOGE 4h

Gerado em 2026-04-25T19:08:05.414543+00:00 (131s).

Mecânica: ao atingir target (1.8R = +3.6% pra LONG), realiza X% do notional, mantém o restante (1-X)% open com trailing armado.

AVISO: mesmo bias intra-bar do trailing afeta a perna trailing dos (1-X)% restantes. Em 4h o número está provavelmente inflado. Use a validação cross-TF [[2026-04-25-bb-trailing-validation]] como sanity check.

XRPUSDT

config wins mean_ret Δ vs base trades wr
baseline (off) (base) 6/6 +29.96% +0.00% 372 47%
partial=50% act=0.5% dist=0.3% 6/6 +31.64% +1.68% 308 41%
partial=50% act=1.0% dist=0.5% 6/6 +29.67% -0.29% 308 41%
partial=50% act=1.0% dist=1.0% 6/6 +24.82% -5.14% 308 41%
partial=33% act=1.0% dist=0.5% 6/6 +37.01% +7.05% 308 38%

ADAUSDT

config wins mean_ret Δ vs base trades wr
baseline (off) (base) 5/6 +15.66% +0.00% 392 42%
partial=50% act=0.5% dist=0.3% 5/6 +26.62% +10.96% 327 38%
partial=50% act=1.0% dist=0.5% 4/6 +24.67% +9.01% 327 38%
partial=50% act=1.0% dist=1.0% 4/6 +19.79% +4.12% 327 38%
partial=33% act=1.0% dist=0.5% 5/6 +32.51% +16.85% 327 35%

DOGEUSDT

config wins mean_ret Δ vs base trades wr
baseline (off) (base) 5/6 +17.59% +0.00% 412 43%
partial=50% act=0.5% dist=0.3% 6/6 +35.81% +18.22% 345 39%
partial=50% act=1.0% dist=0.5% 6/6 +33.71% +16.12% 345 39%
partial=50% act=1.0% dist=1.0% 6/6 +28.42% +10.82% 345 39%
partial=33% act=1.0% dist=0.5% 6/6 +44.04% +26.45% 345 37%

Bug pego durante implementação

1ª rodada do sweep retornou números IDÊNTICOS ao trailing puro ([[2026-04-25-bb-trailing-sweep]]). Causa: ordem na barra era stop > trailing > target, mas trailing_armed ativava automaticamente quando peak_gain >= activate. Como bar_high cruza target na mesma barra que armaria trailing, trailing disparava ANTES do target, e o partial nunca era acionado.

Fix em engine.py: quando partial_take_profit_pct > 0, trailing NÃO arma automaticamente. Arma SOMENTE depois do partial taken (target hit pela 1ª vez). Garante que a sequência seja: target hit → 50/33% realizado → trailing armado pra restante.

Análise dos números corrigidos

partial=33% é o vencedor em todos 3 símbolos:

símbolo baseline partial=33% act=1% dist=0.5% Δ
XRP 6/6 +29.96% 6/6 +37.01% +7.05%
ADA 5/6 +15.66% 5/6 +32.51% +16.85%
DOGE 5/6 +17.59% 6/6 +44.04% +26.45%

Por que partial=33% > partial=50%? - partial=50%: lock 50% lucro, 50% qty segue trailing - partial=33%: lock 33% lucro, 67% qty segue trailing — mais "skin in the game" pra capturar runners pós-target

Bias intra-bar remanescente: a perna trailing dos (1-partial)% restantes herda o mesmo bias do sweep de trailing puro. Em 4h, ~50-70% do ganho do trailing pode ser artefato (validar em 15m repete o exercício de [[2026-04-25-bb-trailing-validation]]).

Estimativa conservadora pós-bias: - XRP: +7% → ~+3-4% real (modest) - ADA: +17% → ~+8-10% real (decent) - DOGE: +26% → ~+13-16% real (good)

Win rate: cai ligeiramente em scale-out (47→41% XRP, 42→38% ADA, 43→37% DOGE). Esperado — trailing fecha alguns que iam pro stop com small win locked do partial, mas magnitudes do leg trailing compensam.

Decisão pendente

3 caminhos:

# path custo resultado esperado
A Validar em 15m (mesmo sweep) 3min Confirma quanto do Δ é real vs artefato
B Promover live partial=33% médio (refactor OCO cancel+recreate, ~50-100 LOC) Coleta dados shadow real
C Manter atual sem scale-out zero Linha base atual

Recomendação: A primeiro (3min, decide entre B e C com mais informação). Se em 15m o Δ persiste >50% do número de 4h, vale o investimento de B. Se colapsa pra ~0, fica C.

Cross-references

Entities: [[../entities/ADAUSDT]], [[../entities/XRPUSDT]] Strategies: [[../strategy/bollinger_breakout]]