Research is a work in progress. Estimated release: 1 December 2026. Our goal is to make it a search engine for trading setups in recorded crypto markets.

Every time the last 15-minute candle is a bullish engulfing, then the last 15 minutes returned 5% or more within 1 hour

82 historical matches·662 markets scanned·2026-07-11 to 2026-07-18

REPORT INVALID

Integrity invalidated 2026-07-20. In this record_result.v2 pin, 32 of 50 visible sequence-step-1 evidence rows showed none or bearish instead of the required bullish value. The sequence evidence materialization used the final anchor bucket rather than each matched step bucket. That engine defect is fixed for new record_result.v4 scans. Do not use this pinned report as verified evidence. Corrected successor: q#3c0016a5 re-asks the same question over the full recorded corpus under record_result.v4.

Corrected successor: q#3c0016a5

At a glance

What the historical record shows

Usually lower after 30 minutes: 51 of 82 completed windows fell (62.2%). No reference rate is available, so no lift is claimed.

Share text

Scope: all scanned markets combined, no market or sector filter. Not a result for any one market, sector or asset class. Research coverage →

Results by time periodCompare 30 minutes, 1 hour and longer periods, including larger moves

Choose a time period. “Closed” measures the price at its end; high and low points measure prices reached along the way. No same-scope reference is pinned to this report, so no ratio is claimed.

30 minutesView outcomes and counts
OutcomeAfter this setupReference minutesHow often vs reference
Closed 2% or more higher19.5%16 of 82Not availableNot available
Closed 2% or more lower35.4%29 of 82Not availableNot available
Closed 5% or more higher8.5%7 of 82Not availableNot available
Closed 5% or more lower11.0%9 of 82Not availableNot available
High point 5% or more abovenot in ladderNot availableNot available
Low point 5% or more belownot in ladderNot availableNot available
1 hourView outcomes and counts
OutcomeAfter this setupReference minutesHow often vs reference
Closed 2% or more highernot in ladderNot availableNot available
Closed 2% or more lowernot in ladderNot availableNot available
Closed 5% or more highernot in ladderNot availableNot available
Closed 5% or more lowernot in ladderNot availableNot available
High point 5% or more above26.8%22 of 82Not availableNot available
Low point 5% or more below41.5%34 of 82Not availableNot available

4 hours: Not included in this saved report.

24 hours: Not included in this saved report.

72 hours: Not included in this saved report.

7 days: Not included in this saved report.

Average and median returns are not available in this report. These frequencies alone do not establish profitability.

When did it happen, and how spread out were returns?Frequency over time and the distribution of 30-minute returns
Occurrences per day · UTC · sum 82
20010MATCHES PER UTC DAY · MAX 20 ON 2026-07-15121391720110007-1107-1207-1307-1407-1507-1607-1707-182026-07-11 TO 2026-07-18 · 8 UTC DAYS · ZERO DAYS KEEP THEIR SLOT

Each bar counts matching setups on one UTC day. Look for clusters: many examples from a short period may reflect the same market episode.

Where price ended after 30 minutes

These three groups cover every complete outcome, including the moves smaller than 2%. Bar length shows the share of matches, not the size of the price move.

Fell 2% or more35.4%
29 of 82 matches
Between −2% and +2%45.1%
37 of 82 matches
Rose 2% or more19.5%
16 of 82 matches

0 incomplete outcomes excluded. This measures the price at 30 minutes, not the highest or lowest price reached on the way.

Detailed distribution: 10 return ranges

30-minute return distribution · 82 present · 0 absent. Each column counts outcomes in the labelled return range. The ranges have different widths; compare counts, not the shape as a probability density.

≥ +5%: 7 of 823620814105961≤−10−5−2−1<00++1+2+5≥+10
Examples and replaysFirst 50 of 82 matches

Examples, never the denominator; the counts above cover every match. Replay opens 30 minutes before the moment and depends on coverage and access.

Sort the 50 examples shown here. This does not sort all study matches.

Replay
TACTACUSDT2026-07-16 21:22−2.94%+2.10%−4.26%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05852126748501285sequence_step_2
ESPESPORTSUSDT2026-07-16 20:21+5.75%+7.75%−0.82%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.0548340548340549sequence_step_2
AKEAKEUSDT2026-07-16 19:05+0.80%+2.47%−4.11%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05166760881854149sequence_step_2
SNXSNXXUSDT2026-07-16 18:25−5.17%+0.26%−8.64%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05092911218169305sequence_step_2
GWEGWEIUSDT2026-07-16 18:07−0.27%+2.99%−3.80%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06976744186046502sequence_step_2
ESPESPORTSUSDT2026-07-16 17:53−21.62%+1.08%−30.72%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.053058216654384704sequence_step_2
AKEAKEUSDT2026-07-16 17:46−0.93%+23.31%−14.01%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.050961010433827614sequence_step_2
AKEAKEUSDT2026-07-16 12:28+1.00%+2.64%−4.27%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.054222806441012183sequence_step_2
SYNSYNUSDT2026-07-16 12:09−1.66%+0.29%−3.40%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05743095133713294sequence_step_2
COLCOLLECTUSDT2026-07-16 08:39+2.11%+4.30%−0.57%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.055370246831220715sequence_step_2
USUSUSDT2026-07-16 02:56−3.89%+4.40%−17.31%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.17464678178963888sequence_step_2
DEXDEXEUSDT2026-07-15 20:37+6.76%+9.90%−1.01%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05496507743698764sequence_step_2
SNXSNXXUSDT2026-07-15 16:51+6.25%+12.27%−0.29%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05483672211953183sequence_step_2
AKEAKEUSDT2026-07-15 15:27−0.05%+14.14%−12.21%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bearishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.1813391196528209sequence_step_2
BANBANKUSDT2026-07-15 15:21−1.29%+0.81%−5.42%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06973444151631858sequence_step_2
ALLALLOUSDT2026-07-15 15:20+3.70%+8.22%−0.90%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05101929278023731sequence_step_2
BANBANKUSDT2026-07-15 13:41+3.94%+7.04%−2.25%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05799728137743543sequence_step_2
CHICHILLGUYUSDT2026-07-15 13:01+0.54%+1.93%−1.21%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.050927793465106896sequence_step_2
USUSUSDT2026-07-15 11:49−0.55%+1.44%−2.99%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.0502355748638561sequence_step_2
EVAEVAAUSDT2026-07-15 10:49−1.23%+4.20%−2.84%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.050057486512779636sequence_step_2
ESPESPORTSUSDT2026-07-15 10:03−4.35%−0.06%−5.58%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06717451523545703sequence_step_2
AKEAKEUSDT2026-07-15 08:56−5.12%+8.62%−11.48%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06618390030313237sequence_step_2
EVAEVAAUSDT2026-07-15 08:44+3.16%+10.32%−3.72%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05902463549522352sequence_step_2
ALPALPINEUSDT2026-07-15 08:35−5.76%+1.37%−7.72%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05206564799094515sequence_step_2
LABLABUSDT2026-07-15 07:36−2.00%+1.43%−6.09%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06211989574283239sequence_step_2
SPOSPORTFUNUSDT2026-07-15 07:36−2.95%+24.17%−11.81%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.051406401551891356sequence_step_2
PIEPIEVERSEUSDT2026-07-15 06:43−5.06%+0.05%−8.09%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06039025779803464sequence_step_2
AKEAKEUSDT2026-07-15 05:52+27.03%+37.80%−1.51%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.07218975592987276sequence_step_2
EVAEVAAUSDT2026-07-15 04:19−5.45%+2.75%−8.48%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.055878084179970866sequence_step_2
XEC1000XECUSDT2026-07-15 03:32+6.51%+13.47%−0.53%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.053543307086614256sequence_step_2
USUSUSDT2026-07-15 02:51+0.13%+1.74%−1.84%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06252388595887792sequence_step_2
DODDODOXUSDT2026-07-14 22:46−0.87%+0.14%−3.75%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.0507321004791117sequence_step_2
ALPALPINEUSDT2026-07-14 18:47−3.13%+2.98%−6.31%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06329113924050644sequence_step_2
BASBASUSDT2026-07-14 16:16−0.09%+0.78%−1.59%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06006538264602779sequence_step_2
GWEGWEIUSDT2026-07-14 15:30−1.56%+2.73%−3.32%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.0600414078674949sequence_step_2
LABLABUSDT2026-07-14 15:02−0.55%+1.66%−6.41%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.06391347099311706sequence_step_2
CRWCRWDUSDT2026-07-14 13:37+3.14%+3.99%+0.01%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05285310884969907sequence_step_2
BSBBSBUSDT2026-07-14 13:28+0.77%+4.00%−2.47%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05143597789753729sequence_step_2
KORKORUUSDT2026-07-14 12:32+0.17%+3.12%−0.93%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05071752442387689sequence_step_2
EVAEVAAUSDT2026-07-14 12:17+6.24%+9.72%−3.37%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05144725454370591sequence_step_2
AGTAGTUSDT2026-07-14 11:45+1.57%+4.03%−1.02%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05077278636429283sequence_step_2
MMUSDT2026-07-14 11:24−4.41%+1.12%−5.75%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.050470658922491474sequence_step_2
MAGMAGMAUSDT2026-07-14 09:20+1.64%+8.21%−11.03%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05053711838753738sequence_step_2
FOLFOLKSUSDT2026-07-14 08:31+0.89%+3.29%−0.42%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05613512170889212sequence_step_2
SXTSXTUSDT2026-07-14 07:07−0.87%+1.38%−3.69%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bearishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.052145214521452043sequence_step_2
VELVELVETUSDT2026-07-14 05:59−1.79%+3.30%−6.50%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.050610539845758584sequence_step_2
LABLABUSDT2026-07-14 04:48−24.12%+4.72%−33.29%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"bullishsequence_step_1
feature.ret_15mbetween{"gte":0.05}0.07016683022571146sequence_step_2
CYSCYSUSDT2026-07-14 02:19−2.39%+0.57%−4.30%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.051187688190029945sequence_step_2
CLOCLOUSDT2026-07-13 23:24+1.26%+4.40%−0.31%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05122620963923863sequence_step_2
HEIHEIUSDT2026-07-13 21:50−2.77%+0.08%−3.76%replay →
Why this matched: the recorded values at that minute
FieldOpQueryObservedScope
feature.candle_engulfing_15meq"bullish"nonesequence_step_1
feature.ret_15mbetween{"gte":0.05}0.05113057649215724sequence_step_2
Evidence and methodologySetup definition, sample counts, data quality and reproducibility

Check the definition, counts, source limits and reproducibility below.

Published 2026-07-18 by @admin · q#ed3ac65e

The setup: the last 15-minute candle is a bullish engulfing, then the last 15 minutes returned 5% or more within 1 hour. What counts as one →

Readings in this definition: last 15-minute engulfing pattern · trailing 15-minute return. Each page states the exact rule, its limits and what it does not prove.

How the comparison works

Outcomes start when the full setup completes. Rates exclude incomplete outcomes at each horizon.

82
matches
662
markets
5,369,372
eligible market-minutes scanned
2026-07-16
last match

No same-scope reference rate is pinned to this report yet.

Technical audit: exact query, source counts and versions

Exact search

SCOPEtimes.anchor_time between 2026-07-11T07:06:45.000Z to 2026-07-18T07:06:45.000Z
STEP 2feature.ret_15m ≥ 0.05within PT1H

These confirmed values define the run. Chips link to reading definitions; author commentary is separate.

Pinned result

v2 · nrm.v1 · ft.v1 · rev 3e792f17…397015e2 · q#ed3ac65e

This key identifies the saved answer. A run against newer data has a new revision and result.

Outcome diagnostics

Headline split (mfe_1h)
22 of 82 (26.8%) traded 5% or more above the match at some point within 1h (mfe_1h, a high-water mark and not a close). 60 of 82 did not. Measured forward from each match.
Peak day and span
Busiest day 2026-07-15: 20 of 82 matches (24.4%). 8 UTC days scanned: 6 with matches, 2 with none.
Present and absent by metric
fwd_ret_30m: present 82 · absent 0
mfe_1h: present 82 · absent 0
mae_1h: present 82 · absent 0
Absent: no completed outcome (record edge or missing minutes), excluded from every rate.
Threshold counts (fwd_ret_30m), both signs
≥ +121 OF 82
≥ +216 OF 82
≥ +57 OF 82
≥ +101 OF 82
≤ -137 OF 82
≤ -229 OF 82
≤ -59 OF 82
≤ -103 OF 82
Every row is an exact partial sum of the distribution buckets in the chart, so the table and the chart cannot disagree.

Methodology and versions

DEFINITION
2 steps · 1 scope
How this is counted
feature.candle_engulfing_15m = bullish THEN feature.ret_15m ≥ 0.05 WITHIN PT1H. the chips at the top of the page are this definition, verbatim.
EXECUTION
edge-triggered · 1m UTC grid
How this is counted
the predicate becomes true having been false; sequences chain greedy-earliest and anchor at completion; episode dedupe PT1H. deterministic at every worker count.
DENOMINATORS
5,369,372 of 6,672,960
How this is counted
eligible market-minutes scanned (one market for one minute) across 662 markets; 1,303,588 excluded where a measurement was not yet available - missing data shrinks the denominator, it never counts as zero; 15 market-days excluded by the source ledger. counts are matches within the scanned window, never a base rate.
OUTCOMES
forward from anchor · in-scan
How this is counted
closed threshold list ±1/2/5/10 pct, 10 fixed buckets across 3 forward metrics, computed over all occurrences pre-paging. an outcome absent at the record edge (horizon incomplete) is counted, never truncated or implied zero. nothing on this page is filterable by outcome. nothing here is a guarantee or trading advice.
OBSERVATION SCOPE
setup as-of anchor
How this is counted
setup values are as-of the anchor bucket close (point-in-time freeze); window aggregates cover their stated pre-anchor duration; every value the predicate consulted is at or before the anchor.
PIN
pinned 2026-07-18 · 82
How this is counted
the pinned result (counts, page-1 rows, outcomes, outcomes summary) never mutates. later dataset revisions are new runs, never merged.
SORT
times.anchor_time asc
How this is counted
the only record sort in v2.0; page limit 50. the pinned rows are page 1 of 82 - charts and rates derive from the summary over all occurrences, never from the page.
VERSIONS
q#ed3ac65e · rev 3e792f179546
How this is counted
schema research_query.v2 · normalization archive_normalization.v1 · features feature_defs.v1 · encoding record_result.v2. same key implies a byte-identical rerun.
DATASET REV · FULL
3e792f1795461fcf84a7f7aa3cb6b79cc132458a07f62cce576c6d79397015e2

Historical counts for choosing what to investigate next: not a forecast, trading advice or evidence of a profitable trade.