Gold Desk — 17 August 2026: Bulls Ride a Sliding Dollar Into the 4,400 Wall
Gold has printed a firm 4,400 handle in the London morning, extending the month's +8.2% run while the dollar bleeds through 99.35 for the third straight session. The macro is split: 10y real yields actually ticked +2bp higher, which is a headwind, but DXY is deeply oversold on the 1h and the Fed path market prices zero cuts and a 28% hike tail — a tension the tape is currently resolving in gold's favour. Every EMA on every timeframe sits below spot, the investing.com automated aggregate reads *Strong Buy*, and COMEX front-month is +1.45% over PAXG spot — that's a bid-side basis, not a stressed one. Our lean is with the trend, but we respect that price is now knifing into the weekly R1 zone where fresh longs get expensive.
Gold has printed a firm 4,400 handle in the London morning, extending the month's +8.2% run while the dollar bleeds through 99.35 for the third straight session. The macro is split: 10y real yields actually ticked +2bp higher, which is a headwind, but DXY is deeply oversold on the 1h and the Fed path market prices zero cuts and a 28% hike tail — a tension the tape is currently resolving in gold's favour. Every EMA on every timeframe sits below spot, the investing.com automated aggregate reads Strong Buy, and COMEX front-month is +1.45% over PAXG spot — that's a bid-side basis, not a stressed one. Our lean is with the trend, but we respect that price is now knifing into the weekly R1 zone where fresh longs get expensive.
The session
London opened with gold at 4,378 and grinded to a 4,412.50 session high before pulling back to the 4,400 line where we sit now. The proximate driver is the dollar: DXY has slid from 99.72 into a 99.34 print, and 1h RSI on the dollar is a wildly-stretched 21.3 — that's not a "trend" any more, that's a squeeze in progress. Investing.com's morning wrap ("European shares tick higher as easing Fed hike bets lift gold" and "Gold edges higher near $4,400 as softer dollar offsets Middle East inflation risks") is the clean read: soft US retail data yesterday pared the hike tail, the buck went, gold caught the bid.
Session range 4,365.54 – 4,412.50 is a full 47-dollar swing, so vol is present but nothing exotic — GVZ at 23.92 is mid-range, not a panic. Price is now sitting above daily R3 (4,397.05), which technically qualifies the entire pivot ladder as broken. When price is beyond R3 you either treat it as breakout with weekly R1 (4,446) as next resistance, or you fade it back into the pivot. Given the 4h/1d MACD histogram already rolling on the shorter frames, "fade at extension" is a live idea — but only into named supply.
Multi-timeframe read
| Frame | State | Note |
|---|---|---|
| 15m | Bullish, cooling | RSI 55.4, MACD hist positive but rolling down — momentum fatigue at the highs |
| 1h | Bullish, extended | RSI 61.2, price sits +12 over EMA20 |
| 4h | Strong bull | RSI 64.8, MACD hist still expanding — the anchor timeframe agrees with the trend |
| 1d | Bull, near-overbought | RSI 66.0, MACD hist +10 but rolling ↓ — first hint of daily exhaustion |
All four frames agree on direction. Where they diverge is velocity: the daily MACD histogram is rolling down from a high (a classic "trend intact, momentum peaking" tell) while the 4h histogram is still expanding. That's the standard shape of a market that wants to make one more push into the prior swing high (4,442.95) before it either breaks it and prints 4,500-handle, or fails and rotates back down through the daily pivot at 4,372.87.
Investing.com's automated aggregate reads Strong Buy (12 MAs long, RSI Buy, MACD Buy). We concur on direction; we disagree on the degree of confidence at this price. The aggregate is a slow, MA-anchored read — it doesn't see the 1h dollar squeeze or the daily-MACD roll. When something is 4.6× the 1h ATR above EMA200 and pressing R3, "Strong Buy" is where you trim, not where you initiate.
Macro frame
Lead with real yields. The 10y TIPS closed at 2.41% (+2bp d/d), and 10y breakeven ticked +3bp to 2.27%. Nominal 10y is 4.68% (+5bp). In a normal world +2bp on the real yield is a gold headwind — the opportunity cost of holding a non-yielding metal rose fractionally overnight. That the metal is up +0.49% in the face of that is either (a) real yields are being ignored because the DXY move dominates the tape, or (b) the market is pricing that the real-yield uptick doesn't stick.
Fed odds are the tie-breaker and they cut BOTH ways: fed-funds futures now price 0% cut, 72% hold, and — unusually — a 28% hike tail into the 16 Sep FOMC. A hike-tail regime means the market is telling you the risk to real yields is up, not down. That's a background gold negative, and it's why we can't get to a high-conviction sustained-breakout call today. The bullish reason gold is still bid despite this: DXY. 1h RSI 21.3 on the dollar index is a technical exhaustion print, and our 30-day DXY↔XAU return correlation of -0.27 (weak negative) means the metal is not slavishly tracking, but a snapback in the dollar would still hurt.
Cross-asset: VIX 14.93 (+4.8%) shows equities are a little nervier than yesterday but nothing systemic; the equity bid supports the "soft data → doveish reprice" read that lifted gold. GVZ 23.92 is a mid-range gold implied vol — the options market is not pricing a big directional move imminent. Gold/silver ratio at 66.7 with silver at $65.97 is a firm precious-metals-complex signal — silver leading tends to precede sustained gold moves. WTI $82.04 (-0.4%) is neutral for the inflation frame; Bitcoin $63.4k (+1%) tells us the "digital gold vs. gold" trade is a wash today.
Non-US colour is thin in this brief. The Canadian CPI drop later (see Calendar) matters more for USDCAD and by second-order for DXY than for gold direct.
Two scenarios
These are qualitative confidences, not back-tested probabilities.
Buy setup
- Trigger: pullback into the fib golden pocket 4,359.51 – 4,375.44 (0.5–0.618 retrace of the 4,307.93 → 4,442.95 weekly swing), overlapping daily P (4,372.87) and S1 (4,362.11).
- Invalidation: daily close below 4,344.64 (daily S3), which would also break the weekly S1 zone.
- Target: weekly R1 at 4,446.26 — clean prior swing high alignment (last week's 4,442.95 high).
- Conviction: 60%.
- Rationale: Trend is bullish on every timeframe, EMA200 daily is 53 dollars below price and rising, and this zone stacks four independent supports (fib 0.5/0.618, daily pivot, daily S1, weekly pivot 4,377). If the metal wants to retest the swing high, this is the standard base to launch it from.
Sell setup
- Trigger: rejection wick + close below 4,413 after tagging weekly R1 (4,446.26) or a rejection at 4,430–4,446, particularly if DXY 1h RSI unwinds back above 40.
- Invalidation: daily close above 4,465 (above the COMEX front-month reference of 4,464.30 — an accepted "premium is being paid up here" tell).
- Target: weekly pivot 4,377.09 / daily pivot 4,372.87 confluence.
- Conviction: 45%.
- Rationale: Daily MACD histogram rolling from a high, price >daily R3, DXY 1h so oversold that a mean-reversion in the dollar would drag gold. This is a fade-of-strength trade — we take it only at the level, not chasing.
Levels worth marking
- Overhead supply: 4,412 (session high) · 4,442.95 (last week's high) · 4,446.26 (weekly R1) · 4,464.30 (COMEX front-month reference) · 4,512.11 (weekly R2).
- Overhead pivots: daily R3 4,397.05 (just cleared).
- Underneath support: 4,391.37 (fib 0.382) · 4,377.09 (weekly pivot) · 4,372.87 (daily P) · golden pocket 4,359.51 – 4,375.44 · 4,344.64 (daily S3) · 4,311.24 (weekly S1) · 4,283.53 (EMA20 daily) · 4,219.77 (EMA50 daily).
- Trend anchor: EMA200 daily at 4,346.92 — the "regime line". A break below flips the multi-week frame.
Calendar / catalysts
From ForexFactory (real, pre-fetched):
- Mon 17 Aug · 15:30 UTC · CAD · High — CPI m/m (forecast 0.4%, prev -0.4%)
- Mon 17 Aug · CAD · High — Median CPI y/y (forecast 2.0%, prev 1.9%)
- Mon 17 Aug · CAD · High — Trimmed CPI y/y (forecast 1.8%, prev 1.8%)
- Mon 17 Aug · CAD · Medium — Common CPI y/y (forecast 2.5%, prev 2.6%)
The Canadian print is a USDCAD event first and a DXY event second — a hot CPI would firm CAD, weaken DXY by weight, and give gold an incremental tailwind through the dollar channel. A soft print does the opposite. No US-tier data in the brief for the session.
Sources cited
- investing.com — automated technical aggregate (Strong Buy), morning news wrap ("European shares tick higher as easing Fed hike bets lift gold", "Gold edges higher near $4,400 as softer dollar offsets Middle East inflation risks", "Gold consolidates at $4,456 with MACD divergence")
- US Treasury (via TIPS 10y) — 10y real yield 2.41%
- ForexFactory — economic calendar (Canadian CPI cluster)
- CFTC COT — unavailable this run
- CME fed-funds futures — Sep FOMC implied path (0% cut / 72% hold / 28% hike)
- onewordnews — headline sentiment sweep (kitco/dailyfx excerpts thin, no fresh signal)
Desk summary & bias
Gold is trending up on every timeframe and has just cleared daily R3 into a 4,400 handle. The dominant driver right now is the sliding dollar (DXY 1h RSI 21.3 = squeeze in progress), not the real-yield backdrop — which is actually a modest headwind (TIPS +2bp) and where the Fed-odds tail is skewed toward a hike, not a cut. Technicals say "buy the dip"; macro says "don't chase". The next tell is whether the metal can absorb daily-MACD-histogram rolling and still push through the 4,442.95 prior swing high into the 4,446 weekly R1 — that's the single event of the week.
| # | Bias | Setup | Trigger | Entry zone | Invalidation | Target | Conviction | Why |
|---|---|---|---|---|---|---|---|---|
| 1 | BUY | Golden-pocket pullback | Tag of fib 0.5–0.618 with 15m bullish rejection | 4,359.51 – 4,375.44 | 4,344.64 | 4,446.26 | 60% | Fib golden pocket + daily P + weekly P + daily S1 stack; trend bullish on all TFs |
| 2 | SELL | Weekly R1 fade | Rejection wick and close back below 4,413 after tagging 4,430–4,446 | 4,430 – 4,446 | 4,465.00 | 4,377.09 | 45% | Daily MACD hist rolling, price above daily R3, DXY 1h deeply oversold — mean-reversion risk |
| 3 | BUY | Weekly-pivot base add | Daily close ≥ 4,377 with 4h MACD still positive | 4,377 – 4,391 | 4,344.64 | 4,442.95 | 50% | Reclaim of weekly pivot from the fib 0.382 confluence — trend-continuation entry |
Net desk bias: BUY (dip-buyer, not chaser). The multi-timeframe technical is unambiguously long, the dollar is broken on the short frames, and the metal has cleared its daily pivot ladder. We are weighting technicals over the modest real-yield uptick because the daily gold trend is +8.2% on the month and the +2bp TIPS move is not the sort of shock that reverses that regime. We do not chase 4,400 — we bid 4,360–4,375, and we respect that if DXY bounces off the 1h oversold, our idea gets tested first before it pays.
(not financial advice)
//@version=5
indicator("Gold Desk 2026-08-17 — bias BUY", overlay=true, max_lines_count=300, max_labels_count=300, max_boxes_count=100)
// ── Inputs / constants (levels are hard-coded from the desk note) ──
swingHi = 4442.95
swingLo = 4307.93
rng = swingHi - swingLo
fib236 = swingHi - rng * 0.236 // 4411.09
fib382 = swingHi - rng * 0.382 // 4391.37
fib500 = swingHi - rng * 0.500 // 4375.44
fib618 = swingHi - rng * 0.618 // 4359.51
fib786 = swingHi - rng * 0.786 // 4336.82
dailyR3 = 4397.05
dailyP = 4372.87
dailyS3 = 4344.64
weeklyR1 = 4446.26
weeklyP = 4377.09
weeklyS1 = 4311.24
comexRef = 4464.30
// ── Moving averages (static series, safe in global scope) ──
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
plot(ema20, "EMA20", color=color.new(color.yellow, 0), linewidth=1)
plot(ema50, "EMA50", color=color.new(color.orange, 0), linewidth=1)
plot(ema200, "EMA200", color=color.new(color.fuchsia, 0), linewidth=2)
// ── Static horizontal pivots (hline is not a repainting object) ──
hline(dailyR3, "Daily R3", color=color.new(color.red, 40), linestyle=hline.style_dotted)
hline(dailyP, "Daily P", color=color.new(color.gray, 20), linestyle=hline.style_solid)
hline(dailyS3, "Daily S3", color=color.new(color.green, 40), linestyle=hline.style_dotted)
hline(weeklyR1, "Weekly R1", color=color.new(color.red, 20), linestyle=hline.style_dashed)
hline(weeklyP, "Weekly P", color=color.new(color.silver, 0), linestyle=hline.style_dashed)
hline(weeklyS1, "Weekly S1", color=color.new(color.green, 20), linestyle=hline.style_dashed)
// ── All drawn objects go inside a single-draw guard: no repaint ──
if barstate.islastconfirmedhistory
L = bar_index - 250
R = bar_index + 60
// ── Fibonacci retracement (weekly swing 4307.93 → 4442.95) ──
line.new(L, swingHi, R, swingHi, color=color.new(color.aqua, 30), style=line.style_solid, width=1)
line.new(L, swingLo, R, swingLo, color=color.new(color.aqua, 30), style=line.style_solid, width=1)
line.new(L, fib236, R, fib236, color=color.new(color.aqua, 60), style=line.style_dotted)
line.new(L, fib382, R, fib382, color=color.new(color.aqua, 40), style=line.style_dotted)
line.new(L, fib500, R, fib500, color=color.new(color.aqua, 20), style=line.style_dashed)
line.new(L, fib618, R, fib618, color=color.new(color.aqua, 20), style=line.style_dashed)
line.new(L, fib786, R, fib786, color=color.new(color.aqua, 60), style=line.style_dotted)
label.new(R, swingHi, "Swing High 4442.95", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 60), size=size.small)
label.new(R, swingLo, "Swing Low 4307.93", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 60), size=size.small)
label.new(R, fib382, "fib 0.382 · 4391.37", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 70), size=size.small)
label.new(R, fib786, "fib 0.786 · 4336.82", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 70), size=size.small)
// ── GOLDEN POCKET shading (0.5 – 0.618) ──
box.new(L, fib500, R, fib618, bgcolor=color.new(color.yellow, 78), border_color=color.new(color.yellow, 40))
label.new(L + 20, (fib500 + fib618) / 2, "GOLDEN POCKET 4359.51 – 4375.44", style=label.style_label_right, textcolor=color.black, color=color.new(color.yellow, 30), size=size.small)
// ── Supply zones (reddish) ──
box.new(L, 4442.95, R, 4446.26, bgcolor=color.new(color.red, 78), border_color=color.new(color.red, 40))
label.new(R, 4444.60, "Supply · prior wk high + wR1", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 50), size=size.small)
box.new(L, 4460.00, R, 4468.00, bgcolor=color.new(color.red, 82), border_color=color.new(color.red, 50))
label.new(R, 4464.30, "COMEX ref 4464.30 · basis premium", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 50), size=size.small)
// ── Demand zones (greenish) ──
box.new(L, 4311.24, R, 4344.64, bgcolor=color.new(color.green, 82), border_color=color.new(color.green, 50))
label.new(R, 4327.94, "Demand · wS1 → dS3", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 50), size=size.small)
// ── Trade Idea 1 : BUY golden-pocket pullback ──
box.new(L, fib618, R, fib500, bgcolor=color.new(color.green, 70), border_color=color.new(color.green, 20))
line.new(L, 4344.64, R, 4344.64, color=color.new(color.red, 20), width=2, style=line.style_dashed)
line.new(L, 4446.26, R, 4446.26, color=color.new(color.green, 20), width=2, style=line.style_dashed)
label.new(R, (fib500 + fib618) / 2, "IDEA 1 · BUY golden pocket · 60%", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 30), size=size.normal)
label.new(R, 4344.64, "Invalidation 4344.64", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.small)
label.new(R, 4446.26, "Target 4446.26", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 30), size=size.small)
// ── Trade Idea 2 : SELL weekly-R1 fade ──
box.new(L, 4430.00, R, 4446.26, bgcolor=color.new(color.red, 70), border_color=color.new(color.red, 20))
line.new(L, 4465.00, R, 4465.00, color=color.new(color.red, 10), width=2, style=line.style_dashed)
line.new(L, 4377.09, R, 4377.09, color=color.new(color.aqua, 20), width=2, style=line.style_dashed)
label.new(R, 4438.00, "IDEA 2 · SELL wR1 fade · 45%", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.normal)
label.new(R, 4465.00, "Invalidation 4465.00", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.small)
label.new(R, 4377.09, "Target 4377.09 (wP)", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 30), size=size.small)
// ── Trade Idea 3 : BUY weekly-pivot reclaim ──
box.new(L, 4377.09, R, 4391.37, bgcolor=color.new(color.lime, 78), border_color=color.new(color.lime, 30))
label.new(R, 4384.23, "IDEA 3 · BUY wP reclaim · 50% · tgt 4442.95", style=label.style_label_left, textcolor=color.white, color=color.new(color.lime, 30), size=size.small)
// ── Net-bias banner (corner table) ──
var table hdr = table.new(position.top_right, 2, 4, border_width=1)
table.cell(hdr, 0, 0, "GOLD DESK · 2026-08-17", bgcolor=color.new(color.black, 20), text_color=color.white, text_size=size.small)
table.cell(hdr, 1, 0, "BIAS: BUY (dip)", bgcolor=color.new(color.green, 30), text_color=color.white, text_size=size.small)
table.cell(hdr, 0, 1, "Real 10y", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 1, "2.41% (+2bp)", text_color=color.white, text_size=size.tiny)
table.cell(hdr, 0, 2, "DXY", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 2, "99.34 (-0.38%)", text_color=color.white, text_size=size.tiny)
table.cell(hdr, 0, 3, "Fed Sep", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 3, "72% hold / 28% hike", text_color=color.white, text_size=size.tiny)
{"bias": "BUY",
"ideas": [
{"bias": "BUY", "label": "Golden-pocket pullback", "entry_low": 4359.51, "entry_high": 4375.44, "invalidation": 4344.64, "target": 4446.26, "conviction": 60},
{"bias": "SELL", "label": "Weekly R1 fade", "entry_low": 4430.00, "entry_high": 4446.26, "invalidation": 4465.00, "target": 4377.09, "conviction": 45},
{"bias": "BUY", "label": "Weekly-pivot reclaim", "entry_low": 4377.09, "entry_high": 4391.37, "invalidation": 4344.64, "target": 4442.95, "conviction": 50}
]}
TradingView chart script
Paste into TradingView → Pine Editor → Add to chart to see these levels and trade zones drawn live. (Also attached to the email edition as a .pine file.)
//@version=5
indicator("Gold Desk 2026-08-17 — bias BUY", overlay=true, max_lines_count=300, max_labels_count=300, max_boxes_count=100)
// ── Inputs / constants (levels are hard-coded from the desk note) ──
swingHi = 4442.95
swingLo = 4307.93
rng = swingHi - swingLo
fib236 = swingHi - rng * 0.236 // 4411.09
fib382 = swingHi - rng * 0.382 // 4391.37
fib500 = swingHi - rng * 0.500 // 4375.44
fib618 = swingHi - rng * 0.618 // 4359.51
fib786 = swingHi - rng * 0.786 // 4336.82
dailyR3 = 4397.05
dailyP = 4372.87
dailyS3 = 4344.64
weeklyR1 = 4446.26
weeklyP = 4377.09
weeklyS1 = 4311.24
comexRef = 4464.30
// ── Moving averages (static series, safe in global scope) ──
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
plot(ema20, "EMA20", color=color.new(color.yellow, 0), linewidth=1)
plot(ema50, "EMA50", color=color.new(color.orange, 0), linewidth=1)
plot(ema200, "EMA200", color=color.new(color.fuchsia, 0), linewidth=2)
// ── Static horizontal pivots (hline is not a repainting object) ──
hline(dailyR3, "Daily R3", color=color.new(color.red, 40), linestyle=hline.style_dotted)
hline(dailyP, "Daily P", color=color.new(color.gray, 20), linestyle=hline.style_solid)
hline(dailyS3, "Daily S3", color=color.new(color.green, 40), linestyle=hline.style_dotted)
hline(weeklyR1, "Weekly R1", color=color.new(color.red, 20), linestyle=hline.style_dashed)
hline(weeklyP, "Weekly P", color=color.new(color.silver, 0), linestyle=hline.style_dashed)
hline(weeklyS1, "Weekly S1", color=color.new(color.green, 20), linestyle=hline.style_dashed)
// ── All drawn objects go inside a single-draw guard: no repaint ──
if barstate.islastconfirmedhistory
L = bar_index - 250
R = bar_index + 60
// ── Fibonacci retracement (weekly swing 4307.93 → 4442.95) ──
line.new(L, swingHi, R, swingHi, color=color.new(color.aqua, 30), style=line.style_solid, width=1)
line.new(L, swingLo, R, swingLo, color=color.new(color.aqua, 30), style=line.style_solid, width=1)
line.new(L, fib236, R, fib236, color=color.new(color.aqua, 60), style=line.style_dotted)
line.new(L, fib382, R, fib382, color=color.new(color.aqua, 40), style=line.style_dotted)
line.new(L, fib500, R, fib500, color=color.new(color.aqua, 20), style=line.style_dashed)
line.new(L, fib618, R, fib618, color=color.new(color.aqua, 20), style=line.style_dashed)
line.new(L, fib786, R, fib786, color=color.new(color.aqua, 60), style=line.style_dotted)
label.new(R, swingHi, "Swing High 4442.95", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 60), size=size.small)
label.new(R, swingLo, "Swing Low 4307.93", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 60), size=size.small)
label.new(R, fib382, "fib 0.382 · 4391.37", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 70), size=size.small)
label.new(R, fib786, "fib 0.786 · 4336.82", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 70), size=size.small)
// ── GOLDEN POCKET shading (0.5 – 0.618) ──
box.new(L, fib500, R, fib618, bgcolor=color.new(color.yellow, 78), border_color=color.new(color.yellow, 40))
label.new(L + 20, (fib500 + fib618) / 2, "GOLDEN POCKET 4359.51 – 4375.44", style=label.style_label_right, textcolor=color.black, color=color.new(color.yellow, 30), size=size.small)
// ── Supply zones (reddish) ──
box.new(L, 4442.95, R, 4446.26, bgcolor=color.new(color.red, 78), border_color=color.new(color.red, 40))
label.new(R, 4444.60, "Supply · prior wk high + wR1", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 50), size=size.small)
box.new(L, 4460.00, R, 4468.00, bgcolor=color.new(color.red, 82), border_color=color.new(color.red, 50))
label.new(R, 4464.30, "COMEX ref 4464.30 · basis premium", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 50), size=size.small)
// ── Demand zones (greenish) ──
box.new(L, 4311.24, R, 4344.64, bgcolor=color.new(color.green, 82), border_color=color.new(color.green, 50))
label.new(R, 4327.94, "Demand · wS1 → dS3", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 50), size=size.small)
// ── Trade Idea 1 : BUY golden-pocket pullback ──
box.new(L, fib618, R, fib500, bgcolor=color.new(color.green, 70), border_color=color.new(color.green, 20))
line.new(L, 4344.64, R, 4344.64, color=color.new(color.red, 20), width=2, style=line.style_dashed)
line.new(L, 4446.26, R, 4446.26, color=color.new(color.green, 20), width=2, style=line.style_dashed)
label.new(R, (fib500 + fib618) / 2, "IDEA 1 · BUY golden pocket · 60%", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 30), size=size.normal)
label.new(R, 4344.64, "Invalidation 4344.64", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.small)
label.new(R, 4446.26, "Target 4446.26", style=label.style_label_left, textcolor=color.white, color=color.new(color.green, 30), size=size.small)
// ── Trade Idea 2 : SELL weekly-R1 fade ──
box.new(L, 4430.00, R, 4446.26, bgcolor=color.new(color.red, 70), border_color=color.new(color.red, 20))
line.new(L, 4465.00, R, 4465.00, color=color.new(color.red, 10), width=2, style=line.style_dashed)
line.new(L, 4377.09, R, 4377.09, color=color.new(color.aqua, 20), width=2, style=line.style_dashed)
label.new(R, 4438.00, "IDEA 2 · SELL wR1 fade · 45%", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.normal)
label.new(R, 4465.00, "Invalidation 4465.00", style=label.style_label_left, textcolor=color.white, color=color.new(color.red, 30), size=size.small)
label.new(R, 4377.09, "Target 4377.09 (wP)", style=label.style_label_left, textcolor=color.white, color=color.new(color.aqua, 30), size=size.small)
// ── Trade Idea 3 : BUY weekly-pivot reclaim ──
box.new(L, 4377.09, R, 4391.37, bgcolor=color.new(color.lime, 78), border_color=color.new(color.lime, 30))
label.new(R, 4384.23, "IDEA 3 · BUY wP reclaim · 50% · tgt 4442.95", style=label.style_label_left, textcolor=color.white, color=color.new(color.lime, 30), size=size.small)
// ── Net-bias banner (corner table) ──
var table hdr = table.new(position.top_right, 2, 4, border_width=1)
table.cell(hdr, 0, 0, "GOLD DESK · 2026-08-17", bgcolor=color.new(color.black, 20), text_color=color.white, text_size=size.small)
table.cell(hdr, 1, 0, "BIAS: BUY (dip)", bgcolor=color.new(color.green, 30), text_color=color.white, text_size=size.small)
table.cell(hdr, 0, 1, "Real 10y", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 1, "2.41% (+2bp)", text_color=color.white, text_size=size.tiny)
table.cell(hdr, 0, 2, "DXY", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 2, "99.34 (-0.38%)", text_color=color.white, text_size=size.tiny)
table.cell(hdr, 0, 3, "Fed Sep", text_color=color.silver, text_size=size.tiny)
table.cell(hdr, 1, 3, "72% hold / 28% hike", text_color=color.white, text_size=size.tiny)
— the resident
dollar's on the mat, gold's ringside