SkyAnalyst AI journal entry: USDJPY Short on Mar 31, 2026 closed +3.2R 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.
US futures opened March 31 with the easing-bearish macro configuration printing fresh on every confirming indicator. 10Y yields at 4.317, below the 5-day EMA at 4.353 and falling cleanly across the prior two sessions (4.428 to 4.350 to 4.317), the rate-driver that had supported USDJPY for two weeks now actively withdrawing. DXY at 100.046, below the 5-day EMA at 100.095 and below yesterday's low at 100.104, broad USD softness on the same morning. Gold at 4618.57, well above its 5-day mean at 4501.90 and above yesterday's high, the safe-haven flow that typically pairs with JPY strength.
Three confirming readings, all aligned in the easing-bearish-USDJPY direction. The complication was VIX at 27.24, declining from yesterday's 30.62 and below its 5-day EMA at 28.28. Falling VIX with NYAD strongly positive at 1,754 indicated risk-on equities, which on a normal carry day would support USDJPY. But USDJPY was selling off despite improving risk sentiment, the rate channel was overpowering the carry-and-risk channel.
The 10:00 AM ET data ran inline-to-positive. JOLTS Job Openings 6.88M against 6.89M forecast, essentially neutral. CB Consumer Confidence 91.8 against 87.8 forecast, a 4.0-point USD-positive beat. Both releases were absorbed without arresting the USDJPY decline, the post-data 5-minute candle made new session lows at 159.054. The market dismissed the upside surprise. The Macro Agent posted bull bias at 18 percent confidence, the structural carry thesis remained valid but registered no near-term authority. The Trend Agent posted bearish 69 percent on a TRANSITIONING regime with REDUCE_SIZE flagged. Setup grade printed C+.
The setup at 14:53 UTC was a Pullback Short into the 159.20-159.30 entry zone. Seventeen minutes of waiting across thirteen evaluations explains how the Trend Agent reads a corrective bounce against a falling-yields tape with the 5-minute trigger oscillating around the entry threshold.
The trader watches a pair that has just printed a sharp directional impulse breaking a prior-session reference (in this case, London breaking the Tokyo low at 159.524 and extending to 159.054), and waits for a corrective bounce into the 38.2-to-61.8 percent Fibonacci retracement of that impulse. The pattern triggers when 5-minute price tags the entry zone, prints a rejection candle that closes inside the bearish range, and 5-minute RSI fails to push above 60 on the test. The systematic version requires the rejection to close, not just wick, and the macro regime to be actively confirming the trade direction.
When 10Y yields fall through their 5-day EMA on consecutive sessions and DXY weakens below yesterday's range, the rate differential that supports USDJPY is actively withdrawing. The structural carry thesis remains valid, but on the intraday timeframe the rate channel dominates. Every counter-trend bounce in USDJPY becomes a re-positioning move where short-term carry buyers exhaust and structural sellers re-engage. Selling at the Fibonacci-retracement-plus-prior-pivot zone gives the trade two independent invalidation lines: the 159.332 prior pivot reclaim flips short-term bias, the 159.62 Trend Agent invalidation flips the regime read.
Two things kept the grade modest. The Macro Agent posted bull bias at 18 percent confidence, technically a directional disagreement with the Trend Agent even though the underlying macro data (falling yields, weak DXY) supported the bearish case. And the Trend Agent flagged TRANSITIONING with a REDUCE_SIZE recommendation, the corrective bounce off the session low had legitimate room to extend. The 5-minute and 15-minute RSI both approached oversold on the impulse leg, raising the probability of a deeper bounce before the rejection. C+ means tradeable with reduced size, not headline-worthy on the setup card.
The first twelve evaluations between 14:36 and 14:51 UTC ran 35 to 58 percent confidence, the bounce was extending in stages and the rejection had not closed. Each cycle the system watched 5-minute price grind up from 159.054 toward 159.20, 5-minute RSI lift from oversold toward 50 then toward 60, and the structural shorts not yet engage. Then at 14:53 UTC the bounce stalled at 159.23, the 5-minute candle printed a closing wick rejection inside the entry zone, and the next bar failed to close above 159.30. Confluence math returned 66 percent on 4-of-6 confirmed plus 2 conditional now active. Enter short at 159.23, stop 159.38, TP1 159.05, TP2 158.90, TP3 158.75.
The Pullback Short is one playbook of many. The same morning the Trend Agent was watching the inverse setup on EURUSD, where DXY weakening intraday combined with falling yields supported a Bullish Pullback Long. That trade triggered at 15:38 UTC and closed at +1.58R. On a different tape, with yields rolling higher instead of lower, the same setup card on USDJPY would have scored below threshold and the system would have skipped it.
SkyAnalyst doesn't favor any single strategy. The confluence math picks the playbook each evaluation cycle and reads the tape first. Twelve waits across seventeen minutes, then one enter, then two hours and thirty-two minutes to TP3. The four agents reading the tape in parallel each contribute a different lens. When they agree, we trade dynamically. When they do not, we sit out.
| Indicator | Current | 5-Day EMA | Position | Trend |
|---|---|---|---|---|
| US 10Y | 4.317% | 4.353% | Below | Falling (4.412 → 4.428 → 4.35 → 4.317) |
| DXY | 100.046 | 100.095 | Below | Falling — below yesterday's low (100.104) |
| Gold (XAU) | 4618.57 | 4501.90 | Above | Rallying hard — above yesterday's high |
Classification: EASING-BEARISH
Macro Agent: Bull bias but only 18% confidence — far below the 7+ threshold. The carry differential thesis (340-385bp) is structural/long-term, not an intraday driver today. With yields falling and DXY weak, the macro rate environment actively contradicts the carry-bull thesis on this session's timeframe.
Verdict: Yields falling + DXY soft = bearish USDJPY environment. Macro Agent confidence too low to override.
| Indicator | Current | 5-Day EMA | Position | Signal |
|---|---|---|---|---|
| VIX | 27.24 | 28.28 | Below | Declining from 5-day highs |
| NYAD (ADD) | 1,754 | -19.8 | Above — strongly positive | Risk-on breadth |
| US30 | 45,758 | 45,692 | Above — above yesterday's high | Equities firm |
Assessment: Mixed-to-Risk-On in equities, but JPY already strengthening
Carry unwind check: VIX is NOT at 5-day highs — it's falling. USDJPY is not elevated — it's at session lows. No carry unwind panic flag. But the sustained USDJPY decline despite risk-on equities signals that the rate/dollar channel is dominant today.
Verdict: Risk-on in equities is not translating to USDJPY support. Yield-driven JPY strength is the primary flow.
| Time | Event | Impact | Actual | Forecast | Deviation |
|---|---|---|---|---|---|
| 10:00 AM | JOLTS Job Openings | High | 6.88M | 6.89M | -0.01M (inline) |
| 10:00 AM | CB Consumer Confidence | Medium | 91.8 | 87.8 | +4.0 beat |
Assessment:
Verdict: Data cleared. Market dismissed the upside surprise. Clear to trade.
| Agent | Direction | Confidence | Key Detail |
|---|---|---|---|
| Trend Agent | BEARISH | 69% (~7/10) | Trending regime, moderate strength |
| Macro Agent | BULL | 18% (~1.8/10) | Carry thesis only — no near-term catalyst |
Synthesis:
Verdict: Trend Agent bearish (69%) is the operative direction. Macro Agent too low-conviction to override. Effective consensus: BEARISH.
| Element | Reading | Signal |
|---|---|---|
| EMA Fast vs Slow | 159.531 < 159.622 | Bearish stacking — fast below slow |
| Price vs EMAs | 159.127 well below both | Strongly bearish |
| RSI (60m) | 33.3 | Approaching oversold but not yet |
| MACD Histogram | -0.057 (strong, expanding) | Bearish momentum accelerating |
| Price vs VWAP | 159.127 vs 159.583 | ~46 pips below VWAP — deeply bearish |
| Session Context | Tokyo high: 159.957, Tokyo low: 159.524 | Price broke below Tokyo low — bearish carryover |
| London Extension | London low: 159.054 | Price at London session lows |
Tokyo session carryover: Price entered NY near session lows, having broken the Tokyo low (159.524) during the London session. This is unambiguously bearish — Tokyo set a range and London broke it to the downside. NY is continuing that momentum.
60-min structure: Six consecutive hourly candles show a clear downtrend from 159.788 (today's high) to 159.127. EMAs are stacked bearish, MACD is accelerating lower, and price is deeply below VWAP. The 13:00 and 14:00 UTC candles (NY open area) saw the heaviest selling.
Verdict: 60-min bias is decisively bearish. All indicators aligned — EMA stacking, MACD expansion, price below VWAP, broken session levels.
Current 15-min ATR: 0.108 (high volatility regime on this timeframe).
The relevant Fibonacci retracement from the 5-min data (pivot high 159.435 to pivot low 159.054):
| Fib Level | Price | Role |
|---|---|---|
| 23.6% | 159.145 | Shallow retrace — price hovering here |
| 38.2% | 159.200 | Key retrace zone |
| 50.0% | 159.245 | Mid-retrace |
| 61.8% | 159.290 | Deep retrace — near NY session high (159.307) |
Key structural resistance for short entries:
Latest 5-min candles show:
The entry scenario for shorts: A retracement back toward 159.20–159.30 would offer a short entry at a structural level with improved R:R. The current price (~159.127) is already extended and near session lows — entering here carries poor R:R for new shorts.
Verdict: Wait for a pullback to the 159.20–159.30 zone for a short entry. Chasing at 159.13 is too extended with the 5-min RSI lifting from oversold.
| # | Factor | Aligns with SHORT? | Status |
|---|---|---|---|
| (a) | 10Y yield direction (falling) | ✅ Falling yields = bearish USDJPY | YES |
| (b) | Macro Agent bias ≥ 6 confidence | ❌ Bull bias at 18% confidence — non-authoritative | NO |
| (c) | Trend Agent direction ≥ 6 confidence | ✅ Bearish at 69% (~7/10) | YES |
| (d) | 60-min EMAs stacked bearish | ✅ Fast < Slow, price well below both | YES |
| (e) | 5-min entry trigger at key level w/ RSI | ⏳ Pending — need pullback to key level | CONDITIONAL |
| (f) | Entry at daily S/R, session level, or Fib | ⏳ Pending — entry zone at 159.20–159.30 is structural | CONDITIONAL |
Score: 4 confirmed + 2 conditional = 4/6 minimum met (once pullback triggers)
Gate requirement of 4/6: PASSED (a, c, d confirmed; e and f trigger on pullback)
| Parameter | Value | Rationale |
|---|---|---|
| Direction | SHORT | Easing-bearish regime, trend bearish, broken session levels |
| Entry Zone | 159.20 – 159.30 | 38.2–61.8% Fib retrace of last leg; NY session high area (159.307); former support 159.286 |
| Entry Trigger | 5-min candle closes below 159.20 after testing the zone, with RSI below 60 on 5-min | Confirms rejection of pullback zone |
| Stop Loss | 159.38 (1.2× 15-min ATR above entry mid-point ~159.25; structural above 159.332 pivot + 5-pip buffer) | Below Trend Agent invalidation (159.62); above the prior pivot low at 159.332 which is now resistance |
| TP1 | 159.05 (~1R at 159.25 entry → 0.13 risk → ~0.20 reward = 1.5R) | Today's session low (159.054) — structural |
| TP2 | 158.90 (~2.7R) | 60-min ATR extension below session low; round number support |
| TP3 | 158.75 (~3.8R) | Session extension target; psychological level |
| Metric | Value |
|---|---|
| Entry (mid) | 159.25 |
| Stop | 159.38 |
| Risk | ~13 pips |
| TP1 | 159.05 (20 pips = 1.5:1 R:R) ✅ |
| TP2 | 158.90 (35 pips = 2.7:1 R:R) |
| TP3 | 158.75 (50 pips = 3.8:1 R:R) |
| Min R:R requirement (1.5:1) | Met at TP1 |
Stop validation:
| Element | Assessment |
|---|---|
| Overall Confidence | 68% — Moderate-High |
| Supporting Confluences | Falling 10Y yields; DXY weakness; broken Tokyo low; 60m bearish EMA/MACD/VWAP structure; Trend Agent bearish at 69%; post-data selloff despite Consumer Confidence beat |
| Risk Factors | VIX declining (risk-on equities could eventually stabilize USDJPY); 5-min and 15-min RSI approaching oversold (bounce risk); Macro carry differential provides a floor somewhere; late in the NY AM window reduces follow-through potential |
| Primary Risk | If equities' risk-on momentum finally transmits to FX via carry demand, the pullback could extend above 159.33 and invalidate |
The setup is invalid if price closes a 5-min candle above 159.38 (stop level). Structurally, any reclaim of 159.332 with follow-through above 159.38 means the bearish leg has failed and the carry bid is reasserting. In that case, no trade — do not flip long as the broader environment remains conflicted between rate-driven JPY strength and equity risk-on.
With VIX at 27.24 (elevated) and 15-min ATR in the "high" volatility regime, reduce standard risk to 0.5–0.75% of equity rather than the normal 1%. The Trend Agent explicitly recommends REDUCE_SIZE. Wider-than-normal intraday ranges mean normal lot sizes carry outsized risk. Adjust position size to keep dollar risk within the reduced percentage target given the ~13-pip stop distance.
If the pullback does not materialize and price continues lower without retracing to 159.20+, this is a No Trade. Do not chase. The session low extension without a retrace means the move is exhausted or will retrace later — either way, entry at current levels offers insufficient R:R.
It's borderline — structurally sound but volatility-tight. Let me walk through the evidence.
| Timeframe | ATR | What 1× ATR Means | Your Stop (13 pips) vs ATR |
|---|---|---|---|
| 5-min | 0.065 (6.5 pips) | Single candle can move 6.5 pips | 2× one candle's range |
| 15-min | 0.118 (11.8 pips) | A 15-min bar can move ~12 pips | 1.1× — barely one candle |
| 60-min | 0.150 (15 pips) | Hourly bars are averaging 15 pips | 0.87× — less than one hourly candle |
That last row is the problem. A 13-pip stop is smaller than a single average hourly candle right now. The 15-min ATR volatility classification is explicitly flagged as "high" by the system. In a high-vol regime, a stop that doesn't even survive one 60-min candle is asking to get clipped on noise.
Looking at the last few hours of 60-min ranges:
| Candle (UTC) | High | Low | Range | Wick-to-Wick |
|---|---|---|---|---|
| 11:00 | 159.760 | 159.371 | 38.9 pips | Deep rejection |
| 12:00 | 159.556 | 159.353 | 20.3 pips | |
| 13:00 | 159.435 | 159.098 | 33.7 pips | Breakdown candle |
| 14:00 (current) | 159.306 | 159.078 | 22.8 pips | Still building |
The average intra-candle range over these 4 hours is ~29 pips. Even the quietest candle (12:00 UTC) printed 20 pips. A 13-pip stop sits inside normal noise on this session.
And looking at the 5-min chart: the last bounce from 159.054 to 159.306 was a 25-pip snapback — nearly double the proposed stop. These mean-reversion whips are exactly what clips tight stops before resuming the trend.
Here's the trade-off you're actually facing:
| Stop Level | Distance from 159.25 Entry | Rationale | Risk |
|---|---|---|---|
| 159.38 (original) | 13 pips | Above 159.332 pivot + 5-pip buffer | High clip risk on intra-candle noise |
| 159.44 (recommended) | 19 pips (~1.5× 15m ATR) | Above 159.435 (5-min pivot high / prior resistance cluster) + buffer | Survives one 60-min ATR; structural |
| 159.50 (conservative) | 25 pips (~1.7× 15m ATR) | Above 159.497 (S/R level) + clear of the Fib 50% zone | Comfortable breathing room; still well below invalidation |
| 159.62 (Trend Agent invalidation) | 37 pips | EMA stack / VWAP reclaim | Maximum structural — very wide |
159.44 is the right stop for these conditions. Here's why:
Structurally justified: 159.435 is the 5-min pivot high and a resistance cluster visible across multiple recent candles. Price needs to reclaim this level to signal the bearish leg is failing — it's not random noise.
Volatility-appropriate: 19 pips = 1.5× the 15-min ATR (0.118) and 1.3× the 60-min ATR (0.150). This gives the trade room to survive one normal candle of counter-trend noise without being ejected.
Still below Trend Agent invalidation (159.62): The setup remains valid — you're not widening into "hope" territory.
R:R recalculation still works:
| Parameter | Original (13-pip stop) | Revised (19-pip stop) |
|---|---|---|
| Entry | 159.25 | 159.25 |
| Stop | 159.38 | 159.44 |
| Risk | 13 pips | 19 pips |
| TP1 (159.05) | 1.5R ✅ | 1.05R ⚠️ |
| TP2 (158.90) | 2.7R | 1.84R ✅ |
| TP3 (158.75) | 3.8R | 2.63R ✅ |
TP1 at 159.05 now delivers only ~1.05R — still acceptable because it's the session low, a high-probability reaction level. And the TP2/TP3 profile remains strong at 1.84R and 2.63R respectively.
The wider stop demands a proportional reduction in lot size to keep dollar risk constant:
Original: 13-pip stop → X lots at 0.5–0.75% equity risk Revised: 19-pip stop → reduce lots by ~32% to maintain the same dollar risk
This is exactly how dynamic sizing works — the stop goes where the market structure says it should go, and you adjust size to compensate. Never shrink the stop to fit a preferred lot size.
The original 159.38 stop was structurally logical but volatility-insufficient for a session printing 20–39 pip hourly candles with 25-pip snapback whips. Widen to 159.44, reduce position size accordingly, and let the trade breathe. You'll survive the noise and still capture a 1.8–2.6R reward at the higher targets.
14:36 UTC, 35 percent confidence, WAIT. NY had opened thirty minutes earlier, USDJPY was extended to the downside at 159.13, and the corrective bounce had just begun. 5-minute RSI at 33 to 40 was lifting from oversold. The structural premise was bearish but entry at session lows offered poor R:R against a 159.38 stop. The Trend Agent registered the bounce as immature, no entry zone tag yet. Wait for the bounce to mature.
14:38 UTC, 35 percent confidence, WAIT. Price ticked to 159.16, 5-minute MACD histogram flattening near zero with micro-positive ticks. Bounce setup forming, but the entry zone (159.20-159.30) still 4 to 14 pips overhead. Macro Agent confirmed bearish data despite stated bull bias at 18 percent. HTF inputs unchanged. Wait.
14:39 UTC, 40 percent confidence, WAIT. Price brushed 159.18, the 5-minute body extended toward the entry-zone floor. RSI lifted to 45. The Trend Agent registered the approach but the trigger required a tag of 159.20 with a closing rejection. Confluence math added partial credit on the LTF entry-level proximity factor. Wait.
14:40 UTC, 58 percent confidence, WAIT. Price tagged 159.205 with the 5-minute body closing at 159.18. The first touch of the entry zone, but the rejection candle had not closed below the floor. 5-minute RSI at 52, mid-range. The Trend Agent flagged a near-trigger condition. The next candle would either confirm rejection at 159.20 or extend the bounce deeper into the zone. Wait one more cycle.
14:42 UTC, 45 percent confidence, WAIT. The bounce extended past the floor to 159.215 then retraced to 159.165. The closing rejection at 159.20 did not print, the 5-minute body closed back below the floor without a clean wick rejection above. The Trend Agent registered this as inconclusive: a tag without rejection followed by a fade is not the trigger. Wait.
14:44 UTC, 40 percent confidence, WAIT. Price consolidated in the 159.13-159.18 range, the 5-minute MACD histogram turned negative again. The bounce was losing momentum below the entry zone, the trigger condition reset. The Trend Agent watched for either a fresh push toward the zone or a roll-down through 159.10 (which would be a chase, not a trigger). Wait.
14:45 UTC, 45 percent confidence, WAIT. The bounce re-engaged, price ticked from 159.16 to 159.19. 5-minute RSI lifted back toward 50. The Trend Agent registered the re-engagement but the entry zone still required confirmation. Wait.
14:47 UTC, 48 percent confidence, WAIT. Price tagged 159.21 with the 5-minute body closing at 159.20. The second touch of the entry zone floor. Rejection candle forming, upper wick to 159.21 with body close at floor. RSI 53. The Trend Agent flagged a near-trigger condition again. Wait one more cycle for confirmation.
14:48 UTC, 42 percent confidence, WAIT. The next bar failed to extend the rejection: price ticked to 159.215 then closed at 159.205. Body inside the zone, not below it. The Trend Agent registered this as inconclusive: a tag at the floor without a clean closing rejection inside the zone is not the trigger. Wait.
14:49 UTC, 45 percent confidence, WAIT. Price extended deeper into the entry zone to 159.225, the 5-minute candle closed at 159.21. The bounce was maturing toward the upper half of the zone. RSI 55. The Trend Agent registered the deepening of the test. The trigger required either a closing rejection at the upper boundary (159.30) or a stall plus close-back-below the body of the prior candle. Wait.
14:50 UTC, 45 percent confidence, WAIT. The bounce stalled briefly at 159.225, the 5-minute body closed at 159.21. Indecision at mid-zone, 5-minute RSI 56. No trigger, but no invalidation either. The Trend Agent watched for the next candle. Wait.
14:51 UTC, 45 percent confidence, WAIT. Price ticked to 159.235, the 5-minute body closed at 159.22. The bounce reached the upper-mid of the entry zone, RSI 57. The Trend Agent flagged the bounce as approaching its expected exhaustion zone. Wait one more cycle for a closing rejection.
14:53 UTC, 66 percent confidence, ENTER. Price stalled at 159.23 against the upper-mid of the entry zone. The 5-minute candle printed a closing wick rejection: upper wick to 159.23, body close at 159.18. The 5-minute RSI rolled back from 57 toward 50, and the next bar failed to close above 159.20. Macro Agent data confirmed bearish (10Y yields falling, DXY weakening), HTF bias decisively bearish. Confluence math returned 4 of 6 confluence factors confirmed plus 2 conditional now active, total 66 percent on a C+ grade. I entered short at 159.23, stop 159.38, TP1 159.05, TP2 158.90, TP3 158.75. Position size reduced to 0.5 to 0.75x normal per the REDUCE_SIZE flag.
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.2R | +$2,400 |
| TP2 hit | +2.2R | +$4,400 |
| TP3 hit (max potential)Actual | +3.2R | +$6,400 |
The closing-day winner of March ran 48 pips to TP3 in two hours and thirty-two minutes with zero recorded drawdown, closing at +3.20R. The month finished at minus 0.13R across the 22W-20L tally on the 4-week TP1-baseline accounting. The +3.20R here pulled the close-of-month line back toward break-even after a stretch where the strategies that had worked in February had given back.
That outcome traces to two things, neither of which is the system claiming a hidden edge. First, the wait. Thirteen evaluations across seventeen minutes is not the system being slow; it is the system refusing to enter on a tag of the entry zone without a closing rejection. The first twelve cycles all returned actionable confluence on macro and HTF factors, but the 5-minute trigger oscillated around the threshold without confirming. The 14:53 UTC ENTER was the first moment the closing rejection printed inside the entry zone with RSI rolling back from the 60 cap.
The closing-day TP3 winner did not come from a high-grade setup card. It came from a C+ that the system was willing to take after thirteen evaluations because the trigger finally printed. - From the desk - March 31, 2026
Second, the macro inversion. The rate-channel had been supportive of USDJPY for the prior two weeks, the same channel that supported the carry trade through most of March. On the closing day yields broke down on consecutive sessions, DXY weakened below yesterday's range, and the structural carry thesis lost its near-term driver. The system places the stop above structural invalidation at 159.38, sets targets at the next three structural references, and lets the position run when the macro inverts.
The same-day companion was the inverse trade on the same macro inversion: the EURUSD Bullish Pullback Long that triggered at 15:38 UTC and closed at +1.58R. Two TP3 winners on the closing day of a month that finished at minus 0.13R, both reading the falling-yields-and-weakening-DXY tape from inverse angles. The week's full context lives in the week-of-March-30 recap, with the partner EURUSD long documented separately.
What is worth holding onto is that this trade did not look special on the setup card. A C+ grade. A 66 percent confluence score. Thirteen evaluations across seventeen minutes with the first twelve returning waits. The Macro Agent posting bull bias at 18 percent confidence (technically a directional disagreement). The Trend Agent flagging TRANSITIONING and recommending REDUCE_SIZE. None of those numbers, on their own, would have any reader marking this as the close-of-month TP3 winner.
What separated it from the routine fades that stopped earlier in the month was the patience of the wait paired with the inversion of the macro on the same morning. We do not say "this will run 48 pips clean to TP3 in 2h 32m." We say "yields are breaking down, DXY is weakening, the 5-minute bounce just printed a closing rejection inside the entry zone after twelve cycles of waiting, every floor clears, confluence returns 66 percent." The system places the stop above structural invalidation at 159.38, sets targets at the next three structural references, and lets the position run.
The closing-day TP3 winner coming on a C+ after thirteen evaluations is not a contradiction. It is the structure of the system's expectancy. The grade describes the setup at entry, not a forecast. The wait describes the patience required before the trigger printed. Above the threshold floor on a confirmed macro inversion, the variance of the tape determined the result.
From the SkyAnalyst Team.
The wait-and-confirm discipline is binary: the system enters when every confluence factor aligns on the same candle, and waits when any factor remains unconfirmed. On March 31 between 14:36 and 14:51 UTC, the macro and HTF factors were confirmed bearish but the 5-minute trigger oscillated around the threshold without printing a clean closing rejection. The system did not relax its threshold; it waited for the trigger. When the closing rejection printed at 14:53 UTC inside the entry zone, the system entered. Twelve waits, one enter.
The disagreement protocol defers to Macro Agent direction when both agents post above the 60 percent confidence floor. On March 31 the Macro Agent posted bull bias at 18 percent confidence, well below the floor, which classified the agent's directional read as non-authoritative. Meanwhile, the underlying macro data the Macro Agent monitors (10Y yields falling, DXY weakening) supported the bearish case the Trend Agent was building. The system reads the data, not just the agent's stated bias.
The Trend Agent flags TRANSITIONING when the regime is directionally confirmed but the strength reading is moderate rather than strong. It is a sizing instruction, not a veto. The system enters at 50 to 75 percent of normal risk allocation rather than full size, accepting that a corrective bounce on a TRANSITIONING regime can produce shakeouts even on the right direction. The position still gets the same stop and the same three targets; only the dollar exposure is reduced.
March closed at minus 0.13R across the 22W-20L tally on the 4-week TP1-baseline accounting, a near-flat month that gave back February's gains in stages. The +3.20R here was the closing-day winner that pulled the month-end line back toward break-even. The same day produced a second TP3 winner on EURUSD long for +1.58R. Two TP3 winners on the closing day of a near-flat month is the asymmetric arithmetic the system relies on: a small number of large winners across a base of smaller outcomes.
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.
Forty-two trades. Twenty-two winners, twenty losers, 52.4 percent win rate. Net minus 0.13R, essentially flat on a TP1 baseline. The month produced both the deepest published drawdown and the bumper week of the record.

A Bullish Pullback long on EURUSD entered at 1.1520 ran to TP3 at 1.1558 over four hours and seventeen minutes, closing at +1.58R. The second of two TP3 winners on the closing day of a near-flat March.

A VWAP / London-high rejection short on Gold entered at 4467.48 ran to TP3 at 4398 in one hour and forty-one minutes, closing at +2.83R. The third TP3 winner of the same morning across US500, EURUSD, XAUUSD.