FB-002: multi-day ticks break every time comparison; ctx.time is wrong [silent-wrong]
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 71/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- backend, testing-qa
Línea de trabajo
Start in context.py at advance() around line 203, then read the composite key construction in engine.py:171 and context.py:63. Check how multi-day ticks set ctx.time and compare the behavior across day and expiry modes. Done means time comparisons and the can_enter example work in both modes, with ctx.clock and ctx.date consistent; add or run focused tests for those cases.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Severity: silent-wrong · Source: BUGS_FASTBT.md (2026-10-09; consolidation B04 2026-10-11)
Composite keys are f"{d} {time_key}" (engine.py:171, context.py:63), and d already carries 00:00:00, so a tick is "2025-07-04 00:00:00 09:20:59". advance() splits on the first space (context.py:203), so ctx.date is right but ctx.time == "00:00:00 09:20:59".
Any code written for day mode then misbehaves without an error:
tick >= "15:20:00"is always True →exit_timeexit fires on the tick right after entry"09:20:00" <= tick < "09:30:00"is never True → strategy never enters- The
can_enterdocstring example (strategy.py:451) is this exact bug
Seen in this repo: positionals/iron_condor.py, credit_spread.py, credit_spread_v2.py compare ctx.time in period="expiry" mode and never enter.
Workaround: read the clock as str(tick)[-8:] and the date as str(tick)[:10]; use exit_time=None.
Fix: build keys from d[:10]; add ctx.clock ("HH:MM:SS") and ctx.date that behave the same in every mode.
- Lenguaje dominante
- Python
- Estrellas
- 28
- Forks
- 17
- Merge medio
- 8 h 50 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de uberdeveloper/fastbt
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
uberdeveloper/fastbt#31 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
uberdeveloper/fastbt#30 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 70/100
uberdeveloper/fastbt#27 ·
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
uberdeveloper/fastbt#26 ·
Todos los issues de uberdeveloper/fastbt
Issues similares
-
Questions crashes on a real SQuAD2 no-answer predictionPosiblemente ocupada @HuaTNA la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
GST is read as Gulf Standard Time (UTC+4) instead of Guam Standard Time (UTC+10)Posiblemente ocupada @yang00333 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DOI-USGS/dataretrieval-python#454 ·
Los mantenedores suelen responder en 4 días
-
area:core-platform effort:S priority:P3 status:in-review type:test
Dificultad 2/5 Menos de una hora Aptitud para principiantes 80/100
randomparity/kdive#3246 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Requantification library converts m/z to mass with the hydrogen-atom mass instead of the proton massAbiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
nf-core/metaboigniter#130 ·
Los mantenedores suelen responder en 1 día
-
netbox status: needs owner type: documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
netbox-community/netbox#23412 · 1 reacción ·
Los mantenedores suelen responder en 1 día