SkyAnalyst AI journal entry: EURUSD Long on Jul 15, 2026 closed +2.3R on TP3. Full workspace view, decision log, and AI reasoning, unedited.

SkyAnalyst is not one AI trader. It is four specialist agents — each with its own data pipeline, each maintaining state between evaluations, and each required to agree before a position is sized. They don’t chat in prose. They write structured messages to a shared state object that each reads on every evaluation cycle. That’s what makes the system auditable — and it’s what this case study will show, step by step, on a specific setup the trend agent almost passed on.
The July 15 session handed the model an unusually clean macro backdrop. Cooler inflation data had done the heavy lifting before the open: the morning's PPI came in soft, headline at -0.3% against a 0.0% forecast and core at 0.2% against 0.3%, extending a disinflation theme that had already collapsed July rate-hike odds from around 50% to roughly 15%. The Macro Agent read the regime bull at 78% confidence with a tradeability score of 82 out of 100. For a currency pair, that reading only matters if the dollar agrees, and it did: DXY at 100.72 sat below a falling five-day average, the US 10-year yield at 4.553% was below its own average and dropping, and VIX was easing. Three cross-asset checks, all pointing the same way.
That macro strength triggered a hard rule before a single candle was scored: with the Macro Agent above 70% and the dollar trend confirming, shorts were removed from consideration entirely, regardless of what any chart might suggest. This is worth noticing because it constrains the model rather than empowering it. Fable did not get to be clever about direction; it was told it could be long or flat, and nothing else.
On the chart, the Trend Agent agreed at 72% in a trending regime. Price near 1.1437 sat above yesterday's high, above the five-day average, above the daily pivot, and above VWAP, with the hourly moving averages stacked bullish and momentum stepping up (RSI climbing 43.8 to 58.7 as the histogram compressed toward zero). The fifteen-minute chart had just printed a fresh bullish moving-average cross. The one blemish, and the reason the trade became a pullback rather than a breakout, was a resistance shelf at 1.14434 to 1.14439: the Tokyo high, the Trend Agent's mapped resistance, and an hourly pivot all stacked in the same handful of pips. Buying directly into that wall would have been paying the highs for a stop nowhere useful. The model's own note said it plainly: chasing here is poor location.
The setup Fable flagged has a name among professional traders: a pullback continuation long in a confirmed uptrend. It is one of the most teachable entries in directional trading, and it is worth a minute here because the model executed the textbook version of it, and because understanding it makes the single-line decision log legible.
Price is trending up on the session, above VWAP with momentum and macro behind it. Instead of buying strength as it extends into resistance, the trader waits for a dip back into a defined support zone, here 1.14330 to 1.14360, where prior structure and short-term moving averages cluster. The entry is not the dip itself but a confirming reaction inside it: a five-minute bullish rejection or close back above the zone's reference level. The trader is buying the place the move should defend, not the place it is most extended.
The professional logic is about location, not prediction. Buying the breakout through 1.14439 means paying the session high with a stop that is either far away or structurally meaningless. Buying the pullback into 1.14350 means entering just above a stop at 1.14235 that sits below three separate reference points: the Trend Agent's invalidation, the New York session low, and the first support level. That is roughly 11 pips of risk placed where the thesis is genuinely wrong if it is hit, and the same targets are worth far more R from the pullback than from the chase.
The tell that separates a real pullback from a failing trend is where the dip stops. A shallow dip that holds well above the invalidation, into a zone thick with references, is the market pausing to catch its breath. A dip that slices through that zone on strong volume is the market changing its mind. Fable's plan required the first and defined the second as its exit, which is the whole discipline compressed into two price levels: enter where the pause should hold, leave the moment it does not.
An uptrend into resistance holds its pullbacks because two groups of buyers meet in the same zone: traders who missed the first leg and are waiting for a dip, and systematic flows anchored to the moving averages and fibonacci levels that define the zone. When macro is actively pushing the same direction, as a falling dollar was here, that dip-buying is reinforced rather than fighting the tape. The failure mode is equally defined: a fifteen-minute close back below the zone, or below the 1.14249 invalidation, says the trend has stopped defending itself, and the plan was to stand down rather than argue with it.
Fable runs the same four-agent framework as the tracked traders, and that framework has no favorite pattern. The system reads the tape first and fits the setup to what is actually there. On a different morning the same agents have sold failed reclaims, faded breakdowns, and stood aside entirely when the confluence did not clear. This EURUSD pullback was not run because pullbacks are a house style; it was run because the tape on July 15 offered one at full confluence while the macro regime forbade the opposite side. The dynamism is the product, and a beta model earns its way toward the tracked roster by showing it can apply that judgment, not by memorizing one trade shape. This debut is a single data point in that evaluation, which is exactly how we are treating it.
The macro and technical picture are aligned bullish for EURUSD. The Macro Agent carries a bull bias at 78% confidence (tradeability 82/100), driven by the CPI/PPI downside surprises that slashed July Fed hike odds from ~50% to ~15%. This morning's PPI confirmed the disinflation theme (headline -0.3% vs 0.0% forecast; core 0.2% vs 0.3%). The cross-asset check confirms:
| Factor | Reading | EURUSD Implication |
|---|---|---|
| DXY | 100.72, below 5-day EMA (101.03) and falling (101.31 → 100.91 → 100.72) | Bullish ✅ |
| US 10Y | 4.553, below 5-day EMA (4.567), falling from 4.587 | Bullish ✅ |
| VIX | 16.2, declining from 16.51, below 5-day EMA | Supportive ✅ |
Hard rule engaged: Macro confidence >70 with DXY trend aligned — shorts are off the table regardless of technicals.
The Trend Agent (BULLISH, 72%, TRENDING regime) agrees — this is the strongest agent foundation (both >60%). Price at ~1.1437 sits above yesterday's high (1.14224), the 5-day EMA (1.141), the daily pivot (1.14197), and VWAP (1.1428). The 60m chart shows fast EMA > slow EMA with price above both, RSI stepping up (43.8 → 53.6 → 55.3 → 58.7), and the MACD histogram compressing toward zero (-0.00031 → -0.00007) — momentum turning positive. The 15m printed a fresh bullish EMA cross at 10:30 ET with RSI 64.7 (confirming, not extreme).
Calendar gate: The 8:30 PPI and 10:00 Warsh testimony windows have passed (60+ min ago); the post-release move has settled into a bullish consolidation. No high-impact release within the next 30 minutes — gate is clear, though headline risk from ongoing testimony remains.
Key friction: Price is pressing directly into the 1.14434–1.14439 resistance shelf (Tokyo high / Trend Agent R / 60m fib pivot). Chasing here is poor location — the trade is a pullback long into structure.
✅ (a) Macro Agent bullish, 78% · ✅ (b) Trend Agent bullish, 72% · ✅ (c) DXY below falling 5-day EMA · ✅ (d) 10Y yields falling · ✅ (e) 60m EMA stack bullish, price above · ✅ (f) Entry zone at 15m 23.6% fib (1.14350) + 5m fast EMA (1.14325) confluence · ✅ (g) 15m RSI 64.7 — above 50, not extreme · ✅ (h) No high-impact event within 30 min
Setup #1: EURUSD LONG (Pullback Continuation)
Alternative trigger (same risk framework): If price breaks and holds above 1.14445 past a 15m close without pulling back into the zone, a breakout-retest long from ~1.14445–1.14460 with stop 1.14350 (~10 pips) targeting 1.14620 (TP1, ~1.6R) and 1.14750 (TP2, ~2.9R) is valid. Do not chase a raw spike through 1.14439 — wait for the hold/retest.
Bottom line: Full-confluence bullish continuation day. The trade is a patience play — let price come back to 1.1433–1.1436, or prove itself above 1.14445. No shorts under any technical pretext while macro runs 78% bullish with DXY confirming.
The macro regime is settled and one-directional: the Macro Agent is bull at 78% with the dollar falling, and the hard rule has already taken shorts off the table, so my only question is whether a long has earned its entry yet. I will not chase the 1.14434 to 1.14439 resistance shelf. The plan is the pullback into 1.14330 to 1.14360, where the fifteen-minute 23.6% retracement at 1.14350 and the five-minute fast moving average near 1.14325 converge with the prior consolidation. Price has come back into that zone and printed the five-minute bullish reaction I wanted, holding back above 1.14350. Every other box is checked: the hourly moving averages are stacked bullish with price above them, the fifteen-minute momentum is confirming without being extreme, and the calendar is clear of high-impact events for the next half hour. That is a full eight-of-eight read at 72% confidence. Entering long at 1.14350, stop 1.14235 below the invalidation, targets 1.14460, 1.14620, and 1.14750.
Each trade risks +$2,000 (1R). The system's actual scale-out behavior may differ, see disclaimer.
| Scenario | R-multiple | Profit on $100k |
|---|---|---|
| Stop hit (invalidated) | -1R | −$2,000 |
| TP1 exit (full close) | +0.96R | +$1,920 |
| TP2 exit (full close) | +2.35R | +$4,700 |
| TP3 reached (full potential) | +3.48R | +$6,960 |
| Scaled exit across TP1 to TP3 (realized)Actual | +2.3R | +$4,600 |
A first trade is a story, not a statistic, and it is worth being clear about which parts of it mean something and which parts are just a good day.
What earns attention here is not the +2.3R; plenty of trades pay out for the wrong reasons. It is that the model produced a full eight-of-eight confluence read, respected a hard macro rule that removed half the chessboard, and refused to chase a visible resistance shelf in favor of a structural pullback entry. Those are process behaviors, and process is the only thing a single trade can actually demonstrate. The realized R is the least informative number in this article.
A first winning trade tells you almost nothing about a model. A first well-reasoned trade tells you where to keep looking.From the beta review
The card shows +2.3R because the position was scaled out across all three targets as price climbed to 1.14750. Held whole to that highest target, the same move was worth +3.48R against the 11.5-pip risk; taken entirely at the first target it would have been about +0.96R. None of those numbers is the "real" one and the others fiction. They are the same trade measured under different exit rules, and we show the realized figure as the headline because it is what a scaled exit actually banks. For a model still being evaluated, we would rather over-disclose the accounting than let a reader assume a single clean number tells the whole story.
This trade adds nothing to the tracked ledger, and that is a feature, not a caveat. New models run in the sandbox precisely so that their early, small-sample record cannot flatter or distort the numbers the Pro and Lite traders have earned over hundreds of trades. If Fable strings together enough reads like this one, the conversation about promoting it changes. One trade does not start that conversation; it just opens the file.
We run new models the way a desk runs a new trader: on a simulated book, watched closely, with their results walled off from the firm's real track record until they have earned a place on it. Claude Fable 5 is in that phase now. It sees the same market data and runs the same four-agent framework as the tracked traders, but everything it does lands in the sandbox, and nothing it does moves the numbers we publish for Pro and Lite. That separation is deliberate and permanent for as long as a model is in beta. A promising first week cannot be allowed to borrow credibility from a record it has not contributed to.
It is fair to ask why we would publish a beta trade at all, if it does not count. The answer is that the reasoning is the product, and the reasoning was good. An eight-of-eight confluence read, a hard rule that correctly forbade the wrong direction, a pullback entry chosen over a chase, and a stop placed below genuine structure are exactly the behaviors we evaluate a model on. Showing one is more useful to a reader trying to understand how the system thinks than another entry in a win column would be. We are, transparently, letting you watch the audition.
What we will not do is tell you what happens next, because we do not know. First trades are the noisiest evidence there is, and a model that reads one session cleanly can misread the next three. Fable has taken exactly one trade. We will keep watching it work, we will keep it out of the tracked record until the sample is large enough to mean something, and if and when it earns promotion, we will say so on the day it happens and not before.
The SkyAnalyst Team
Because Claude Fable 5 is a beta model running in a sandbox, and beta models are walled off from the tracked performance record on purpose. The Pro and Lite traders have built their numbers over hundreds of trades, and a new model's tiny early sample should not be allowed to inflate or distort that record. Fable's results are evaluated separately and contribute nothing to the published ledger while it remains in beta.
A beta model is a new AI trader we are trialing inside the SkyAnalyst framework before deciding whether it earns a place among the tracked Pro and Lite traders. It sees the same market data and runs the same four-agent system, but on a simulated book whose results stay out of the official numbers. Claude Fable 5 is the model in that trial right now, and this EURUSD long was the first trade it has ever taken here.
Because the position was scaled out across all three take-profit targets as price advanced, so the realized result is a blend of the three rather than the value of any single one. That blend came to +2.3R, the figure on the card. Had the entire position been held to the highest target it reached, TP3 at 1.14750, the full-potential result would have been +3.48R against the 11.5-pip risk. Both are accurate; the realized number is what the scaled exit actually produced.
The framework grades a setup against eight independent checks: macro bias, trend-agent bias, the dollar's trend, the direction of yields, the hourly moving-average structure, the entry's location at a real level, short-term momentum, and a clear economic calendar. Eight of eight means every one of them lined up behind the trade, which is rare and is why the setup graded a quality score of nine out of ten. A high score raises conviction; it does not change position size or move the stop.
They could, if it earns promotion out of beta. That decision depends on a large enough sample of well-reasoned trades, not on any single result, and it is not something one debut settles. If Fable is ever moved onto the tracked roster, we will say so explicitly on the day it happens, and only from that point forward would its trades affect the published record.
Seven-day free trial. No credit card. Full access to the Trend Agent, Macro Agent, and six-factor confluence scoring.
Trading involves substantial risk of loss. Past performance is not indicative of future results. The analysis shown was produced by an AI model operating on SkyAnalyst's live trading infrastructure; it is shared for educational and research purposes only and is not financial advice. Beta model. This trade was taken by Claude Fable 5, a model being evaluated in the SkyAnalyst sandbox. Its results do not count toward the tracked Pro and Lite performance record and are shown for transparency during the evaluation. About reported results. The AI publishes three take-profit targets (TP1, TP2, TP3) per trade. This position was scaled out across all three as price advanced, so the realized result shown as the headline, +2.3R, is a blend of the three exits rather than the value of any single target. Held whole to the highest target it reached, TP3, the full-potential result would have been +3.48R against the 11.5-pip risk. Both numbers are honest; the realized one is what the scaled exit actually banked. Simulated returns in this article are calculated against a hypothetical $100,000 account at 2% risk per trade (1R = $2,000). These are educational reference figures and do not reflect any specific account or broker execution. Your actual result depends on your position size, your risk parameters, and live market conditions.

Rising yields, a rising dollar, a rising VIX, and a gapped-down Nasdaq bouncing into yesterday's low. All seven confluence checks passed, the system sold the failed retest, and the market paid it out in five minutes.

Confidence is not a trigger. The system sat through evaluations at 80% and 82% because the pullback trigger had not printed, then entered a Dow long with fourteen minutes left before its own midday cutoff.

Our Macro Agent leaned bearish. Our Trend Agent read a breakout. The tiebreaker was the dollar index, falling below its 5-day average, and the result was a 23-hour EURUSD long that never traded a pip underwater.