SkyAnalyst AI journal entry: EURUSD Short on Apr 23, 2026 closed +4.17R 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.
EURUSD had been drifting lower through the NY AM session when the Trend Agent's first evaluation landed at 14:45 UTC. Price was pressing against an intraday resistance shelf near 1.1710. DXY was bid, European PMIs had disappointed badly that morning, and the macro backdrop was as clean a USD-strength tape as the system had seen in two weeks. And yet the first nine evaluations — strung two minutes apart across thirteen minutes — all said wait. The tenth did not. Confidence jumped from 40 percent to 72 percent in a single evaluation cycle, and the short triggered at 1.17105. Over the next two hours and twenty-four minutes the trade moved cleanly through TP1, TP2, and TP3, closing at 1.1679 for a 4.17R outcome.
The setup the Trend Agent was watching did not come out of nowhere. DXY had been above its 5-day EMA for four consecutive sessions, and the morning's US flash PMIs had beaten expectations across the board while Eurozone services PMIs came in fourteen full points below forecast. German Services printed 46.9 against an expected 50.4. French Services printed 46.5 against 48.5. Those are not marginal misses — they are structural growth shocks that force the euro to trade defensively until a data point contradicts them.
By the time the trend agents started cycling through EURUSD at 14:45 UTC, the pair had already given back most of the Asia-session bounce and was testing the prior week's distribution shelf. On a clean tape, this would have been a conditional short at resistance. The question the system was not willing to answer quickly was whether the resistance was actually holding, or whether it was just the first touch.
The setup at the top of this piece has a name among professional traders: a conditional short at confirmed resistance rejection. It is one of the cleaner entries in the macro-discretionary toolkit, and it is worth taking a minute to name it — both because it makes the decision log readable and because it is a particular window into how the Trend Agent weights touch count.
The trader draws a resistance shelf based on prior distribution — a place where supply has printed before. Price rallies up into it, and the trader waits. The rally either breaks through (invalidating the shelf) or it fades. The pattern triggers on the fade, but only after the rally has actually tried and failed. The discretionary equivalent is waiting for a bearish engulfing on meaningful volume at the shelf, rather than shorting the first test.
Discretionary macro desks apply this constantly in currencies because currencies are cleanest at resistance — liquidity thins at obvious levels and reactions are visible on the minute charts. The rule of thumb is that the first touch of a fresh shelf holds roughly forty to fifty percent of the time. The second or third touch, when it holds, is where the math gets interesting: roughly seventy percent of rejections that print after a clean first-touch attempt end up as continuation moves in the direction of the prior distribution. That is the whole premium the patient trader is pricing in.
A level is not a signal — it is a hypothesis. The market's only way to tell you whether the shelf is real is to test it and print a rejection. The first test is noisy: resting orders get probed, stops above the shelf get swept, and the tape looks ambiguous. If the shelf still holds after the sweep, the next rejection has real structural depth. Everyone who was going to chase the break has been stopped out. Everyone who was waiting to fade has been given a clean setup. The second rejection is where the flow actually aligns.
SkyAnalyst does not favor resistance-rejection shorts. The same morning, the Macro Agent was also watching a US30 long setup at micro-support and a USDJPY continuation at trendline retest. The confluence math picks the playbook dynamically; it is not a template that gets applied to every session regardless of context. What the Trend Agent wants at any given moment is the configuration that has the strongest multi-agent alignment, and on April 23 that configuration happened to be a EURUSD short because the macro gate was green, the cross-asset confirmation was green, and the technical pattern had just printed its first real rejection.
The system reads the tape first and fits the pattern to what is there. There is no favorite setup, no preferred direction, no instrument bias. The confluence math picks the playbook each evaluation cycle, and on a different morning — one with a softer DXY or a stronger euro data print — the same resistance shelf would have been ignored entirely.
Current Price: ~1.17063 | Time: ~10:25 AM ET | Session: NY AM (active)
| Indicator | Value | 5D EMA | Trend | EURUSD Implication |
|---|---|---|---|---|
| DXY | 98.581 | 98.343 | Above EMA & rising (98.014 → 98.346 → 98.573 → 98.581) | Bearish EURUSD |
| US 10Y | 4.290 | 4.289 | Rising (4.258 → 4.299 → 4.305 → 4.290, near highs) | Bearish EURUSD |
| VIX | 19.09 | 18.95 | Slightly above EMA, marginally rising from 18.91 close | Mildly bearish EURUSD |
DXY is the dominant driver. It is clearly above its 5-day EMA and has risen steadily over the past 4 sessions. This is the strongest bearish signal for EURUSD.
Macro Fundamental Context:
Trend Agent Macro Note: "SUPPORTIVE — Macro backdrop favors USD strength: US flash PMIs beat while Eurozone services PMIs disappointed sharply, reinforcing growth divergence."
Macro Bias: BEARISH EURUSD | Confidence: ~70–75 (strong DXY trend + fundamental PMI divergence + yield support)
Hard Rule Check: Macro confidence is at/above 70, and DXY trend aligns bearish. Do not take long EURUSD trades regardless of technicals.
| Agent | Direction | Confidence | Notes |
|---|---|---|---|
| Macro (derived) | Bearish | ~70–75% | DXY rising, yields supportive, PMI divergence |
| Trend Agent | Bearish | 66% | Moderate strength, TRANSITIONING regime, reduced size recommended |
Both agents agree directionally (bearish) with confidence ≥60. This is the strongest foundation scenario. However, the Trend Agent flags a transitioning regime (lower TFs showing bullish rebound) and recommends reduced size — this tempers aggressive entries.
Key Trend Agent Levels:
EMA Stack:
RSI: 49.1 — Recovering from 27.6 oversold but not yet bullish territory. Neutral, consistent with a bounce within a downtrend.
MACD: Histogram turned positive (+0.00014) for the first time — the bearish momentum is decelerating, but the MACD line remains well below zero (-0.00087). This signals a corrective bounce, not a trend reversal.
Price vs. Key Levels:
HTF Bias: Bearish — EMA stack is bearish, price is bouncing into resistance from an oversold condition. The move up into 1.1706–1.1712 is a counter-trend retracement.
| Time (ET) | Event | Impact | Status |
|---|---|---|---|
| 8:30 AM | Unemployment Claims | Medium | ✅ Released — cleared (>90 min ago) |
| 9:45 AM | US Flash PMIs | Medium | ✅ Released — cleared (~40 min ago) |
No high-impact events remaining in the next 30+ minutes. The calendar is clear for trade entries.
Calendar Gate: CLEAR ✅
15-min assessment: Price is in an active counter-trend squeeze higher. For a short setup, we need to wait for this squeeze to exhaust near resistance and RSI to turn back below 60.
5-min assessment: Price is surging into a heavy resistance cluster (1.1708–1.17133). The 5-min RSI at 68.6 is nearing overbought. This is a potential short entry zone if price rejects this cluster — but not yet triggered.
| # | Confluence Factor | Status | Score |
|---|---|---|---|
| (a) | Macro Agent bias bearish, confidence ≥60 | ✅ Bearish, ~70–75% | 1 |
| (b) | Trend Agent bearish, confidence ≥60 | ✅ Bearish, 66% | 1 |
| (c) | DXY 5-day trend confirms (rising = short) | ✅ Above 5D EMA, rising 4 consecutive days | 1 |
| (d) | 10Y yield trend supports (rising = short) | ✅ Rising from 4.258 to 4.290+, above 5D EMA | 1 |
| (e) | 60-min EMA stack supports short | ✅ Fast < Slow, price below slow EMA | 1 |
| (f) | Price at VWAP, session level, or Fib on 5m | ⏳ Price approaching 1.1708–1.17133 resistance cluster (60m Fib 78.6%=1.17069, session high, Trend Agent R) — not yet touching/rejecting | 0 (pending) |
| (g) | 15-min RSI confirms (<50 for shorts, no extreme) | ❌ RSI at 62.4, above 50 — currently favoring longs, not shorts | 0 |
| (h) | No high-impact event within 30 minutes | ✅ Calendar clear | 1 |
Current Score: 6 of 8 confirmed, with (f) pending trigger and (g) not yet aligned.
If price reaches the 1.17108–1.17133 zone and the 15-min RSI begins turning down (next 15-min close), this becomes 7 of 8 = High Confidence.
Price is moving toward the short zone but has not yet provided a rejection signal. The setup is staged, not live.
| Parameter | Value |
|---|---|
| Bias | BEARISH (Short) |
| Entry Zone | 1.17080 – 1.17130 (Trend Agent R 1.17133, 60m resistance 1.17108, today's high 1.17120, Fib 78.6% 1.17069) |
| Entry Trigger | Rejection candle on 5m at or above 1.17080: bearish engulfing, pin bar/doji with upper wick, OR price stalls and 5m RSI turns below 60 after tagging zone. If price blows through 1.17133 and holds above on a 5m close, no entry — setup is invalidated. |
| Stop Loss | 1.17180 (above Trend Agent invalidation at 1.17133 + ~5 pip buffer for slippage/automation) |
| Risk (Entry to Stop) | ~10 pips from mid-entry (1.17080) to stop (1.17180) = 0.00100. 60m ATR = 0.001 → stop = 1x ATR ✅ |
Take Profit Levels:
| Target | Level | Rationale | R:R |
|---|---|---|---|
| TP1 | 1.16980 (1R) | VWAP ~1.16991, 60m Fib 50% area, round number — natural first reaction zone | 1:1 |
| TP2 | 1.16928 (1.5R) | Trend Agent Support, 60m pivot low, prior session structure | 1.5:1 |
| TP3 | 1.16792 (2.9R) | Today's session low, London session low — full trend continuation target | 2.9:1 |
TP1 Assessment: VWAP at 1.16991 provides structural support at approximately 1R. TP2 at 1.16928 (Trend Agent key support) is well-defined structure at 1.5R. The profile is valid — a close TP1 with a strong TP2 at 1.5R+ and TP3 near 3R. Minimum R:R threshold of 1.5:1 is met at TP2.
Volatility/Stop Assessment: VIX at 19.09 is mildly elevated but not extreme. Today's 60m ATR is ~10 pips (0.001). The range is not compressed (today's range already ~33 pips from high to low). Stop at 1x ATR beyond the resistance cluster is appropriate — neither too tight for noise nor too wide for R:R. The structural stop at 1.17180 is within the Trend Agent invalidation zone (above 1.17133) — this is valid per the framework.
| ✅ Confirmed | ❌ / ⏳ Watch |
|---|---|
| Macro bias bearish (70–75%) | (f) Pending: price must reach and reject the 1.1708–1.1713 zone |
| Trend Agent bearish (66%) | (g) Pending: 15m RSI must turn back below ~55 to confirm |
| DXY above 5D EMA, rising | |
| 10Y yields rising, supportive | |
| 60m EMA stack bearish | |
| Calendar clear |
Projected Score at Trigger: 7/8 → High Confidence (7.5–8/10)
| Risk | Mitigation |
|---|---|
| Counter-trend squeeze in progress — 5m and 15m momentum is bullish; breakout above 1.17133 would invalidate | Hard stop at 1.17180; do not enter without rejection candle confirmation |
| Trend Agent flags TRANSITIONING regime — recommends reduced size | Scale position to 0.5–0.75x normal risk per Trend Agent guidance |
| Low volume on the rally (5m volume declining except one spike) | Actually supportive of the short thesis — suggests the bounce lacks conviction |
| Post-PMI reaction may extend — US PMI beat may still be digesting | If price breaks and holds above 1.17133, the macro thesis needs reassessment |
| VWAP magnet — price above VWAP may pull back to it, but VWAP itself can act as support and reject shorts | Trail stop to breakeven once TP1 is reached; close partial position |
CONDITIONAL SHORT EURUSD — Setup is staged at the 1.17080–1.17130 resistance cluster. Do not enter until a 5-minute rejection candle prints within or above this zone. If price breaks above 1.17133 on a 5m close, walk away — the setup is void.
Reduce position size to 0.5–0.75x standard risk given the transitioning regime. Manage TP1 at VWAP/1.16980, TP2 at 1.16928, TP3 at 1.16792.
If price does not reach the entry zone and instead rolls over from current levels (~1.1706), do not chase — the entry zone discipline is non-negotiable for an automated system.
First evaluation. The resistance shelf is visible, but the touch just happened. The Trend Agent records the structural signal and the poor follow-through, and correctly scores it at 40 percent. One touch is not a pattern.
Second evaluation, two minutes later. The tape has not moved meaningfully. The trend agents are waiting for the five-minute candle to print a close that confirms the reaction. Confidence flat at 40.
Third evaluation. The three-minute structure is starting to show a rejection wick, but volume is inconclusive. The Macro Agent re-confirms bearish regime — DXY strength is intact — but the Trend Agent will not act on the macro backdrop alone. Still 40.
Fourth evaluation. The resistance is holding, but the five-minute candle is still in progress. The Trend Agent's internal clock is deliberately slow here — it will not enter a short based on an incomplete candle, because incomplete candles routinely lie.
Fifth evaluation. The candle closed. Rejection is on the tape, but the volume signature is still not convincing enough to push confidence past threshold. Pair is drifting lower, confirming the directional bias, but drift is not a signal.
Sixth evaluation. Confidence ticks up slightly to 45 percent. The volume profile on the rejection candle has cleaned up, and the follow-through bar has made a lower low. Still below the 55 percent threshold the system uses for entries.
Seventh evaluation. A minute later, confidence settles back to 45. Price is ranging just below the shelf. The system is watching whether this is a continuation or a hesitation.
Eighth evaluation. Confidence drops to 35. The range is tightening and the cross-asset agent is flagging a bounce in DXY that might translate into a brief EUR rally. The Trend Agent downgrades until the conflict resolves.
Ninth evaluation. DXY has not reversed. The EUR rally the cross-asset agent worried about did not materialize. Confidence returns to 40, but the Trend Agent is still waiting for a clean structural break on the five-minute chart.
Tenth evaluation. The five-minute candle prints a lower low, confirming the structural break, and the tick-data volume on the rejection finally registers in the Trend Agent's volume scoring. Confidence jumps to 72. All three agents are aligned: Macro bearish at 70–75, Trend bearish at 72, Cross-Asset confirming with DXY strength intact. Enter short at 1.17105.
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 hit | +1.67R | +$3,340 |
| TP2 hit | +2.36R | +$4,720 |
| TP3 hit (max potential)Actual | +4.17R | +$8,340 |
We publish these case studies because the interesting question is not whether a trade worked. Plenty of trades work for the wrong reasons, and plenty of correct reads lose money. The interesting question is what the trade reveals about the system's behavior under pressure — specifically, the thirteen minutes when it said no and the one minute when it changed its mind.
The nine waits were not hesitation. Each one was a specific micro-disagreement between agents, or a specific structural ambiguity in the five-minute tape, that prevented the confluence math from clearing threshold. This is the part that gets lost when people talk about algorithmic trading as though it is deterministic. It is not deterministic — it is conditional on a configuration of inputs, and if any one of those inputs is not clean, the system refuses to act. The ten-minute wait on April 23 was the system refusing to act on a setup that looked identical to the final one, because the fifth-minute structure had not yet confirmed.
We are not trying to catch tops. We are trying to catch the first rejection that has already proven the shelf is real.
That is the rule, and the case study shows it operating on a specific tape. The [resistance rejection fade](/blog/xauusd-short-fade-04-15-2026) has the same shape as this trade — the wait-and-confirm discipline is what differentiates the system's entries from a discretionary trader reading the same chart.
If there is one takeaway that is worth holding onto from this trade, it is the cost of the wait. Nine evaluations, thirteen minutes, zero action. To a discretionary trader watching the same tape, the first rejection at 14:45 would have looked sufficient. Many traders would have shorted it. Most of those trades would have been stopped out on the sweep that followed. The Trend Agent's discipline is not exotic — it is just that the system cannot talk itself into a trade, the way a human can when the tape is tempting. The threshold is the threshold. The [prior EURUSD fade study](/blog/us30-long-reclaim-04-17-2026) makes the same point in a different currency.
What is worth internalizing is the rhythm. When the system is waiting, it is not doing nothing — it is continuously re-scoring the same setup with updated five-minute structure, updated volume, and updated cross-asset signals. The thirteen minutes of no were not idle minutes. They were the minutes that turned a 40-percent setup into a 72-percent setup.
Each evaluation is a re-scoring of the current setup against the full confluence model: macro regime, five-minute structure, volume profile, cross-asset alignment. On April 23 the macro regime was clean throughout, but the five-minute structure and volume signature did not firm up until the tenth evaluation. The system's threshold for entry is 55 percent confidence; the first nine scores landed between 35 and 45. Read the full structural breakdown in our <a href="/blog/xauusd-short-fade-04-15-2026">prior resistance rejection study</a>.
DXY was above its 5-day EMA for four consecutive sessions, US flash PMIs beat across the board, and Eurozone services PMIs missed by roughly fourteen points. The Macro Agent scored the regime at 70-75 percent bearish EURUSD, which met the hard-rule threshold to disallow EURUSD longs entirely that session. The macro gate was a precondition, not a signal — it tells the Trend Agent which direction to accept, but it does not time the entry. See our <a href="/blog/us30-long-reclaim-04-17-2026">earlier macro-gate walkthrough</a> for how the same rule applied on a Dow long.
A close above 1.1720 on the five-minute chart, or a DXY failure below its 5-day EMA, or a Macro Agent downgrade below 60 percent confidence. Any one of those three would have moved the Trend Agent's scoring below threshold permanently. This is why the stop was placed at 1.1718 — tight enough to respect the invalidation level, loose enough to survive the sweep on the first touch. See the full <a href="/blog/xauusd-short-fade-04-15-2026">invalidation framework</a> we apply across currencies.
Because the first rejection is noisy by construction. Resting orders get probed on the first touch of a fresh shelf; stops above the level get swept; the tape looks ambiguous. If the shelf still holds after that first sweep, the next rejection has structural depth — the traders who were going to chase the break have been flushed out, and the ones who were waiting to fade have been given a cleaner print. This is not specific to EURUSD. It is how the system reads resistance in every instrument it covers.
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.
Twenty trades. Fourteen losses. Six winners. Net +0.67R. The month opened with an eleven-trade losing streak and closed with four consecutive winners. The variance compressed both directions and the underlying expectancy emerged.
One trade, one loss, four sessions of zero activity. The first published week of February shows what a system looks like when the macro tape gives it nothing to trade. Net −1R on the simulated account.

Four consecutive winners across three sessions and two instruments. Net MTD moved from −8.77R to −2.28R. The system did not change posture during the drawdown and did not change posture during the recovery.