FB-003: on_day_start / on_day_end fire once per PERIOD, not per day [trap]
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
Research direction
Start by reading engine.py around lines 209 and 229, the on_day_start and on_day_end docstrings in strategy.py, and the “Proposed enhancements” section of BUGS_FASTBT.md. Trace how the hooks are called for each period and how ctx.is_new_date signals date changes during ticks. Done means the hooks run for every date in a period and returning False from on_day_start skips only that date.
Written by the indexing model from the issue text.
Description
Severity: trap · Source: BUGS_FASTBT.md (2026-10-09)
engine.py:209 and engine.py:229 call them once per period, but their docstrings (strategy.py:431, :495) say "once per day". There is no per-date hook; the only per-date signal is polling ctx.is_new_date inside ticks. on_day_start returning False skips the whole period.
Impact: daily signal state (opening range, traded-today, daily counters) is built only on the period's first date.
Workaround: detect ctx.is_new_date in the tick hooks.
Fix: hook ladder — on_run_start → on_period_start → on_day_start/on_day_end (every date) → on_period_end → on_run_end (see BUGS_FASTBT.md "Proposed enhancements").
- Dominant language
- Python
- Stars
- 28
- Forks
- 17
- Avg merge
- 8h 50m
- Merged PRs (30d)
- 2
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from uberdeveloper/fastbt
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
uberdeveloper/fastbt#31 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 52/100
uberdeveloper/fastbt#30 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 48/100
uberdeveloper/fastbt#28 ·
-
FB-008: close_trade mixes price and tick; stale exits are silent (zero-P&L fallback) [silent-wrong]Openbug
Difficulty 3/5 1-2 days Newbie friendliness 70/100
uberdeveloper/fastbt#27 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
uberdeveloper/fastbt#26 ·
All issues in uberdeveloper/fastbt
Similar issues
-
Questions crashes on a real SQuAD2 no-answer predictionPossibly taken @HuaTNA claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
GST is read as Gulf Standard Time (UTC+4) instead of Guam Standard Time (UTC+10)Possibly taken @yang00333 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
DOI-USGS/dataretrieval-python#454 ·
Maintainers usually reply within 4 days
-
area:core-platform effort:S priority:P3 status:in-review type:test
Difficulty 2/5 Under an hour Newbie friendliness 80/100
randomparity/kdive#3246 · 1 comment ·
Maintainers usually reply within 1 day
-
Requantification library converts m/z to mass with the hydrogen-atom mass instead of the proton massOpenbug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
nf-core/metaboigniter#130 ·
Maintainers usually reply within 1 day
-
netbox status: needs owner type: documentation
Difficulty 1/5 Under an hour Newbie friendliness 75/100
netbox-community/netbox#23412 · 1 reaction ·
Maintainers usually reply within 1 day