
From soft launch to settled desk: SkyAnalyst's 2026 so far
Since the January 12 launch, the desk banked +29.15R across 139 trades at a 60.4% win rate. Three threads defined the year: which instruments became the edge, w
How we got here
The year's tempo, visualised month by month — every closed trade and its net result in R.
The editorial record
Before the trade, meet the system.
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.
This is the year so far, counted the only way we count: settled trades, TP1-baseline R, every one of them published. Through July 2, 2026, from the January 12 inception, the system has banked +29.15R YTD across 139 trades at a 60.4% win rate. A $100,000 simulated account at 2 percent risk per trade sits at $158,308.55 on the static path, or $173,776.63 on the compounded path. Those are the headline numbers, but the number that matters more is the shape behind them. 2026 did not arrive as a finished desk. It arrived as a soft launch in the middle of January, ramped through a staggered first quarter, consolidated around a primary execution model at the end of March, and settled into a steady cadence by mid-year. This recap is the story of that arc, told through the trades that drew it. The trade-by-trade ledger sits below in the index; this is the year around it.
Act one — the soft launch: January into February
The record starts on January 12, not January 1, and the distinction is the honest one. The desk opened with a single instrument live and the rest of the roster still in internal validation, so January is a short month by design rather than a thin month by accident. The first published entry was a NAS100 pullback long on the fifteenth, written up in full in its [January case study](/en/blog/nas100-long-pullback-primary-01-15-2026). Volume was deliberately low while the engine proved it could size, hold, and exit under real fills.
February is where the sample begins. Half the roster came live in production, activity multiplied, and for the first time multiple instrument-traders competed on overlapping setups and reasoned to different conclusions. That is also where the year's first real drawdown printed, a cluster of index longs that stopped inside the first two weeks. It was the expected cost of running a young system into live tape, and it is torn down in the loss section below.
Act two — full force and the discipline pivot: March into April
By March every instrument-trader was live and the trade count stepped up hard. March carried the most entries of any month in the first quarter and the widest spread of outcomes, which is exactly what a full roster in a mixed regime looks like. The [early-March NAS100 breakout continuation](/en/blog/nas100-long-breakout-continuation-03-04-2026) is a clean example of the setup that would become the desk's bread and butter for the rest of the year.
The pivot came at the end of the quarter. Across the regime shifts of the first quarter, one execution engine held the most consistent discipline, and toward the end of March the desk consolidated around it as the primary execution model. This was not a marketing decision; it was a ledger decision. From that point the win rate stopped swinging and settled into the high-50s to low-60s band it has held since. April was the first month that read like a system rather than a launch: volume stable, discipline visible, R-multiple positive.
Act three — the settled desk: May into June
The back half of the window is the part that looks like a track record instead of a ramp. May was the desk's strongest month of the year by volume and by R, and June followed it with the highest single-month R of the year. The setups repeated, the sizing stayed flat, and the equity curve stopped looking like a startup and started looking like a desk. The [late-June NAS100 short](/en/blog/nas100-short-bear-flag-breakdown-06-22-2026) that booked the year's best single result, +3.26R, and the [US30 support-reclaim long](/en/blog/us30-long-pullback-support-reclaim-06-24-2026) a few sessions later are the shape of the settled desk: the same handful of reads, executed the same way, over and over.
Every trade the system took.
| Date | Time | Instrument | Dir | Model | Setup | Grade | R | $ Sim | Result | Details |
|---|---|---|---|---|---|---|---|---|---|---|
| Jan 12 | 15:22 UTC | NAS100 | Long | GPT-5 | Setup 2 · Breakout Continuation (Long) | D | +0.48R(TP1) | +$967(TP1) | TP2 hit | Read case → |
| Jan 15 | 15:12 UTC | NAS100 | Long | GPT-5 | Pullback Long (Primary) | D | +0.78R(TP1) | +$1,564(TP1) | TP1 hit | Read case → |
| Jan 20 | 15:43 UTC | US30 | Short | GPT-5 | Short the bounce (Primary) | D | +1.76R(TP1) | +$3,514(TP1) | TP3 hit | Read case → |
| Feb 4 | 16:35 UTC | US30 | Long | GPT-5 | US30 (Dow) LONG | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 9 | 15:02 UTC | US30 | Long | GPT-5 | US30 LONG (Pullback-to-support) | C+ | +1.31R(TP1) | +$2,622(TP1) | TP2 hit | Read case → |
| Feb 10 | 16:01 UTC | US30 | Long | GPT-5 | US30 LONG (Pullback + VWAP/EMA Confluence) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 10 | 16:31 UTC | US30 | Long | GPT-5 | US30 LONG (Pullback to VWAP / 61.8%) | C+ | +2.30R(TP1) | +$4,593(TP1) | TP1 hit | Read case → |
| Feb 11 | 16:02 UTC | US30 | Long | GPT-5 | US30 Responsive Long — Intraday Support | C+ | +2.64R(TP1) | +$5,273(TP1) | TP1 hit | Read case → |
| Feb 13 | 15:02 UTC | US30 | Short | GPT-5 | US30 (Dow) SHORT | C+ | +0.57R(TP1) | +$1,150(TP1) | TP1 hit | Read case → |
| Feb 13 | 15:24 UTC | NAS100 | Short | GPT-5 | NAS100 Short (Sell the Rip) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 13 | 15:42 UTC | US500 | Short | GPT-5 | Setup #1 · US500 SHORT (fade into resistance) | C+ | +0.74R(TP1) | +$1,470(TP1) | TP1 hit | Read case → |
| Feb 13 | 15:44 UTC | US30 | Short | GPT-5 | US30 SHORT (fade into resistance) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 13 | 16:37 UTC | US500 | Long | GPT-5 | US500 LONG (Momentum continuation) | C+ | +0.55R(TP1) | +$1,095(TP1) | TP2 hit | Read case → |
| Feb 17 | 16:35 UTC | NAS100 | Long | GPT-5 | Setup #1 · NAS100 LONG (pullback-to-go) | C+ | +0.62R(TP1) | +$1,248(TP1) | TP1 hit | Read case → |
| Feb 17 | 16:35 UTC | US30 | Long | GPT-5 | Setup #1 · US30 LONG (pro-trend intraday) | C+ | +0.43R(TP1) | +$855(TP1) | TP1 hit | Read case → |
| Feb 19 | 15:02 UTC | NAS100 | Short | GPT-5 | Setup #1 · NAS100 Short (Continuation) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 19 | 15:32 UTC | US30 | Short | GPT-5 | SHORT — Sell the VWAP/EMA Fade | C+ | +1.08R(TP1) | +$2,151(TP1) | TP3 hit | Read case → |
| Feb 20 | 17:02 UTC | US30 | Short | GPT-5 | Setup #1 · US30 SHORT (pullback-to-supply) | C+ | +0.61R(TP1) | +$1,213(TP1) | TP3 hit | Read case → |
| Feb 24 | 15:01 UTC | NAS100 | Long | GPT-5 | Setup #1 · NAS100 LONG (pullback buy) | C+ | +0.60R(TP1) | +$1,196(TP1) | TP3 hit | Read case → |
| Feb 24 | 15:33 UTC | US30 | Short | GPT-5 | US30 SHORT (mean-revert at resistance) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 24 | 16:41 UTC | NAS100 | Long | GPT-5 | Buy-the-dip into reclaimed VWAP/EMAs | C+ | +0.69R(TP1) | +$1,384(TP1) | TP3 hit | Read case → |
| Feb 25 | 15:05 UTC | NAS100 | Long | GPT-5 | NAS100 LONG (Breakout+Retest) | C+ | +0.60R(TP1) | +$1,191(TP1) | TP2 hit | Read case → |
| Feb 26 | 15:49 UTC | NAS100 | Short | GPT-5 | Setup #1 · NAS100 SHORT (trend-continuation on weak retest) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 26 | 16:11 UTC | US30 | Long | GPT-5 | US30 LONG (Buy-the-dip) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Feb 27 | 16:13 UTC | US500 | Short | GPT-5 | US500 Intraday Fade into Resistance | B | +1.19R(TP1) | +$2,375(TP1) | TP3 hit | Read case → |
| Feb 27 | 16:33 UTC | US30 | Short | GPT-5 | Setup #1 — US30 SHORT (Primary Fade) | C+ | +1.73R(TP1) | +$3,462(TP1) | TP3 hit | Read case → |
| Feb 27 | 16:39 UTC | US500 | Long | GPT-5 | US500 LONG (pullback buy) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 2 | 16:18 UTC | US30 | Short | GPT-5 | Setup #1 · SHORT (Primary) | B | +1.20R(TP1) | +$2,407(TP1) | TP1 hit | Read case → |
| Mar 3 | 15:36 UTC | US500 | Short | GPT-5 | SHORT: Breakdown-Pullback Continuation | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 4 | 16:19 UTC | US500 | Long | GPT-5 | Setup #1 · LONG — Buy the NY pullback | C+ | +1.25R(TP1) | +$2,510(TP1) | TP3 hit | Read case → |
| Mar 4 | 16:47 UTC | NAS100 | Long | GPT-5 | Setup #2 · NAS100 LONG (breakout continuation) | C+ | +0.93R(TP1) | +$1,851(TP1) | TP1 hit | Read case → |
| Mar 5 | 15:04 UTC | US500 | Long | GPT-5 | US500 LONG (buy-dip VWAP/Fib confluence) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 10 | 14:25 UTC | US30 | Short | GPT-5 | Sell rally into VWAP/supply (Primary) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 11 | 14:08 UTC | US500 | Long | GPT-5 | US500 Long (Pullback & Go) | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 11 | 14:20 UTC | NAS100 | Long | GPT-5 | NAS100 LONG (Continuation) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 13 | 14:40 UTC | NAS100 | Long | GPT-5 | NAS100 LONG (buy-the-dip into support) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 16 | 14:59 UTC | US500 | Long | GPT-5 | LONG pullback (buy-the-dip) | B | +1.50R(TP1) | +$3,000(TP1) | TP1 hit | Read case → |
| Mar 17 | 14:10 UTC | US500 | Long | GPT-5.4 | US500 LONG — Pullback buy into prior breakout support | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 17 | 14:31 UTC | NAS100 | Long | GPT-5.4 | NAS100 LONG | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 17 | 14:36 UTC | US30 | Long | GPT-5.4 | US30 LONG | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 18 | 14:41 UTC | EURUSD | Short | GPT-5.4 | EURUSD SHORT | C+ | +0.37R(TP1) | +$742(TP1) | TP3 hit | Read case → |
| Mar 18 | 15:50 UTC | EURUSD | Short | GPT-5.4 | EURUSD SHORT rally fade into VWAP/resistance | C+ | +0.75R(TP1) | +$1,506(TP1) | TP3 hit | Read case → |
| Mar 19 | 14:50 UTC | NAS100 | Short | GPT-5.4 | NAS100 SHORT | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 19 | 15:10 UTC | US500 | Short | GPT-5.4 | US500 SHORT - Failed bounce into VWAP / prior-day-low resistance | B | +1.18R(TP1) | +$2,360(TP1) | TP1 hit | Read case → |
| Mar 20 | 15:13 UTC | US30 | Short | GPT-5.4 | US30 SHORT (pullback failure into resistance) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 20 | 15:28 UTC | EURUSD | Short | GPT-5.4 | EURUSD SHORT retracement into resistance | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 23 | 14:34 UTC | NAS100 | Long | GPT-5.4 | NAS100 Tactical Long Pullback Continuation | C+ | +0.25R(TP1) | +$493(TP1) | TP1 hit | Read case → |
| Mar 23 | 14:36 UTC | US500 | Long | GPT-5.4 | US500 Pullback Long | B | +0.54R(TP1) | +$1,087(TP1) | TP1 hit | Read case → |
| Mar 24 | 14:40 UTC | US500 | Short | GPT-5.4 | US500 VWAP Rejection Short | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 24 | 14:53 UTC | US30 | Short | GPT-5.4 | US30 Short - Failed Push Into Resistance | B+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 24 | 14:54 UTC | NAS100 | Short | GPT-5.4 | NAS100 VWAP Rejection Short | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Mar 25 | 14:11 UTC | NAS100 | Short | GPT-5.4 | NAS100 VWAP Rejection Short | C+ | +0.70R(TP1) | +$1,401(TP1) | TP3 hit | Read case → |
| Mar 25 | 14:14 UTC | US500 | Short | GPT-5.4 | Short VWAP / Prior Close Rejection | C+ | +0.97R(TP1) | +$1,935(TP1) | TP3 hit | Read case → |
| Mar 26 | 14:16 UTC | US500 | Short | Claude Opus 4.7 | US500 Short Fade of Counter-Trend Squeeze | C+ | +0.99R(TP1) | +$1,980(TP1) | TP3 hit | Read case → |
| Mar 26 | 14:40 UTC | EURUSD | Short | Claude Opus 4.7 | EURUSD SHORT (Sell the Rally to VWAP) | C+ | +1.09R(TP1) | +$2,186(TP1) | TP3 hit | Read case → |
| Mar 27 | 14:17 UTC | US500 | Short | Claude Opus 4.7 | US500 SHORT — Pullback to Opening Range / Broken Support | C+ | +1.28R(TP1) | +$2,563(TP1) | TP3 hit | Read case → |
| Mar 31 | 15:39 UTC | EURUSD | Long | Claude Opus 4.7 | Bullish Pullback Long | C+ | +0.75R(TP1) | +$1,500(TP1) | TP3 hit | Read case → |
| Apr 1 | 14:37 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 LONG — Pullback to 5m Dynamic Support | C+ | +0.72R(TP1) | +$1,440(TP1) | TP2 hit | Read case → |
| Apr 2 | 15:57 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Pullback Long at 78.6% Fib / Structural Support | C+ | +1.01R(TP1) | +$2,020(TP1) | TP2 hit | Read case → |
| Apr 8 | 14:56 UTC | EURUSD | Long | Claude Opus 4.7 | EURUSD VWAP/session-low mean-reversion long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 10 | 14:48 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Long Pullback Buy | C+ | +0.59R(TP1) | +$1,179(TP1) | TP1 hit | Read case → |
| Apr 13 | 14:21 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Bullish Pullback Long | C+ | +0.71R(TP1) | +$1,416(TP1) | TP3 hit | Read case → |
| Apr 13 | 14:49 UTC | US30 | Short | Claude Opus 4.7 | Short Rejection at 47,712-47,764 Resistance Cluster | C+ | +1.0R(TP1) | +$2,000(TP1) | TP1 hit | Read case → |
| Apr 13 | 15:20 UTC | EURUSD | Long | Claude Opus 4.7 | EURUSD Pullback Buy at Structure | C+ | +1.15R(TP1) | +$2,299(TP1) | TP3 hit | Read case → |
| Apr 14 | 15:27 UTC | EURUSD | Long | Claude Opus 4.7 | Buy EURUSD on Pullback to Session Support | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 16 | 14:31 UTC | NAS100 | Short | Claude Opus 4.7 | VWAP Rejection Short | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 17 | 14:29 UTC | EURUSD | Long | Claude Opus 4.7 | EURUSD Pullback Long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 17 | 15:25 UTC | US30 | Long | Claude Opus 4.7 | Bullish Pullback to Micro-Support (Primary) | C+ | +1.53R(TP1) | +$3,060(TP1) | TP1 hit | Read case → |
| Apr 23 | 14:58 UTC | EURUSD | Short | Claude Opus 4.7 | Conditional Short EURUSD at Resistance Rejection | B | +1.67R(TP1) | +$3,333(TP1) | TP3 hit | Read case → |
| Apr 23 | 15:51 UTC | NAS100 | Long | Claude Opus 4.7 | Conditional Pullback Long at VWAP/Structure Zone | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 24 | 14:05 UTC | US500 | Short | Claude Opus 4.7 | VWAP Rejection / Opening Range Breakdown Short | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 27 | 14:34 UTC | US30 | Long | Claude Opus 4.7 | US30 Pullback Long to VWAP/Fib Confluence | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Apr 28 | 15:02 UTC | US500 | Short | Claude Opus 4.7 | Bear Flag Breakdown / OR-Low Break | C+ | +0.78R(TP1) | +$1,558(TP1) | TP1 hit | Read case → |
| Apr 30 | 15:45 UTC | US500 | Long | Claude Opus 4.7 | VWAP/Prior Day High Pullback Long | C+ | +1.08R(TP1) | +$2,167(TP1) | TP2 hit | Read case → |
| May 1 | 14:36 UTC | NAS100 | Long | Claude Opus 4.7 | Pullback Long — Fibonacci/EMA9 Confluence | C+ | +1.38R(TP1) | +$2,753(TP1) | TP2 hit | Read case → |
| May 4 | 14:36 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Long — VWAP Pullback Buy (NY AM Session) | C+ | +0.40R(TP1) | +$800(TP1) | TP1 hit | Read case → |
| May 4 | 15:03 UTC | EURUSD | Short | Claude Opus 4.7 | Short EURUSD — VWAP Rejection / Sell the Rip | C+ | +1.53R(TP1) | +$3,057(TP1) | TP2 hit | Read case → |
| May 5 | 15:14 UTC | US30 | Long | Claude Opus 4.7 | Bullish Continuation — OR Breakout & Retest | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 6 | 14:16 UTC | NAS100 | Long | Claude Opus 4.7 | VWAP + Fib 38.2% Continuation Long (PRIMARY) | C+ | +1.03R(TP1) | +$2,067(TP1) | TP2 hit | Read case → |
| May 6 | 14:29 UTC | EURUSD | Long | Claude Opus 4.7 | EURUSD Pullback Buy into Trend Continuation | C+ | +1.0R(TP1) | +$2,000(TP1) | TP2 hit | Read case → |
| May 7 | 15:21 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Pullback Long into Fibonacci/EMA Support | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 12 | 14:19 UTC | NAS100 | Short | Claude Opus 4.7 | VWAP Rejection Short | C+ | +1.46R(TP1) | +$2,912(TP1) | TP3 hit | Read case → |
| May 12 | 15:42 UTC | US30 | Short | Claude Opus 4.7 | Sell the Pullback into OR High / 5m Resistance | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 12 | 15:44 UTC | NAS100 | Short | Claude Opus 4.7 | NAS100 Short on Pullback to Resistance Zone | C+ | +0.70R(TP1) | +$1,397(TP1) | TP2 hit | Read case → |
| May 13 | 14:15 UTC | US30 | Short | Claude Opus 4.7 | US30 Short - Sell the Rip at Trend Resistance / Daily Pivot Confluence | C+ | +0.83R(TP1) | +$1,654(TP1) | TP1 hit | Read case → |
| May 13 | 14:43 UTC | NAS100 | Short | Claude Opus 4.7 | VWAP/Fib Rejection Short | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 13 | 15:54 UTC | GBPUSD | Short | Claude Opus 4.7 | GBPUSD Short — Sell the Rally to VWAP/Resistance | C+ | +1.14R(TP1) | +$2,279(TP1) | TP1 hit | Read case → |
| May 15 | 14:15 UTC | USDJPY | Long | Claude Opus 4.7 | USDJPY Pullback Long | C+ | +0.39R(TP1) | +$783(TP1) | TP3 hit | Read case → |
| May 15 | 14:18 UTC | EURUSD | Short | Claude Opus 4.7 | EURUSD NY AM Session Short Pullback | C+ | +2.0R(TP1) | +$4,000(TP1) | TP1 hit | Read case → |
| May 15 | 14:22 UTC | GBPUSD | Short | Claude Opus 4.7 | VWAP Pullback Short (Primary) | B | +1.89R(TP1) | +$3,789(TP1) | TP1 hit | Read case → |
| May 18 | 14:52 UTC | USDJPY | Long | Claude Opus 4.7 | USDJPY NY AM Continuation Long | C+ | +0.47R(TP1) | +$940(TP1) | TP2 hit | Read case → |
| May 18 | 15:01 UTC | US30 | Long | Claude Opus 4.7 | US30 Pullback Continuation Long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 18 | 15:42 UTC | NAS100 | Short | Claude Opus 4.7 | NAS100 NY AM Session Bearish Pullback Short | C+ | +0.84R(TP1) | +$1,670(TP1) | TP2 hit | Read case → |
| May 19 | 14:42 UTC | USDJPY | Long | Claude Opus 4.7 | USDJPY Long Pullback Entry | C+ | -0.50R(SL) | -$1,000(SL) | Stop hit | Read case → |
| May 20 | 14:39 UTC | EURUSD | Short | Claude Opus 4.7 | EURUSD Short - Fade Session High Rally into Resistance | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 21 | 15:42 UTC | NAS100 | Short | Claude Opus 4.7 | VWAP/EMA9 Rejection Short (NY AM) | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 22 | 14:05 UTC | US500 | Long | Claude Opus 4.7 | VWAP / Breakout Retest Long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| May 22 | 15:38 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD Long Continuation Pullback | C+ | +0.56R(TP1) | +$1,115(TP1) | TP3 hit | Read case → |
| May 26 | 14:05 UTC | NAS100 | Long | Claude Opus 4.7 | Breakout Retest Long | C+ | +0.78R(TP1) | +$1,563(TP1) | TP1 hit | Read case → |
| May 27 | 14:42 UTC | US30 | Long | Claude Opus 4.7 | US30 Long Pullback to Broken Resistance | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 1 | 15:06 UTC | GBPUSD | Short | Claude Opus 4.7 | GBPUSD Post-ISM Pullback Short into VWAP/Fibonacci Resistance | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 1 | 15:25 UTC | USDJPY | Long | Claude Opus 4.7 | USDJPY Pullback Long to VWAP/Support Continuation | C+ | -0.50R(SL) | -$1,000(SL) | Stop hit | Read case → |
| Jun 1 | 15:26 UTC | US30 | Short | GPT-5.5 | Pullback Short into Underside Resistance | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 2 | 15:51 UTC | US30 | Long | GPT-5.5 | Long continuation on breakout-hold of 51262 | B | +0.76R(TP1) | +$1,524(TP1) | TP1 hit | Read case → |
| Jun 3 | 14:33 UTC | GBPUSD | Short | Claude Opus 4.7 | Post-Data Second-Chance Short | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 3 | 14:56 UTC | EURUSD | Short | Claude Opus 4.7 | EURUSD Short — Continuation after ISM Beat | B | +0.49R(TP1) | +$983(TP1) | TP1 hit | Read case → |
| Jun 4 | 14:56 UTC | US30 | Long | GPT-5.5 | US30 Pullback Reclaim into Trend Support | B | +0.95R(TP1) | +$1,896(TP1) | TP3 hit | Read case → |
| Jun 5 | 14:14 UTC | US500 | Short | Claude Opus 4.7 | Short on pullback to broken support | C+ | +1.04R(TP1) | +$2,074(TP1) | TP3 hit | Read case → |
| Jun 5 | 14:36 UTC | NAS100 | Short | Claude Opus 4.7 | NAS100 Short — Bounce Rejection | B | +3.26R(TP1) | +$6,513(TP1) | TP3 hit · ★ Trade of the week | Read case → |
| Jun 8 | 15:12 UTC | US30 | Long | GPT-5.5 | Long Pullback / Reclaim Continuation | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 10 | 15:13 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD Post-CPI Second-Chance at VWAP/Fib Cluster | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 12 | 14:40 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Long - Post-Reversal Continuation | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 12 | 15:46 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD VWAP/EMA Pullback Long | C+ | +0.83R(TP1) | +$1,663(TP1) | TP2 hit | Read case → |
| Jun 15 | 14:06 UTC | US30 | Long | GPT-5.5 | Long on pullback into 5m retracement support | B | +0.84R(TP1) | +$1,681(TP1) | TP1 hit | Read case → |
| Jun 15 | 14:09 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 NY AM Trend Pullback Long | B+ | +0.41R(TP1) | +$829(TP1) | TP2 hit | Read case → |
| Jun 15 | 14:30 UTC | GBPUSD | Long | Claude Opus 4.7 | VWAP Pullback Long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 16 | 14:06 UTC | US30 | Long | GPT-5.5 | Long — OR low reclaim / prior-day-high hold | B+ | +0.85R(TP1) | +$1,706(TP1) | TP3 hit | Read case → |
| Jun 16 | 14:29 UTC | EURUSD | Long | Claude Opus 4.7 | EURUSD Dip-Buy at VWAP/Support Cluster | C+ | +0.90R(TP1) | +$1,810(TP1) | TP3 hit | Read case → |
| Jun 18 | 15:33 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Long — Pullback Buy | C+ | +0.63R(TP1) | +$1,266(TP1) | TP2 hit | Read case → |
| Jun 22 | 14:50 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD Bullish Pullback Continuation Long | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 22 | 15:45 UTC | NAS100 | Short | Claude Opus 4.7 | NAS100 Short — Bear Flag Breakdown Continuation | C+ | +1.02R(TP1) | +$2,037(TP1) | TP3 hit | Read case → |
| Jun 22 | 15:48 UTC | US500 | Short | Claude Opus 4.7 | US500 Short — Sell VWAP Retest / Bear Flag Resolution | C+ | +1.05R(TP1) | +$2,099(TP1) | TP3 hit | Read case → |
| Jun 23 | 14:03 UTC | EURUSD | Short | Claude Opus 4.7 | EURUSD SHORT — Bearish Trend Continuation | C+ | +1.07R(TP1) | +$2,149(TP1) | TP2 hit | Read case → |
| Jun 23 | 14:04 UTC | GBPUSD | Short | Claude Opus 4.7 | GBPUSD Short - Post-PMI Retracement Entry | C+ | +0.80R(TP1) | +$1,593(TP1) | TP2 hit | Read case → |
| Jun 24 | 14:37 UTC | US30 | Long | GPT-5.5 | Long on pullback into prior resistance turned support | C+ | +0.86R(TP1) | +$1,714(TP1) | TP3 hit | Read case → |
| Jun 24 | 15:10 UTC | GBPUSD | Short | Claude Opus 4.7 | GBPUSD Short — Bearish Continuation on Pullback | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 25 | 14:37 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD Long — Post-Data Pullback at 1.3200 Zone | C+ | +0.83R(TP1) | +$1,655(TP1) | TP1 hit | Read case → |
| Jun 25 | 14:57 UTC | US30 | Long | GPT-5.5 | US30 NY AM pullback buy into 52660 support band | B | -1.0R(SL) | -$2,000(SL) | Stop hit | Read case → |
| Jun 25 | 15:21 UTC | USDJPY | Short | Claude Opus 4.7 | SHORT USDJPY pullback entry | C+ | -0.50R(SL) | -$1,000(SL) | Stop hit | Read case → |
| Jun 26 | 14:41 UTC | USDJPY | Short | Claude Opus 4.7 | Short USDJPY VWAP rejection | C+ | -0.50R(SL) | -$1,000(SL) | Stop hit | Read case → |
| Jun 26 | 14:44 UTC | NAS100 | Long | Claude Opus 4.7 | NAS100 Long — VWAP/Fibonacci Pullback Entry | C+ | +1.02R(TP1) | +$2,042(TP1) | TP1 hit | Read case → |
| Jun 29 | 14:35 UTC | NAS100 | Long | Claude Opus 4.7 | VWAP Mean-Reversion LONG — Opening Spike Washout Bounce | C+ | -1.0R(SL) | -$2,000(SL) | Stop hit | - |
| Jun 29 | 15:51 UTC | US30 | Long | GPT-5.5 | US30 NY AM VWAP/Fib Pullback Long | B | +0.96R(TP1) | +$1,917(TP1) | TP1 hit | Read case → |
| Jun 30 | 14:56 UTC | NAS100 | Long | Claude Opus 4.7 | Bullish Pullback Long at NY Session Support / Breakout Pivot | C+ | +0.82R(TP1) | +$1,647(TP1) | TP2 hit | Read case → |
| Jun 30 | 15:09 UTC | US30 | Long | GPT-5.5 | Bullish continuation long off post-data support | C+ | +0.76R(TP1) | +$1,528(TP1) | TP1 hit | Read case → |
| Jul 1 | 14:38 UTC | NAS100 | Short | Claude Opus 4.7 | NAS100 VWAP Rejection / Bear Flag Continuation | B | +1.29R(TP1) | +$2,574(TP1) | TP1 hit | - |
| Jul 1 | 14:41 UTC | US30 | Long | GPT-5.5 | Long pullback continuation | C+ | +0.31R(TP1) | +$618(TP1) | TP3 hit | - |
| Jul 1 | 14:51 UTC | EURUSD | Short | Claude Opus 4.7 | SHORT EURUSD — Bearish Trend Resumption at 61.8% Fib Exhaustion | C+ | +0.29R(TP1) | +$580(TP1) | TP1 hit | - |
| Jul 1 | 15:08 UTC | GBPUSD | Long | Claude Opus 4.7 | GBPUSD Long — Pullback Buy at Breakout Retest | C+ | +1.06R(TP1) | +$2,112(TP1) | TP1 hit | - |
Dollar figures are simulated on a $100,000 account at 2% risk per trade. Actual subscriber P&L varies with account size. Past performance is not a guarantee of future results.
Pattern of the week
The pattern that defines 2026 is not a setup. It is a system-design choice that shows up in the numbers: the desk trades a basket, not a conviction. Six instrument-traders ran all year, each gated by the same confluence and risk thresholds, and the year's return is the sum of six independent edges rather than one hero call. That is why a minus 1.14R stretch on USDJPY never threatened the year: NAS100, EURUSD, US30, and US500 were each carrying their own positive line at the same time.
The second pattern is confluence discipline under regime change. The first quarter moved through a trending open, a choppy middle, and a volatility expansion, and the entries that survived were consistently the ones that waited for structure to confirm before sizing. The losers, concentrated early, were the ones that entered on a premise the tape had not yet printed. That single distinction, confirmation before size, is the thread that runs from the February drawdown through the June winners.
The third pattern is restraint. The desk averaged roughly five to six trades a week across the year and never manufactured activity to fill a calendar. Weeks with nothing that cleared the gate produced nothing, and the gate was never lowered to generate content. A system with an audience has a standing temptation to trade for the feed; this one does not have that setting, and the flat weeks are part of why the positive ones held.
Decision highlights
The end-of-March consolidation around a single primary execution model was the year's defining call. It was made on the ledger, not on preference: across the first quarter's regime shifts, one engine held the most consistent discipline, so it earned the majority of the execution load. The win rate steadied from that point forward.
Keeping USDJPY small was a discipline win disguised as an omission. The pair never cleared the desk's confluence bar cleanly, so it drew only 6 entries all year and cost only 1.14R. A system that chased activity would have forced size into a read that was not there; this one let a weak instrument stay a small line item.
Holding the basket flat through the February drawdown, rather than cutting the instruments that were losing, is why the year compounded. The early index stops were treated as independent events, sizing stayed level, and the same instruments that stopped out in February went on to carry the back half of the year.
Six instruments, six stories.
EURUSD: The year's efficiency leader. 18 trades, +8.07R, a 72.2% win rate, the highest strike rate on the desk. Fewer entries than most, but the cleanest, concentrated in the trending stretches where the pair offered structure worth sizing.
All EURUSD this week →GBPUSD: Close to a scratch. 13 trades, +1.1R at 53.8%. The pair never found a sustained regime it liked, and the desk kept its size honest rather than pressing a read that would not resolve.
All GBPUSD this week →US30: The workhorse. 38 trades, +6.27R at a 55.3% win rate, the highest trade count on the desk. It absorbed the year's earliest drawdown in February and turned firmly positive through the back half.
All US30 this week →NAS100: The year's edge. 42 trades, +8.71R, a 64.3% win rate, the highest cumulative R on the desk, and home to the best single result of 2026 at +3.26R. Best in volatility expansions where its continuation reads had room.
All NAS100 this week →USDJPY: The year's drag, and the smallest sample by design. 6 trades, minus 1.14R at 33.3%. The desk correctly kept the pair on a short leash rather than forcing entries into a read it never cleared cleanly.
All USDJPY this week →US500: The quiet compounder. 22 trades, +6.14R at a 63.6% win rate. Rarely a headline, consistently a contributor, the steady base line under the louder instruments.
All US500 this week →Win of the week: NAS100 Short · +3.26R
Loss worth learning from
The year's most instructive stretch is not a single trade; it is the February index drawdown, and it teaches more than any one loss could. In the first two weeks of the month a cluster of US30 longs stopped for a flat 1R each, and a NAS100 short followed them into the red on the thirteenth. Coming weeks into a young live system, it was the moment the record could have wobbled.
It did not, and the reason is the lesson. Every one of those stops was a flat 1R, placed at real structure and sized off the same fixed risk as every winner. There was no revenge sizing after the cluster, no fear discount on the next entries, and no quiet decision to bench the instruments that were losing. The desk treated each trade as statistically independent of the last, and the same US30 and NAS100 traders that printed the February trough went on to book +6.27R and +8.71R for the year. A drawdown absorbed at flat size is a cost; a drawdown that triggers a sizing spiral is a wound. This one stayed a cost.
On a $100k account at 2.0% risk per trade.
Each trade risks +$2,000 (1R). The system's actual scale-out behavior may differ, see disclaimer.
| Scenario | R-multiple | Profit on $100k |
|---|---|---|
| Window netActual | +29.15R | +$58,300 |
From the desk
A $100,000 simulated account at 2 percent risk per trade sits at $158,308.55 on the static path through July 2, 2026, and at $173,776.63 on the compounded path. The compounded figure runs about $15,468 ahead of static, and that gap is the receipt for disciplined sizing: sizing each trade off a growing balance across 139 trades, rather than a fixed one, is what turns the same +29.15R into a larger dollar line. The distance between the two paths is not luck; it is the arithmetic of consistent risk applied to a positive edge.
From here, the mandate does not change. The desk keeps trading the basket, keeps sizing flat, keeps publishing every settled trade, and keeps the flat weeks flat. The record is now mirrored independently on MyFxbook from mid-year forward, so the curve is auditable outside our own numbers. The next monthly recap will extend this line by one month; the next system tune will be argued in public before it ships; and the next case study will show the reasoning behind the next trade, win or lose. Six months in, the year reads exactly like the process that produced it: unhurried, diversified, and fully on the record.
— The SkyAnalyst Team
What we're tuning
Two threads dominated the tuning queue this year. The first was confirmation discipline: the concentration of losers in premises that had not yet printed pushed a standing bias toward entries that wait for structure to confirm before sizing. That bias is visible in the back-half win rate, and it stays the desk's first filter into the third quarter.
The second is a stop-and-re-entry cooldown, floated in the weekly losses reports, that would downgrade a same-instrument, same-direction re-entry inside a short window of a stop. It has already met a test case it failed, a winner it would have flagged, so it is not shipping until it clears a high bar on the full-year back-test. We publish why a rule ships or dies rather than quietly changing the engine, and this one is still on trial.
At a Glance
Week at a glance
How does the system perform across different market regimes?
The year moved through a trending open, a choppy middle quarter, and multiple volatility expansions, and the basket stayed net positive through all of them. Different instruments carried different regimes: EURUSD in the trending stretches at a 72.2% win rate, NAS100 in the volatility expansions for +8.71R. Trading six instrument-traders rather than one is what smooths the regime risk.
Which instrument carried the load, and why?
NAS100 led the year with +8.71R across 42 trades at a 64.3% win rate, and EURUSD was the most efficient at +8.07R on just 18 trades and a 72.2% strike rate. US30 and US500 were the steady base. The lead was not assigned in advance; it emerged from the ledger and is published trade by trade.
What was the worst drawdown so far?
The February index stretch, a cluster of US30 longs and a NAS100 short that stopped for a flat 1R each in the first two weeks of the month. It was absorbed at level size with no revenge sizing, and the same instruments went on to carry the back half of the year. It is torn down in full in the loss section above.
How does +29.15R YTD translate to an account?
On a $100,000 account at 2 percent risk per trade, +29.15R is $158,308.55 on the static path or $173,776.63 on the compounded path through July 2, 2026. The compounded figure is higher because each trade is sized off a growing balance. Your result would vary with broker execution, slippage, and the risk you actually run.
Why publish every single trade?
Because a track record you can only see the summary of is not a track record. All 139 settled trades are in the index below, each winner links to its full case study, and the losses get their own published teardowns. From mid-year the equity curve is also mirrored on MyFxbook so it can be audited outside our own reporting.
What changed between January and now?
Everything about the cadence and nothing about the method. January was a single-instrument soft launch; by the end of March the full roster was live and the desk had consolidated around one primary execution model; by mid-year the win rate had settled into the high-50s to low-60s and the volume had stabilized. The rules that gate entries and size risk are the same ones that opened the year.
Are these figures TP1 exits or full-TP exits?
TP1 baseline. Winners are credited at the TP1 R distance and losers at minus 1R, so every period in the year stays comparable. The single-trade case studies publish full-TP figures for the same trades, which is why an individual case study may show a larger R than the same trade contributes to this YTD line.
Get next week’s trades before they print.
Subscribers receive the same pre-trade AI analysis three minutes before entry.
We project the recap totals using a TP1 exit on every winning trade. This is the simplest baseline for comparing across periods. Traders running their own scale-out, trail, or TP2/TP3 hold strategies will see different totals. Dollar figures are simulated on a $100,000 account at 2% risk per trade. Actual subscriber P&L varies with account size and execution. Past performance is not a guarantee of future results. Risk-policy note: Claude USDJPY R-multiples publish at 0.5x the broker figure. SkyAnalyst applies a per-Trader marketing risk policy to published R-multiples; the live broker accounts run uniform 1R risk per trade. The dashboard at skyanalyst.ai shows raw broker outcomes, which is why a per-Trader article net can differ from the dashboard net by exactly the de-risked amount. See src/config/instrument-risk-policy.ts for the dated rationale.
The Claude pivot

"Claude’s pre-trade reads held discipline through regime shifts more consistently than the parallel GPT runs. By the closing week of March, the desk consolidated the master flow around Claude."
More from the Journal
The five small losses hiding inside a winning week
The week made plus 3.02R, and it still produced five losing trades. We publish them the same way we publish the losses of a red week, because a track record that only reports its losses when it loses is not a track record.
The week we traded the Nasdaq both ways and won them both
Twelve trades, seven winners, a net plus 3.02R. The standout was the Nasdaq, which we shorted with the yields on Thursday two days after buying it against them, and both trades paid.
The Nasdaq short the macro demanded, days after the long
Two days ago the system bought the Nasdaq against rising yields. Today it sold the same index with them, as yields accelerated, crude spiked, and the VIX jumped. The relief rally failed and the short ran to TP3.