Build a testable observation
Section 1 of 14
Turn an impression into an observable condition
A testable observation is a condition someone else can check using the same information you had at the same time. “It looks ready to rise” is not enough. Name the pair and product, price series, timeframe, cutoff, reference area, trigger, expiry and what result will be recorded. You can test an observation without placing an order.
Level 1 explained the market, Level 3 taught chart records, Level 4 showed calculations and Level 5 set cash boundaries. A price-action idea must fit all of those foundations. A rule that can be repeated is not automatically useful or profitable. This lesson first makes the observation measurable; the following lesson connects it to a demo exit and cost-aware checklist.
Section 2 of 14
Define a zone from data available then
A supply or demand zone is usually an area inferred from earlier price behaviour. A demand label suggests an earlier upward reaction, and a supply label an earlier downward reaction, under the method being used. There is no universally agreed candle selection or boundary rule. Fix yours before testing. The rectangle is an annotated reference, not a visible store of guaranteed future orders.
| Field | Teaching-rule choice |
|---|---|
| Anchor selection | A specified completed bar Z at the predeclared sample cutoff |
| Price side | The named demo feed’s bid bars |
| Lower/upper boundary | Z’s low 1.0980 and high 1.1000 |
| Creation time | Only after Z has completed |
| Touch | A later completed bar intersects that interval |
| Discard condition | A later completed bid close strictly below 1.0980 |
| Expiry | Ten completed hourly bars after creation |
This intentionally simple EUR/USD rule uses the full anchor bar’s high/low. Another method might use its body or several bars, but that is a different rule version. Do not switch to a narrower rectangle after seeing which boundary happened to work. Record the anchor-selection method and the creation timestamp as carefully as the boundary prices.
Section 3 of 14
Separate a touch, a rejection and a close
A touch rule can be expressed as interval overlap: a later bar’s low is at or below the zone’s upper edge and its high is at or above the lower edge. That only tells you the bar reached the area. A rejection description might also require a close away from it or a defined wick/body relationship. A close-only rule ignores a wick that returns before the interval ends.
| Bar | Low | High | Completed bid close | What can be said |
|---|---|---|---|---|
| C1 | 1.0990 | 1.1005 | 1.0995 | Touches 1.0980–1.1000; closes inside |
| C2 | 1.0990 | 1.1020 | 1.1010 | Touches zone; closes above its upper edge |
| C3 | 1.1002 | 1.1030 | 1.1020 | No overlap with zone; remains above |
| C4 | 1.0960 | 1.1000 | 1.0970 | Closes below lower edge; discard condition met |
The touch test is not a profitable entry rule. C1 and C2 both intersect the zone, but their closes differ. At C2’s completion, C3 and C4 are unknown. The later C4 does not retroactively erase the fact that the earlier condition occurred; it changes the later status. Keep event records separate from the eventual outcome.
Section 4 of 14
Write confirmation and a trigger in one sentence
Confirmation is additional evidence that fits an interpretation; it is not proof that the interpretation is true. An entry trigger is the exact condition that starts considering a demo action. You may decide that one completed close is enough, require another condition or record observations only. Each choice changes when the condition becomes available and which cases qualify.
Write exactly when evaluation occurs and how equality is handled. If the current close is 1.1000, this strict-above rule is false. If the right-hand confirming bar for a swing has not completed, that swing cannot be used yet. Multiple signs drawn from the same price data are not automatically independent confirmations.
Section 5 of 14
Give every candidate a lifetime and a failure rule
An idea needs an expiry as well as a price condition. Without expiry, you can keep an old zone until a much later reaction makes it look successful. Choose a fixed count of completed bars, session end or another explicit time limit before collecting outcomes. Define whether a valid trigger is allowed only once per zone or repeatedly after new touches.
For the teaching zone, a close strictly below 1.0980 discards it. A touch below 1.0980 followed by a close above might not discard it under this close-based version; another rule could discard on a wick. That difference must be stated beforehand. Do not draw a replacement zone from the same losing event without labelling its own selection rule and creation time.
| State | Meaning |
|---|---|
| Active | Created, not discarded and not expired |
| Triggered | The predeclared observable condition occurred while active |
| Discarded | Specified invalidation condition occurred |
| Expired | Time limit elapsed |
| Unclassified | Input missing or rule cannot be evaluated consistently |
Section 6 of 14
Use multiple timeframes with an information cutoff
A larger timeframe can describe background while a smaller one gives detail. Choose the combination before examining results, such as the last completed daily structure with completed hourly observations. Avoid using the final high, low or close of the current daily candle while assessing an hour earlier in that day. Those final values did not yet exist.
| Input | Availability rule |
|---|---|
| Daily context | Most recent fully completed daily bars at decision time |
| Hourly condition | Evaluate only after the specified hour completes |
| Live quote | Record bid/ask and timestamp when considering an order |
| Daily timezone | Keep the provider’s session definition fixed |
| Conflict | Use a predeclared skip or classification rule |
| Revision | Log a new rule version instead of changing the old result |
A daily rise and an hourly fall can both describe their selected windows. Define whether that conflict makes you skip, merely annotate or use a different observation. If you inspect many timeframes until one agrees, the successful-looking example is being selected after the result. More views do not erase uncertainty.
Section 7 of 14
Separate a chart trigger from an executable order
A chart condition occurs on the price series you selected. A market order can be considered only after the condition is known; it is filled according to the provider’s execution rules and current price. The bar close used to recognise the condition is not necessarily an executable future entry. Record signal time, order time and fill time separately.
For a conventional long, an entry is bought at ask and its exit is sold at bid; the short direction reverses the transaction sides. A bid-chart close above a level does not automatically imply an ask-side order fills at that close. Pending orders can also activate without waiting for a candle close, so do not describe a buy-stop placed earlier as a close-confirmed entry unless the actual order logic enforces that condition.
Before a simulated order, set limits for acceptable spread, price deviation and delay under your demo policy. If they are exceeded, record a skipped candidate. A clean chart condition can remain true while the execution decision is no. This avoids quietly excluding awkward fills from the results.
Section 8 of 14
Choose an outcome measure before advancing the chart
An observation test needs a measurable outcome. You might record the next ten completed closes relative to the signal close, whether price reached a stated level within a window, or the complete simulated cash outcome under a specified order model. These are different questions. A ten-bar later close is not the same as a stop/target trade result.
| Question | Necessary definition | Limitation |
|---|---|---|
| Did later closes move higher? | Fixed reference close, horizon and price series | Does not describe an executable trade |
| Did a target occur before a stop? | Entry model, levels, sequence data and costs | Bar high/low alone may not reveal first hit |
| What was maximum adverse movement? | Reference, intrabar observations and window | A descriptive statistic is not a guaranteed loss cap |
| Was this setup reproducible? | Independent markings using frozen rules | Agreement does not prove profitability |
Define outcome handling for incomplete windows, missing quotes and weekends before counting results. If a ten-bar outcome is unavailable at the sample end, label it incomplete instead of silently treating it as a winner or discarding it after reading the result.
Section 9 of 14
Record every eligible case, including no signal
Choose the sample dates and instruments before collecting cases. Log all observations that meet the rule, failed candidates, skipped execution decisions and relevant no-signal periods. Keep separate counts: charts examined, conditions triggered, demo actions accepted, and outcomes available. Mixing those denominators can make an ordinary result look more impressive.
A collection of ten memorable rebounds is not a test of how often rebounds occurred. If you marked only the reactions that later looked good, the failed or absent reactions are missing. A screenshot can illustrate an event; it cannot supply an unbiased sample of all eligible events. Keep a simple row-per-event record and retain the original chart cutoff.
Section 10 of 14
Handle revisions and disagreements honestly
Test a rule on unseen dates or use replay with later bars hidden. Have a second learner apply the same written rule. Differences reveal unclear inputs, ambiguous boundaries or availability mistakes. Clarify the rule, label a new version and reserve later observations for checking it. Do not rewrite the earlier version’s failures as if the clearer rule had always existed.
| Version | Change | Treatment of earlier data |
|---|---|---|
| v1 | Strict close above fixed zone; ten-bar expiry | Original results retained |
| v2 | Adds predeclared spread gate | Test on reserved/later observations |
| v3 | Changes anchor selection | New setup definition; do not merge silently |
Backtesting examines historical observations; forward demo testing uses later conditions as they arrive. Neither guarantees live results. Choosing settings from the same sample used to advertise the result is an overfitting risk. Level 9 will examine strategy evidence in more depth. Here the basic requirement is that the observation can be evaluated without inventing its rules after seeing the outcome.
Section 11 of 14
Add money and cost checks without changing the signal
Once a candidate is identified, it still needs an invalidation, a possible exit, permitted size, conversion, costs and total account-risk check. Define these in a separate demo execution worksheet. A trigger can be recorded even if the worksheet says no trade. Do not increase size or move the invalidation merely because the chart observation seems convincing.
Read both the observation record and the cash worksheet. If the minimum size exceeds the budget, the quote is unavailable, or your weekly gate blocks new activity, the demo decision is to skip. Keep the candidate in the observation dataset with the reason for the execution skip. This makes the limitations reviewable rather than invisible.
Section 12 of 14
Build a complete observation card
| Line | What to record |
|---|---|
| Identity | Rule version, pair/product, feed, price side, timeframe and timezone |
| Inputs | Cutoff and only confirmed/available references |
| Zone/context | Anchor method, exact boundaries and timeframe rule |
| Condition | Touch, close threshold, equality/buffer rule and availability time |
| Lifetime | Creation, expiry, discard and repeat-trigger rules |
| Execution | Order model, delay/spread gates and no-trade reasons |
| Outcome | Fixed horizon, stop/target ordering, costs and missing-data handling |
| Review | Eligible count, exclusions, failures and version changes |
Read the card to someone who has not seen the chart. If they must ask “which candle?” or “how far above?” the observation is still incomplete. Complete the definition before examining the later path. A compact written card can hold a detailed rule without needing a collection of vague labels.
Section 13 of 14
Practise the yes-or-no rule
Exercise
An active EUR/USD zone is 1.0980–1.1000. A preceding completed bar touches it; the current completed bid close is exactly 1.1000. Does a strict-close-above trigger qualify?
Check your reasoning
No. Equality is not strictly above. A rule allowing equality would be a different rule version. Confirm all input times and the zone lifetime before classifying the event.
Exercise
An hourly long simulation’s bar reaches both 1.0980 stop and 1.1040 target. Can the bar’s final upward close establish target-first?
Check your reasoning
No. OHLC does not give the full intrabar ordering. Use appropriate sequence data or retain the predeclared ambiguous/conservative handling. Do not assign a profitable outcome from a pleasing candle shape.
Exercise
At midday, may a daily/hourly rule use the same day’s eventual closing price as completed daily context?
Check your reasoning
No. That final close was unavailable at midday. Use the last completed daily input or an explicitly defined live input, and record the timestamp.
Exercise
A trigger qualifies but spread exceeds the predeclared gate. What belongs in the study record?
Check your reasoning
Record the qualifying chart event and the skipped execution decision with its reason. Do not remove the candidate from the observation count or pretend a fill occurred under better conditions.
Section 14 of 14
Reflect, check and keep a record
Explain it in your own words
— Define a zone, touch, trigger, expiry and discard condition reproducibly.
— Align multiple timeframes and distinguish chart events from executable fills.
— Record all eligible cases, ambiguous outcomes and rule revisions honestly.
Keep dated observations, interpretations, orders and actual outcomes in separate parts of your demo notebook. If a rule or unit is unclear, clarify it before collecting more examples.
Before you mark this lesson complete
References
CME Group — Technical Analysis ↗
CME Group — Support and Resistance ↗