SkyAnalyst AI journal entry: EURUSD Short on May 4, 2026 closed +2.22R on TP2. 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 4 New York morning produced two short setups on different instruments under the same macro configuration. Gold and the euro both faced the same headwind: rising US yields and a strengthening dollar. The 10-year was running 50 basis points above the prior day's close, and the dollar index had cleared yesterday's high after a three-day rally from 98.087. Both backdrops favored shorts, both pairs were in lower thirds of their daily ranges by mid-morning, and both setups required the same discipline — wait for structure, then sell the bounce.
The differences started at the agent layer. For the gold trade, the Macro Agent rated the configuration as bearish gold at the highest-conviction level — a 6 of 6 confluence score earning a Medium-High confidence call after the tradeability downgrade. For the euro trade, the Macro Agent's confidence sat at 48 percent. That number matters. The system has a rule: when Macro confidence falls below 50, the range-bound protocol activates. Trades only qualify at session extremes — VWAP rejections, session highs, session lows. Standard pullback entries are filtered out unless the price is already at a structural extremity.
The euro setup met that requirement. Price had failed at the 5-minute VWAP cluster, the NY session low at 1.17049 was being probed, and the 5-minute Fibonacci 100 percent extension target sat at 1.17077 — a known support level. The range-bound protocol did not block the trade. It changed the size.
By 14:55 UTC, EURUSD had been oscillating in a 1.17049-to-1.17161 range for forty-five minutes. The 60-minute timeframe showed a fully bearish EMA stack — price below both fast (1.17193) and slow (1.17216) EMAs with a confirmed bearish cross at the 11:00 candle. RSI on the 60-minute sat at 42, neutral-bearish. The 15-minute RSI was drifting below 50, slipping from 52 to 49 to 48 to 46 across the prior four candles. That progression confirmed the corrective bounce from 1.16926 was losing steam.
The 5-minute timeframe told the same story with sharper structure. Price had rallied from 1.17077 to 1.17161, tagged Trend Agent resistance at 1.17205 just below VWAP, and rolled over. The 5-minute MACD histogram had crossed from positive to negative — a bearish momentum flip. The volume spike at 14:50 was the confirmation: 2.3x the 20-bar average on the selling candle. That is not random. That is participation.
The setup grade was 7.5 of 10. Seven of eight confluences cleared. The single missing factor was Macro Agent confidence at 48 percent, which earned the size downgrade. Everything else aligned: trend direction, dollar trend, yield trend, EMA stack, VWAP relation, 15-minute RSI, calendar clear.
The pattern that fired on EURUSD belongs to a setup professional traders call VWAP rejection / sell the rip. It is structurally similar to the relief-bounce short the system ran on gold the same morning, but distinct in its timeframe granularity and the role volume plays in the trigger. Where the gold setup keyed off a structural resistance cluster identified hours in advance, the euro setup keyed off the 5-minute VWAP — a level recomputed candle-by-candle through the session.
VWAP — volume-weighted average price — is the most-watched intraday reference level in institutional trading. It represents the average price at which the day's volume has transacted. Price trading meaningfully above VWAP indicates buyer aggression; price trading meaningfully below it indicates seller aggression. When price tries to reclaim VWAP from below and fails, that failure is one of the cleanest mean-reversion-plus-continuation signals available on intraday timeframes.
For the trigger to qualify, three things must happen in sequence. First, price must approach VWAP from below — typically inside ten to fifteen pips on a forex pair, ten to twenty dollars on a metal. Second, a rejection candle must print at or just above VWAP — bearish engulfing, pin bar, or a wide-body red candle that closes below the VWAP retest. Third, volume must confirm. A rejection on light volume is suspect; a rejection on a measurable spike is participation, and participation precedes follow-through.
Macro tape alignment. The bias for the rejection direction must agree with the dominant cross-asset signals. On the May 4 setup, that meant DXY rising, 10-year yield rising, and VIX neutral-to-slightly-elevated — all bearish euro. If the macro tape is mixed or favors the opposite direction, the VWAP rejection becomes a counter-trend trade with much lower expectancy. The system would not enter into a VWAP rejection if the dollar were weakening into the same window.
Multi-timeframe structure. The 60-minute trend must agree with the rejection direction. On May 4 that meant 60-minute EMA stack inverted (price below both, fast below slow), MACD below zero, and RSI in the 40s. If the 60-minute trend were bullish while the 5-minute showed a VWAP rejection short, the trade would be a 5-minute counter-trend scalp — different setup entirely, much tighter management, lower risk-reward profile.
Volume confirmation on the rejection bar. The single most reliable filter for false VWAP rejection signals is volume. A rejection candle on average volume can be noise. A rejection candle on 2x average volume is participation. The system requires the volume spike on the rejection bar before the confidence score can clear the entry threshold.
A note on what this article is not arguing. SkyAnalyst is not a "shorts only" system, not a "fade VWAP" system, and not a "trade with the dollar" system. Tomorrow's setup may be a long on a VWAP reclaim from above, on a different instrument, in a different macro regime. The agent stack is dynamic, not dogmatic. It runs whichever pattern matches the day's confluence — directional pullbacks, range-bound mean reversions, breakout continuations, or no trade at all. The May 4 setup was a sell-the-rip because the May 4 tape made sell-the-rip the highest-probability configuration. The system doesn't favor any single strategy. It runs whichever one earns the day's confluence score.
| Factor | Reading | EURUSD Implication |
|---|---|---|
| Macro Agent Bias | lean_bear (score: -35) | Bearish EURUSD |
| Macro Agent Confidence | 48% | Below 50 → Range-bound protocol activated |
| DXY Current | 98.342 | Below 5D EMA (98.439) but above yesterday's high (98.23) — mixed |
| DXY 5-Day Trend | Rising from 98.087 → 98.205 → 98.342 (last 3 days up) | Bearish EURUSD |
| US 10Y Yield | 4.422, above 5D EMA (4.386), above yesterday's high (4.402) | Rising yields → Bearish EURUSD |
| VIX | 17.49, above 5D EMA (17.58 — roughly at), above yesterday's high (17.39) | Rising VIX → Bearish EURUSD |
Macro Verdict: DXY is technically below its 5D EMA (98.342 < 98.439) but has been rising over the last 3 closes and broke above yesterday's high — the directional momentum is up even if it hasn't yet cleared the 5D EMA. 10Y yields and VIX both confirm bearish EURUSD pressure. However, Macro Agent confidence is 48% (<50), triggering the range-bound protocol: only trade at session extremes (session high/low, VWAP extremes).
Key Rule Applied: Macro confidence < 50 → range-bound treatment. Additionally, timeframe divergence noted (intraday neutral vs. short-term lean_bear). This limits us to mean-reversion or extreme-level entries only.
| Agent | Direction | Confidence | Regime |
|---|---|---|---|
| Macro Agent | lean_bear | 48% | Moderate tradeability |
| Trend Agent | BEARISH | 63% | TRANSITIONING / REDUCE_SIZE |
Alignment check: Both agents lean bearish directionally. However, Macro confidence is below 60 (48%), so the "strongest foundation" condition (both >60) is not met. Per rules: agents partially diverge on confidence → drop confidence by 2 points on the Trend Agent (63 → 61 effective) and favor mean-reversion trades at session extremes or VWAP.
Trend Agent Key Levels:
| Indicator | Reading | Signal |
|---|---|---|
| EMA Stack | Price (1.17065) < Fast EMA (1.17193) < Slow EMA (1.17216) | Bearish — price below both, fast below slow |
| EMA Bearish Cross | Confirmed at 11:00 candle | Bearish |
| RSI (60m) | 42.31 (latest), trending 37→32→42→46→42 | Neutral-bearish, not oversold, choppy recovery |
| MACD Histogram | -0.00029 → -0.00040 → -0.00035 → -0.00026 → -0.00023 | Bearish but converging toward zero — momentum weakening |
| VWAP | Price at 1.17065, VWAP at 1.17217 | Below VWAP — bearish positioning |
| ATR (60m) | ~0.001 (10 pips), normal volatility | Standard stop sizing |
Daily Context:
HTF Verdict: Bearish structure is intact (EMA stack inverted, below VWAP, below daily references), but MACD histogram convergence and RSI stabilizing near 42 suggest momentum is decelerating — consistent with a corrective phase rather than fresh impulsive selling. This supports the range-bound/mean-reversion approach.
| Check | Result |
|---|---|
| High-impact events today | None — no high/medium USD or EUR events |
| 8:30 AM window | Already passed (current ~10:55 AM ET) |
| 10:00 AM window | Already passed |
| Next risk event | Lagarde speaks tomorrow 8:30 AM ET (~21.5h away) |
✅ Calendar is clear. No restrictions on entry timing.
| Indicator | Reading | Signal |
|---|---|---|
| EMA Trend | Fast (1.17098) < Slow (1.17161) — trend_direction = below | Bearish |
| Price vs Fast EMA | Oscillating around it (above → below → above → below → below) | Indecisive, corrective |
| RSI (15m) | 52→49→52→48→46 | Drifting below 50 — confirms short bias without being extreme |
| MACD | Histogram positive but weakening (0.00020→0.00018→0.00019→0.00016→0.00011) | Corrective bounce fading |
15m Verdict: The corrective bounce from the 1.16926 low is losing steam. RSI slipping below 50 on the last two candles confirms bearish re-engagement. Price is still below the 15m slow EMA (~1.17161), suggesting rallies are getting sold.
The 5-minute data from 14:10–14:55 UTC (10:10–10:55 AM ET) shows:
| Pattern | Detail |
|---|---|
| Bounce & Fail | Price rallied from ~1.17077 to 1.17161 (near Trend Agent R at 1.17205), then rolled over |
| VWAP Interaction | Multiple VWAP touches at ~1.17132-1.17136, now rejected below (price at 1.17065) |
| RSI (5m) | Peaked at ~57 and now falling to 42-45 — bearish momentum resuming |
| MACD (5m) | Histogram turned negative from positive — bearish crossover in progress |
| Volume Spike | Detected at 14:50 (87 ticks vs 37.85 avg) on the selling candle — commitment behind the move |
| Key Support | 5m support at 1.17077, then 1.17031, then 1.16926 |
| Fibonacci (5m) | Bearish fib with pivot high 1.17175, price at/beyond 100% extension toward 1.17077 |
5m Verdict: Price attempted a retest of the intraday VWAP zone (~1.17130s), failed, and is now rolling over with a volume spike. This is the classic "sell-the-rip" setup the Trend Agent flagged. The NY session low at 1.17049 is being probed.
| # | Confluence Factor | Met? | Notes |
|---|---|---|---|
| (a) | Macro Agent bias aligned (bearish), confidence ≥ 60 | ❌ | Bias aligns (lean_bear) but confidence = 48% < 60 |
| (b) | Trend Agent aligned (bearish), confidence ≥ 60 | ✅ | Bearish @ 63% |
| (c) | DXY 5-day trend confirms (rising = bearish EURUSD) | ✅ | DXY rising past 3 closes, above yesterday's high |
| (d) | 10Y yield trend supports (rising = short) | ✅ | 4.422 above 5D EMA (4.386), above yesterday's high |
| (e) | 60m EMA stack supports short direction | ✅ | Price < Fast EMA < Slow EMA, bearish cross confirmed |
| (f) | Price at VWAP, session level, or Fib on 5m | ✅ | VWAP rejection confirmed at ~1.17132-36; NY session low (1.17049) being tested; 5m Fib 100% level at 1.17077 |
| (g) | 15m RSI confirms short without extreme | ✅ | RSI at 45.7 — below 50, not extreme |
| (h) | No high-impact event within 30 minutes | ✅ | Calendar clear |
Score: 7 of 8 → High Confidence (7.5–8)
Factor (a) failed because Macro Agent confidence is 48%. All other factors align cleanly.
Macro confidence < 50 triggers range-bound treatment. However, with 7/8 confluences and the Trend Agent at 63% bearish, the bearish case is strong. The range-bound protocol means I should prioritize entries at session extremes — and this is exactly what we have: price rejected VWAP and is rolling off the upper portion of the NY range. The setup qualifies under both the directional and range-bound frameworks.
Given Trend Agent regime = TRANSITIONING / REDUCE_SIZE, I recommend reduced position sizing (0.5–0.75% risk vs. standard 1%).
| Parameter | Level | Notes |
|---|---|---|
| Direction | SHORT (Venta) | |
| Entry Zone | 1.17070–1.17100 | Current price area; ideal entry on any pullback to 1.17090–1.17100 (5m Fib 78.6% retracement zone / former support-turned-resistance) |
| Entry Trigger | Bearish 5m candle close below 1.17077 (5m pivot low) OR rejection candle on retest of 1.17090–1.17100 zone | Price currently at 1.17065 — a break below 1.17049 (NY session low) with a 5m close would be a direct trigger; alternatively, if price retests 1.17090–1.17100 and prints a bearish rejection, enter there for better R:R |
| Stop Loss | 1.17180 | Above Trend Agent invalidation (1.17345 is the macro invalidation, but structural stop is above today's 60m pivot high at 1.17175 + 5-pip buffer for slippage). This is 1.1x the 60m ATR (~11 pips from entry at 1.17070). Stop is well below the Trend Agent invalidation level — compliant. |
| Risk (from 1.17070) | ~11 pips |
| Target | Level | R:R | Structural Basis |
|---|---|---|---|
| TP1 | 1.16960 | 1.0R (11 pips) | 15m pivot low area (1.16926–1.16959); 5m S/R cluster at 1.16959; London session low zone (1.169) |
| TP2 | 1.16900 | 1.55R (17 pips) | Today's low (1.16890); London session low (1.169); 60m support at 1.16884 |
| TP3 | 1.16780 | 2.6R (29 pips) | 60m S/R at 1.16776; represents full extension through session lows |
R:R Assessment:
Volatility Check: VIX at 17.49 (normal, slightly rising) — standard conditions. ATR not compressed. The 11-pip stop is structural and appropriate for current volatility. R:R works at all target levels.
| Aspect | Guidance |
|---|---|
| Position Size | Reduce to 0.5–0.75% equity risk per Trend Agent REDUCE_SIZE regime and TRANSITIONING market state |
| Scale-out Plan | Close 50% at TP1 (1.16960), move stop to breakeven; close 30% at TP2 (1.16900); trail remaining 20% toward TP3 |
| Time Limit | NY AM session setup — if price has not reached TP1 by 12:30 PM ET, consider closing; momentum trades in TRANSITIONING regimes lose edge into the afternoon |
| Invalidation | Any 15m close above 1.17205 (Trend Agent R level) kills the setup early; full invalidation at Trend Agent level 1.17345 |
Overall Rating: 7.5/10 — High Confidence Short Setup (with reduced sizing)
15:03 UTC, single evaluation, confidence at 68 percent, decision ENTER. The compressed decision log on this trade is not a shortcut. It is what happens when the trigger conditions assemble simultaneously rather than developing across multiple bars. The 5-minute candle that closed at 14:55 UTC printed the rejection wick into VWAP, the volume spike confirmed at the 14:50 print, and by 15:00 the 60-minute MACD histogram was extending negative again with the 15-minute RSI at 45.7 — all three timeframes agreeing in the same evaluation cycle. The Trend Agent scored bearish at 63 percent (effective 61 after the macro divergence adjustment), the macro tape held with DXY at 98.342 still rising, and the entry zone at 1.17070-1.17100 was already holding price. The rule was: if seven of eight confluences are met and the trigger pattern is in place, fire. The Risk Agent applied the reduced sizing per the TRANSITIONING regime call — 0.5 to 0.75 percent equity risk versus the standard 1 percent — and the entry executed at 1.17093 with stop at 1.17180 and the three TP layers at 1.16960 (TP1), 1.16900 (TP2), and 1.16780 (TP3).
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.53R | +$3,060 |
| TP2 hitActual | +2.22R | +$4,440 |
| TP3 hit (max potential) — not tracked | +0R | +$0 |
The takeaway from this trade is not that the system entered fast. The takeaway is that the system entered fast for the same structural reasons it entered slow on the gold trade two hours earlier. Both setups required structured agreement among four agents. The difference was not in the threshold — it was in how quickly the chart assembled the conditions for the threshold to clear.
On the gold trade, the entry zone (4575-4583) was eighteen dollars above the price at the time of the first WAIT evaluation. The system needed five evaluations because the rally had to develop. The chart had to give the system the entry zone before the rejection candle could fire. On the euro trade, the rejection had already printed when the first evaluation ran. The bounce from 1.17049 had already topped at 1.17161, the VWAP retest had already failed, the volume spike was on tape, and the 5-minute candle that closed at 14:55 was already the rejection. The system did not skip steps. It ran the same checklist. The checklist just cleared in one pass instead of six.
The right way to read both case studies side by side is not "patience versus speed." It is "the same architecture producing different evaluation counts under different chart timing." A system that requires five evaluations on every setup is a system that misses entries when the trigger is already on tape. A system that fires on one evaluation every time is a system that takes setups before they complete. The agent stack does both, depending on what the chart needs.
Three counterfactuals matter here. The system did not enter when price first broke below VWAP at 14:30 UTC — the volume confirmation was not present. The system did not pass on the trade when Macro confidence sat at 48 percent — the range-bound protocol allowed the entry at the session extreme. The system did not run the trade at full size — the TRANSITIONING regime triggered the reduced sizing rule. Each of these decisions was made by a different agent. None of them required the operator to override the rules.
"Bias aligns. Confidence below conviction threshold. Cut size, take the setup at the session extreme."Synthesis of Macro + Trend Agent agreement, 15:00 UTC
Two trades on one tape, on two instruments, with two different evaluation cadences, both producing TP-level winners on the same New York morning. That is not a coincidence — it is what the macro alignment was supposed to produce. When the dollar is rising on three consecutive days against rising yields, gold and the euro both lose against it, and setups that fade rallies in either instrument inherit the macro tailwind.
What is worth noting is the size discipline. The XAUUSD trade ran at half normal sizing because the Macro Agent flagged tradeability at 25 of 100. The EURUSD trade ran at 0.5 to 0.75 percent risk versus the standard 1 percent because the Trend Agent flagged the regime as TRANSITIONING. Both decisions were made before either trade entered. Neither required hindsight. The system does not size up after a winner and size down after a loser. It sizes based on the regime call at entry time, and it accepts that the same regime can produce a winner that earns less in dollar terms than it would have at full size. That is the trade-off for being in position when the regime turns hostile.
Through May 4, 2026, the cumulative ledger reads +18.20R YTD across 88 trades from Jan 12 inception. This trade contributes +2.22R (TP2) to the ledger at the credited TP1-baseline level used in our recap aggregation, though the live execution captured the full TP2 distance. The simulated $100,000 account at 2 percent risk per trade tracks +$4,440 (TP2) on this single trade in dollar terms — at full sizing. At the reduced 0.5 to 0.75 percent applied to this trade, the dollar return would scale proportionally. For broader window context see the Apr 27-May 3 weekly recap; for the system performing through a session that did not pay, see the Apr 20-26 drawdown report.
The May 4 New York morning is what alignment looks like when it works. We do not expect every session to align this cleanly. We expect to be in position when the alignment arrives, and we expect to size down when the regime says size down — even on the days the alignment delivers.
The trigger conditions on the EURUSD trade were already complete at the first evaluation cycle. The VWAP rejection candle had printed, the volume spike was on tape, the 60-minute MACD was extending negative, and the 15-minute RSI had slipped below 50. All required structure was in place when the first evaluation ran. The gold trade needed six evaluations because the rally to the entry zone had not yet developed when the first evaluation cycled — the system was waiting for the chart to provide the entry, not deliberating over an existing setup.
Macro confidence below 50 percent triggers what the system calls the range-bound protocol. Direction calls remain valid, but the system filters entries to session extremes only — VWAP rejections, session highs, session lows, key Fibonacci levels. Standard pullback entries are blocked. Position sizing is also reduced, typically to half of standard risk percentages. The May 4 EURUSD trade ran at 0.5 to 0.75 percent equity risk versus the standard 1 percent for this reason.
A pullback short enters into a counter-trend rally that retraces a defined portion of the prior decline (commonly the 50 percent or 61.8 percent Fibonacci level). A VWAP rejection enters when price tags the volume-weighted average price from below and fails to reclaim it on the closing candle, with volume confirmation on the rejection bar. VWAP-based entries tend to fire on shorter intraday timeframes (5-minute, 15-minute) while structural pullback shorts fire on the 60-minute or higher.
Volume distinguishes a rejection driven by participation from a rejection driven by absence. A bearish candle at VWAP on average volume can be a single seller hitting bids in a thin market — that often gets reversed within minutes. A bearish candle at VWAP on 2x average volume is broad participation in the rejection — multiple market participants agreeing that the level should hold, and their consensus is the predictive signal. The system requires this volume confirmation before the confidence score can clear the entry threshold.
They are scored independently. The May 4 gold short and EURUSD short both took advantage of the same dollar-up, yields-up regime, but each ran through its own setup evaluation, its own confidence score, its own size calculation, and its own management plan. The Risk Agent does account for portfolio exposure when sizing — if both trades had triggered simultaneously, the second entry would have run at a smaller size to keep aggregate risk inside portfolio limits. In this case the gold trade closed before the EURUSD trade entered, so the portfolio cap did not apply.
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.

Gold sat on multi-layer support at 4560 with rising yields and a strengthening dollar overhead. Our agents waited seven minutes for the bounce, then sold the rejection at 4575.48. The trade ran past TP3 in 55 minutes.
Four trades, three winners, one loss, +2.24R net at the TP1 baseline. Monday opened with a US30 stop, then three sequential winners across US500 and NAS100 closed the week +75 percent at the win rate.
Three losses, all at -1R, longest streak three. Net -3R for the loss-side ledger across Thu and Fri. This is a republish after a methodology fix dropped three phantom unfilled rows the prior build counted as losses.