SkyAnalyst AI journal entry: USDJPY Long on May 15, 2026 closed +0.78R on TP1. 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 May 15 New York AM open handed USDJPY a coherent yield-driven picture with one loud caveat. The primary driver on this instrument is the US 10-year yield, and it was unambiguous: 4.581 percent, a fresh five-day high, sitting well above its five-day EMA at 4.493 percent and roughly ten basis points above yesterday's close at 4.483 percent. The framework treats a rising 10-year at a five-day high as a strong long bias for USDJPY, and it activates a hard veto against shorts in that configuration. There was exactly one tradeable side.
The Dollar Index reinforced it. DXY at 99.278 was above its five-day EMA at 98.565 and above yesterday's high, a strong dollar trending higher. The risk-tone reads were where the picture got mixed. The VIX at 18.71 was above its five-day EMA but retreating from the session's 19.27 high, mildly risk-off rather than spiking. NYSE advance-decline at minus 1,499 was near five-day lows, genuinely risk-off internals. Gold at 4,533 was below its five-day EMA with no divergence to flag. This was the classic yields-up, equities-wobbling regime, where USDJPY historically follows yields but extended longs warrant caution.
The Macro Agent is where the disagreement lived. It scored USDJPY bias bull with a score of 71, which on the surface aligned with the yield-driven long. But its confidence sat at only 45 percent, it flagged tradeability as avoid at 35 out of 100, and it carried a timeframe divergence where the group bias read strong bear at 68 percent. Non-farm payrolls had been released about ninety minutes earlier and was no longer a near-term veto. The macro side did not block the trade, but it did not endorse it cleanly either. It is the kind of split that defines what happens next.
By the time the system was scoring entries, the 60-minute structure was a clean bullish stack in a short-term pause. Price near 158.677 sat above the 60-minute EMA9 at 158.43, which sat above EMA21 at 158.18, a fully bullish stack. RSI on the 60-minute was 66.3, MACD was above zero with the histogram improving, and price held above the daily pivot at 158.195. The Tokyo session had closed near its highs after ranging 158.34 to 158.633, a bullish carryover into London and New York.
The lower timeframes told the entry story. The 15-minute showed EMA fast above slow, RSI near 65, a MACD histogram turning positive, and a volume spike on the breakout candle at 158.69. The 5-minute had price above VWAP near 158.51 with RSI running hot at 67 to 77, recently overbought, and a New York session high printed at 158.735. That last detail is the one that mattered: price was extended above the 5-minute VWAP at the upper two-standard-deviation band and above the 15-minute structure. A fresh long at the highs was a chase. The defined entry was a pullback into the broken yesterday-high zone at 158.595 to 158.667, now flipped to support, where the 15-minute EMA9 near 158.55 and a rising 5-minute VWAP converged.
The confluence gate returned six of seven cleared: the 10-year direction matched the long, the 60-minute EMA stack supported it, the five-minute entry was defined at a real level, Tokyo bias aligned, no high-impact event sat inside thirty minutes, and the trend proxy was bullish. The single fail was the Macro Agent: avoid tradeability and the timeframe divergence. That, combined with the risk-off internals, docked conviction from the technical 7.5-to-8.5 band down to an effective 7.5 and the grade landed at C+. Sizing came in reduced, at roughly 0.5 to 0.75 percent equity risk rather than the standard, because the macro disagreement was structural rather than technical noise.
The setup the Trend Agent flagged was a USDJPY Pullback Long in a confirmed yield-driven intraday uptrend. It is one of the most repeated patterns in foreign-exchange intraday work, and walking through it explains why the system declined the first read at 158.735 and only scored the entry ninety seconds later on the retrace.
Price establishes an intraday uptrend on the higher timeframe: fast EMA above slow EMA, price holding above both, momentum confirmed by RSI above its midline and a macro driver pointing the same way. Inside that uptrend, price breaks a prior reference level, in this case yesterday's high at 158.667, then retraces back toward it. The cleanest version of the entry zone is the broken level itself, now flipped to support, in confluence with a rising session VWAP and a fast EMA on the entry timeframe. The entry is not the breakout. The entry is the pullback holding the flipped level with momentum rebounding, because chasing the breakout high buys the extended end of the move.
This is a staple of structured continuation trading. The math favors the retrace over the chase. Buying the session high at 158.735 after a clean run off the Tokyo lows exposes the position to the first mean-reversion pullback, which on May 15 was already overdue with the 5-minute RSI between 67 and 77. Buying the pullback into 158.595 to 158.667, where the broken yesterday-high, the 15-minute EMA9, and a rising VWAP converge, places the entry near the base of the next leg up with the stop sitting just below the structure the entry depends on. The reward per unit of risk improves materially, turning a poor chase at the highs into a clean structural long from support.
Volume and momentum are the tells. A breakout that runs on a volume spike and then pulls back on lighter participation is digesting, not reversing. That was the picture on May 15: the 15-minute breakout candle spiked volume, and the pullback into the zone arrived without a structural break. The confirming evidence is a five-minute reaction inside the zone, a rejection wick or a bullish reversal candle with RSI rebounding above 50, holding above VWAP. Without that reaction, the touch is just a touch.
Broken reference levels and session VWAP are two of the most-watched intraday anchors in execution. When a prior high flips to support and price retraces into it with VWAP rising into the same band, the level becomes self-reinforcing because everyone is watching the same flip. When price holds it in a confirmed uptrend with the macro driver aligned, the pullback is absorbing profit-taking at a price the average participant agrees is a discount for the session. When price breaks back below it instead, the breakout is invalidated and the thesis is rescored. The pattern works because the level is functional, not symbolic.
SkyAnalyst does not favor the USDJPY Pullback Long as a strategy. The same framework runs a sell-the-rally short on the same instrument when the yield picture inverts, ran a counter-trend fade on GBPUSD two days earlier, and applies a hard short veto here only because the 10-year was at a five-day high and rising. Each of those is a different playbook with a different edge.
The system reads the tape first and fits the pattern to what is actually there. It does not arrive at the chart with a preferred setup and hunt for a reason to run it. The four agents running in parallel, trend, macro, cross-asset, risk, each contribute a different lens. When they agree, we trade. When they do not, we size down or sit out. On May 15 the disagreement was explicit: the Trend Agent read a clean six-of-seven long, the Macro Agent flagged avoid at 45 percent confidence with a strong-bear group divergence, and the Risk Agent reconciled the two by holding the grade at C+ and cutting equity risk to roughly 0.5 to 0.75 percent. The system does not have a favorite setup. It has a process, and this trade is what that process looks like when it runs into its own internal argument.
| Metric | Value | Signal |
|---|---|---|
| Current 10Y | 4.581% | At 5-day high |
| 5-day EMA | 4.493% | Yield well above EMA |
| Today's High | 4.581% | New 5-day high |
| Yesterday's Close | 4.483% | +9.8bp expansion |
| Range Position | Above yesterday's high | Breakout |
Verdict: 10Y is at the 5-day high and rising aggressively — strongly bullish USDJPY. Default directional bias = LONG.
⚠️ 10Y-extreme veto active for shorts — no shorts permitted while 10Y is at 5d high and rising.
| Asset | Reading | USDJPY Impact |
|---|---|---|
| DXY | 99.278 vs 5dEMA 98.565, above yesterday's high | ✅ Bullish confirm |
| VIX | 18.71 vs 5dEMA 17.99, above yesterday's high | ⚠️ Mild risk-off |
| NYAD | -1,499 (below yesterday's low, near 5d lows) | ❌ Risk-off internals |
| Gold | 4,533 — below 5dEMA (4,665), well off highs | ✅ No gold divergence |
| Oil | Elevated, above 5dEMA | Neutral |
Cross-Asset Read: Yields + DXY firmly bullish, but VIX above EMA and NYAD deeply negative inject a risk-off undercurrent. This is the classic "yields up, equities wobbling" regime — historically USDJPY follows yields, but caution is warranted on extended longs.
Carry-unwind compound check: VIX is above 5d EMA but NOT spiking to new 5d highs (5d high was today's 19.27, current 18.71 retreating). USDJPY is at the 5-day high zone (158.74). Risk elevated but not in veto territory — proceed with caution.
Tokyo session: High 158.633 / Low 158.34 → price closed Tokyo near the highs → Tokyo bullish bias.
60min structure:
Macro Agent: USDJPY bias bull (score 71) BUT confidence only 45% and tradeability flagged "avoid" (35/100) with TIMEFRAME DIVERGENCE (group bias = strong_bear 68%). NFP was 1.5h ago (already released, no longer a near-term veto).
Key Levels:
Best entry: Pullback to the broken yesterday-high zone 158.595–158.667 (now flipped to support), confluence with 15m EMA9 (~158.55) and 5m VWAP rising into that zone.
| # | Confluence | Status |
|---|---|---|
| i | 10Y direction matches (rising → long) | ✅ |
| ii | Macro Agent aligns ≥6/10 | ❌ (45%, tradeability "avoid") |
| iii | Trend agreement (no Trend Agent provided, use 60m proxy) | ✅ (60m bullish stack) |
| iv | 60m EMA stack supports long | ✅ |
| v | 5m entry at defined level + RSI confirm | ✅ (pullback to broken 158.667) |
| vi | Tokyo bias supports trade | ✅ |
| vii | No high-impact USD event <30m | ✅ (NFP already passed) |
Score: 6/7 → High confidence (7.5-8.5 range)
⚠️ Macro Agent's "avoid" tradeability and timeframe divergence dock conviction. Risk-off internals (NYAD, VIX above EMA) argue against chasing. Effective score 7.5.
| Field | Detail |
|---|---|
| Bias | Long (yield-driven breakout continuation) |
| Entry Zone | 158.595 – 158.640 (retest of broken yesterday high 158.667 + 15m EMA9) |
| Entry Trigger | 5m bullish reversal candle (hammer/engulfing) in zone with RSI rebounding above 50, OR rejection wick off 158.60 holding above VWAP |
| Stop Loss | 158.505 (below 5m VWAP, below 15m EMA21 158.48, ~13-15 pips below entry mid) — ~1.2x 15m ATR |
| TP1 | 158.735 (NY/session high) — ~1.0R |
| TP2 | 158.85 — measured move from breakout, ~2.0R |
| TP3 | 159.00 psychological round — ~3.0R (only if yields continue higher and DXY holds) |
| R:R | 1.5:1 to TP1 (after structural stop), 2.5:1 to TP2 |
| Confidence | 7.5/10 (High) — 6/7 confluences |
| Invalidation | 5m close below 158.48 (daily VWAP / EMA21 confluence) OR 10Y reversing back below 4.52 |
One high-quality long setup on pullback only. No short setups — 10Y extreme veto active. The 10Y/DXY combo gives a clean technical bullish foundation, but the Macro Agent's "avoid" rating plus risk-off internals (NYAD, VIX) require disciplined entry at structure rather than chasing. Do not market-buy the highs.
14:13 UTC, 40% confidence, decision WAIT. The structural and macro case for a long was already largely in place: the 10-year at a five-day high and rising, the 60-minute EMA stack bullish, DXY above its five-day EMA, Tokyo carryover bullish, and the framework's short veto active. But price had just printed the New York session high at 158.735 and was extended above the 5-minute VWAP at the upper two-standard-deviation band, with the 5-minute RSI running hot between 67 and 77. A fresh long here is a chase into an overbought five-minute, and the Macro Agent's avoid tradeability and strong-bear group divergence argue against paying up. The defined entry is a pullback into the broken yesterday-high zone at 158.595 to 158.667, and price has not retraced there. The trigger has not assembled. Declining this evaluation.
14:15 UTC, 68% confidence, decision ENTER. Ninety seconds later the read clears. Price has pulled back off the 158.735 session high into the entry band, holding the broken yesterday-high at 158.667 now flipped to support, with the 15-minute EMA9 near 158.55 and a rising 5-minute VWAP converging into the zone. The five-minute showed the reaction the pattern requires, a rebound off the flipped level with momentum turning back up rather than a breakdown through it. None of the higher-timeframe or macro inputs changed in the ninety-second window: the 10-year was still at a five-day high, the EMA stack still bullish, the short veto still active, and the Macro Agent's avoid still on the books. What changed is that price was no longer extended at the highs but holding structure on the retrace. Confluence math returned 68 percent on the C+ grade, with the macro disagreement holding sizing at roughly 0.5 to 0.75 percent equity risk. Entering long at 158.634, stop 158.505, take-profit one at 158.735.
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 hitActual | +0.78R | +$1,560 |
| TP2 hit — not tracked | +0R | +$0 |
| TP3 hit (max potential) — not tracked | +0R | +$0 |
The directional case for the USDJPY long was intact at both evaluations. The 10-year was at a five-day high and rising the entire time, the 60-minute EMA stack was bullish, DXY was above its five-day EMA, and the framework's hard short veto was active throughout. The only thing that changed between 14:13 and 14:15 was price location. At 14:13 price was extended at the session high and the system waited. At 14:15 price had pulled back into the flipped-support zone and the system entered. Two evaluations, ninety seconds, one variable: was price chasing the high or holding the retrace.
That is the smallest version of the discipline this system is built around. A discretionary trader watching the same yield-driven breakout would very plausibly have market-bought 158.735, because the macro story was clean and the move looked strong. The single wait cycle is not the system being slow. It is the system refusing to pay the extended price when a defined pullback entry was the plan, on a setup the Macro Agent had already flagged avoid. The reward-to-risk on a chase at 158.735 with the same stop at 158.505 would have been materially worse than the entry at 158.634 the system actually took.
When direction is clear but price is extended, the system's job is to wait for the retrace into structure, not to chase the breakout. - From the desk - May 15, 2026
The second lesson is the agent disagreement. The Macro Agent did not endorse this trade. It scored the bias bull but flagged tradeability avoid at 45 percent confidence with a strong-bear group divergence, and on a system that required unanimous agreement that would have been a no-trade. SkyAnalyst does not require unanimity. It requires the Risk Agent to reconcile the split, and here it did so by sizing the position down to roughly 0.5 to 0.75 percent equity risk rather than blocking it outright. The technical confluence was strong enough to take, the macro caveat was real enough to respect, and the resolution was a smaller position rather than a binary. The trade closed at TP1 for +0.78R (TP1) and +$1,560 (TP1) on the hypothetical $100,000 account at 2 percent risk, with zero recorded drawdown. We are not claiming the Macro Agent was wrong to flag avoid. We are showing how the system trades through an internal disagreement rather than freezing on it.
Three counterfactuals matter here. The system did not enter at 14:13 even though the macro and higher-timeframe case was already clear, because the framework requires the pullback into structure, not the breakout high. The system did not block the trade despite the Macro Agent's avoid rating and strong-bear group divergence, because the resolution to a partial disagreement is reduced size, not a veto. The system did not chase beyond TP1: the broker recorded the exit at the first take-profit at 158.735, the same level the system declined to chase as an entry ninety seconds earlier. Each of those decisions came from the rules, not from an operator override.
The May month-to-date entering this trade was running positive. Adding +0.78R (TP1) here continues that line. The same session's index work sits in the May 13 US30 short at trend resistance, and the year-to-date arc is in the 2026 year-to-date recap.
The interesting thing about this trade is not the result. A USDJPY Pullback Long that clears six of seven confluences and fills TP1 for +0.78R (TP1) is exactly what the pattern produces when yields are driving and the market does not extend much past the first target. The interesting thing is that the system took it at all, because one of its own four agents had flagged it avoid.
This is worth being precise about. The Macro Agent read USDJPY bias bull with a score of 71, which is directionally aligned, but its confidence was only 45 percent, its tradeability output was avoid at 35 out of 100, and it carried a timeframe divergence where the group bias was strong bear at 68 percent. On a naive system that demands every agent agree, that single avoid would have been a no-trade and this case study would not exist. SkyAnalyst is not that system. The agents write structured messages into shared state, they are allowed to disagree, and the Risk Agent's job is to reconcile the disagreement into a position size rather than a binary yes or no. Here the reconciliation was a reduced position at roughly 0.5 to 0.75 percent equity risk on a C+ grade.
The patient part was small but real. The Claude Opus 4.7 executor that ran this automation declined the first evaluation at 14:13 when price was sitting at the session high at 158.735, extended above the five-minute VWAP with RSI in the high 70s. Ninety seconds later, on the pullback into the flipped-support zone, it entered at 158.634. That is the entire discipline of this trade compressed into a two-minute window: do not chase the high your own plan told you to fade as an entry. The exit landed at exactly that 158.735 level, the take-profit the system had declined to buy into as an entry, which is a tidy illustration of why the pullback rule exists.
Through May 15, 2026, the cumulative ledger reads roughly +15.41R year-to-date across 91 trades from the January 12 inception. This trade contributes +0.78R (TP1) at the credited TP1 level, and the simulated $100,000 account at 2 percent risk per trade tracks +$1,560 (TP1) on this single trade in dollar terms. At the reduced 0.5 to 0.75 percent applied for the macro disagreement, the realized dollar return scaled proportionally lower than the headline figure. The May month-to-date reads +2.69R across 15 trades, and the quarter-to-date reads +2.50R across 33 trades.
The next case study will be filed when its position closes. We work through every instrument the same way: one trade at a time, the median trade reported the same as the outlier, the disagreements shown rather than smoothed over.
From the SkyAnalyst Team.
The directional case was already clear at 14:13, but price had just printed the session high at 158.735 and was extended above the five-minute VWAP with RSI between 67 and 77. The defined plan was a pullback entry into the broken yesterday-high zone, not a chase at the high. At 14:15 price had retraced into that zone and held it with momentum turning back up, so the entry trigger was satisfied and confidence cleared from 40 to 68 percent.
SkyAnalyst does not require every agent to agree. The four agents write structured messages into shared state and are allowed to disagree. The Macro Agent flagged avoid at 45 percent confidence with a strong-bear group divergence, but the Trend Agent had a clean six-of-seven long. The Risk Agent reconciles a partial disagreement into a position size rather than a binary, so the resolution was a reduced position at roughly 0.5 to 0.75 percent equity risk rather than a no-trade.
USDJPY tends to track US Treasury yields closely because the rate differential between the US and Japan drives the carry. On May 15 the 10-year was at a five-day high at 4.581 percent and rising about ten basis points off the prior close. The framework treats a rising 10-year at a five-day high as a strong long bias for USDJPY and activates a hard veto against shorts, which left exactly one tradeable side.
The pattern fails when the broken level the entry depends on does not hold, or when the yield driver that gated the setup reverses mid-trade. On May 15 the stop was 158.505, below the five-minute VWAP and the 15-minute EMA21, roughly thirteen to fifteen pips below the entry mid. A five-minute close back below the flipped-support zone, or the 10-year reversing under 4.52 percent, would have invalidated the thesis. Neither fired, and the position filled TP1 at 158.735.
The rolling tally tracks month-to-date, quarter-to-date, and year-to-date net R alongside trade count and win rate. After this trade the May reads +2.69R across 15 trades, the quarter reads +2.50R across 33 trades, and the year reads +15.41R across 91 trades. Publishing the tally with every entry keeps the reporting honest. Readers see the rolling expectancy emerge from clean wins, modest wins, and losers, rather than a curated highlight reel.
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. About reported results. Each model outputs three take-profit targets (TP1, TP2, TP3) per trade. In live execution, models typically scale out at TP1 for risk management — the broker position records this as a TP1 exit. The R-multiples and dollar returns shown in this article reflect the full potential of the trade: where the market actually traveled to (the highest take-profit hit, or stop loss) before the setup was invalidated or exhausted. This lets readers see the complete arc of each setup, not just where the position was closed. 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.

A risk-off Euro short where the system scored six consecutive waits in the low 40s, then flipped to enter at 62 percent, and the position closed TP1 for +2.00R (TP1) with zero recorded drawdown.
Three losses, 2.25R given back against a year that still reads +20.43R. The honest portfolio view: what every stop taught us, and what the drawdown curve says about a week that drew down 2.4 percent and recovered.
Ten canonical trades, seven winners, three losers, +5.96R net at the TP1 baseline. Tuesday and Wednesday ran on Claude Opus 4.6, Friday switched to Opus 4.7, and GBPUSD came online as a new instrument and won both its trades.