Breakout — learning guide
Strategy intent
The Breakout template looks for price breaking defined levels with a buffer to avoid noise. The first major condition tests a resistance breakout (break_res); if that fails, the flow chains to a support break (break_sup). Outcomes are buy, sell, or hold depending on which tests pass. This is a directional continuation style idea: when price clears a level by enough margin, the process assumes momentum may follow. It is not a guarantee—false breaks are common around news and illiquid periods.
JayBot represents levels as numeric price fields inside breakout_level evaluator configs. In real deployment you would typically align those numbers with actual support/resistance from your charting process or an upstream data feed. In the static template, they are placeholders (e.g. round numbers) so the graph validates and runs in demos. Tuning those levels for a live pair is the core user responsibility when you adopt this template.
Reading the J-Trading flow diagram
From start, break_res runs first. On true, the flow jumps to buy. On false, it proceeds to break_sup. If break_sup is true, sell fires; if false, hold. That ordering makes resistance breaks “first priority” in the template’s narrative—useful when your research treats upside breaks as the primary scenario for a given instrument, but arbitrary in absolute terms. Because the insights playground locks topology, you cannot swap that order without cloning the flow elsewhere in Strategy management; here you only adjust numbers inside nodes.
The breakout_level configuration includes side (resistance or support), a level price (resistance or support key depending on side), and buffer. Buffer is added or subtracted in the evaluator implementation so that a close must clear the level by at least that increment. Larger buffer ⇒ fewer, more conservative signals; smaller buffer ⇒ more triggers, more false positives.
Parameters in depth
- resistance / support: Absolute price references in the template’s default JSON. When you apply to a user strategy, update them to realistic values for your symbol’s scale (e.g. major FX vs JPY pairs). Mixing decimal places incorrectly is a common configuration bug.
- buffer: Expressed in price units like the level itself. On EUR/USD,
0.0001is a single pip in common quoting; always verify your pair’s pip definition. - side: Normally do not flip manually inside a node whose id implies its role; the editor modal selects resistance vs support per node. Changing sides without matching the level keys can create nonsense geometry (e.g. support test with a resistance-only config).
Filters absent in this template
Unlike mean_reversion_rsi, this breakout fixture does not include spread or session filters in the JSON. That makes the educational graph smaller, but in production you might stack filters by editing a copy of the flow in full editor mode—or by combining with risk settings elsewhere. The insights page focuses on what ships by default and how to parameterise it safely.
Presets and versioning
Each time you click Save version, JayBot records merged_rules_json identical to what the engine would evaluate after merging your overrides into the canonical template. If you iterate on buffer five times, you get five comparable snapshots—excellent for journals. Apply pushes the chosen configuration into a Trading strategy row; enable that row only when you intend the bot to consume it.
AI explanations
The delta explainer compares your draft configs to defaults and summarises behavioural changes—e.g. “you widened the breakout buffer on resistance, so long signals require a stronger push through the level.” Misinterpretations are possible; cross-check against the diagram. Credits decrement per successful OpenAI call like other features.
Risk awareness
Breakout systems can suffer whipsaw when levels are too tight or volatility spikes. Always stress-test with hold outcomes dominating during calibration. If every run returns buy or sell, your levels may be trivially easy to hit—inspect context JSON in Test tooling.
Extended practice
- Set resistance/support to prices bracketing a recent demo range for a pair you watch.
- Adjust buffer in three steps; save a version at each step.
- Read AI summaries and verify they mention buffer/level changes.
- Apply to a strategy named after the pair and date; disable until you validate.
Connection to Trading processes
Custom strategies you own appear under Trading processes in the sidebar. System templates stay read-only at the top. This separation reinforces that defaults are curriculum, while your rows are laboratory.
Historical levels vs static JSON
Many breakout systems recompute levels every session from swing highs and lows. This template stores fixed numbers until you change them. That is a teaching simplification: you learn buffer and side mechanics without a secondary data pipeline. In a full custom flow you might replace static prices with expressions—outside this playground. Treat the defaults as scaffolding, not as magic levels for any particular pair.
When holds dominate
If evaluation logs show mostly hold, either levels are unreachable, buffer is too wide, or price has not interacted with your chosen zone. That is valuable diagnostic information. Resist the urge to narrow buffer blindly until you verify levels are even in play for recent data.
Pair this template with a habit of recording which levels you set and the exact timestamp—markets will invalidate static levels eventually, and you want to know whether a losing streak came from structure change or randomness. Preset versions automate part of that record-keeping; your external journal fills in the macro story.
You can also use the AI delta tool after small buffer tweaks to confirm whether the model’s plain-English description matches your intent. If the model says you made breakouts harder but you thought you loosened them, re-open the node: you may have edited the wrong field or misread pip decimals. Catching that mismatch early saves more than credits—it saves confusion during live incidents.
Breakout traders often debate closing vs intrabar breaks; JayBot’s evaluator follows whatever rule the engine implements for breakout_level. Read the evaluator documentation or source when you need precision—this page stays at the conceptual layer so you focus on levels, buffers, and order of tests inside the graph.
This guide is for education inside JayBot. It is not financial advice.