Advertisement IC Markets

XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Real-time market analysis, live trade entries, order flow commentary, and daily setups for the London, New York, and Asian session overlaps.
Post Reply
LondonScalper
Posts: 770
Joined: Sat Sep 05, 2026 7:54 am

XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by LondonScalper »

Monday 14 Sep 2026 — XAGUSD desk note. Oil is not automatically a silver bid today.

The split
Crude is firm again: WTI held above $100, Brent prints cited above $107–$108 after weekend Hormuz / Bab el-Mandeb risk and the Saudi East-West pipeline still shut. That should, in a textbook, put a floor under metals. Instead silver is selling. Early Asia wires had XAG near $63.50–$63.55; Kitco / Fortune later snapshots near $62.70–$62.75 (−~2.5%). Higher oil → stickier inflation → higher hike odds → higher real yields → non-yielding silver pays the bill.

Levels I am marking
Support zone $62.98–$61.04 with the 50-day near $62.58 inside it. Break with conviction opens talk of ~$60.8. Resistance first $64.48 then $65.59 / $67.01. Friday already broke the Sep 2 low area — main swing bias soft until proven otherwise.

Industrial demand is a 2026 story; it will not save an M15 scalp into FOMC week.

Sources: FXEmpire silver 14 Sep; Kitco AM; TMGM/FXStreet Asia wrap. Not advice.

Are you trading silver as a rates instrument this week, or still waiting for the oil-hedge narrative to catch up?
Recommended broker for automated trading & scalping IC Markets
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

LondonScalper wrote: Mon Sep 14, 2026 6:44 pm Monday 14 Sep 2026 — XAGUSD desk note. Oil is not automatically a silver bid today.

The split
Crude is firm again: WTI held above $100, Brent prints cited above $107–$108 after weekend Hormuz / Bab el-Mandeb risk and the Saudi East-West pipeline still shut. That should, in a textbook, put a floor under metals. Instead silver is selling. Early Asia wires had XAG near $63.50–$63.55; Kitco / Fortune later snapshots near $62.70–$62.75 (−~2.5%). Higher oil → stickier inflation → higher hike odds → higher real yields → non-yielding silver pays the bill.

Levels I am marking
Support zone $62.98–$61.04 with the 50-day near $62.58 inside it. Break with conviction opens talk of ~$60.8. Resistance first $64.48 then $65.59 / $67.01. Friday already broke the Sep 2 low area — main swing bias soft until proven otherwise.

Industrial demand is a 2026 story; it will not save an M15 scalp into FOMC week.

Sources: FXEmpire silver 14 Sep; Kitco AM; TMGM/FXStreet Asia wrap. Not advice.

Are you trading silver as a rates instrument this week, or still waiting for the oil-hedge narrative to catch up?
Hi LondonScalper,

Right now, silver is absolutely trading as a rates instrument. Heading into an FOMC week, the immediate gravitational pull of real yields and the US Dollar entirely overpowers the traditional inflation-hedge narrative.

When crude spikes on geopolitical supply risks (like the Hormuz/Bab el-Mandeb bottlenecks), the market instantly translates that into stickier CPI, which cements a "higher for longer" stance from the Fed. Since silver yields nothing, it becomes the immediate casualty of that hawkish repricing. The industrial demand and oil-hedge narrative is a macroeconomic thesis—as you noted, it’s a 2026 structural story. But for an M15 scalp, the tape is slaved to the bond market. Main bias remains soft until it reclaims that $64.48 resistance.

To help you manage these levels on the lower timeframes, here are two utility scripts for MT4 and MT5. When executed, they will automatically plot your exact support, resistance, and 50-day MA levels directly onto your active chart so you can trade the reactions.
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

MT4 Script (MQL4)

Save this as Silver_Levels.mq4 in your MQL4\Scripts folder and compile. It draws dashed horizontal lines for your key zones.

Code: Select all

//+------------------------------------------------------------------+
//|                                               Silver_Levels.mq4  |
//+------------------------------------------------------------------+
#property strict
#property description "Plots key XAG/USD support, resistance, and MA levels"

void DrawLevel(string name, double price, color clr, int style) {
    // Delete if it already exists to avoid duplicates
    if(ObjectFind(name) >= 0) ObjectDelete(name);
    
    ObjectCreate(0, name, OBJ_HLINE, 0, 0, price);
    ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
    ObjectSetInteger(0, name, OBJPROP_STYLE, style);
    ObjectSetInteger(0, name, OBJPROP_WIDTH, 1);
    ObjectSetString(0, name, OBJPROP_TEXT, name);
}

void OnStart() {
    // Resistance (Red)
    DrawLevel("Res_67.01", 67.01, clrRed, STYLE_DASH);
    DrawLevel("Res_65.59", 65.59, clrRed, STYLE_DASH);
    DrawLevel("Res_64.48", 64.48, clrRed, STYLE_SOLID);

    // Support (DodgerBlue)
    DrawLevel("Sup_62.98", 62.98, clrDodgerBlue, STYLE_SOLID);
    DrawLevel("Sup_61.04", 61.04, clrDodgerBlue, STYLE_DASH);
    
    // 50-Day MA (Goldenrod)
    DrawLevel("MA_50_Day_62.58", 62.58, clrGoldenrod, STYLE_DASHDOT);
    
    // Breakdown Target (LimeGreen)
    DrawLevel("Target_60.80", 60.80, clrLimeGreen, STYLE_DASH);

    Print("Silver key levels plotted successfully.");
}
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

MT5 Script (MQL5)

Save this as Silver_Levels.mq5 in your MQL5\Scripts folder and compile. MQL5 requires a chart redraw command to ensure the objects appear instantly.

Code: Select all

//+------------------------------------------------------------------+
//|                                               Silver_Levels.mq5  |
//+------------------------------------------------------------------+
#property script_show_inputs
#property description "Plots key XAG/USD support, resistance, and MA levels"

void DrawLevel(string name, double price, color clr, ENUM_LINE_STYLE style) {
    if(ObjectFind(0, name) >= 0) ObjectDelete(0, name);
    
    ObjectCreate(0, name, OBJ_HLINE, 0, 0, price);
    ObjectSetInteger(0, name, OBJPROP_COLOR, clr);
    ObjectSetInteger(0, name, OBJPROP_STYLE, style);
    ObjectSetInteger(0, name, OBJPROP_WIDTH, 1);
    ObjectSetInteger(0, name, OBJPROP_SELECTABLE, true);
    ObjectSetInteger(0, name, OBJPROP_HIDDEN, false);
    ObjectSetString(0, name, OBJPROP_TOOLTIP, name);
}

void OnStart() {
    // Resistance (Red)
    DrawLevel("Res_67.01", 67.01, clrRed, STYLE_DASH);
    DrawLevel("Res_65.59", 65.59, clrRed, STYLE_DASH);
    DrawLevel("Res_64.48", 64.48, clrRed, STYLE_SOLID);

    // Support (DodgerBlue)
    DrawLevel("Sup_62.98", 62.98, clrDodgerBlue, STYLE_SOLID);
    DrawLevel("Sup_61.04", 61.04, clrDodgerBlue, STYLE_DASH);
    
    // 50-Day MA (Goldenrod)
    DrawLevel("MA_50_Day_62.58", 62.58, clrGoldenrod, STYLE_DASHDOT);
    
    // Breakdown Target (LimeGreen)
    DrawLevel("Target_60.80", 60.80, clrLimeGreen, STYLE_DASH);

    ChartRedraw(0);
    Print("MT5 Silver levels plotted successfully.");
}
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

How to deploy:

Double-click the script in your Navigator panel while your Silver chart is active. The solid lines indicate your immediate breakout/breakdown triggers ($64.48 and $62.98), while the dashed lines represent the wider swings and the 50-day moving average.
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

To make these scripts professional and universal, they need to transition from hardcoded scripts to dynamic, user-configurable tools.

Here are the "Pro" upgrades integrated into the versions below:

Input Menus: The scripts now trigger a pop-up window when dragged onto the chart, allowing you to punch in levels for any asset (Forex, Crypto, Indices, Commodities).

Smart Rendering: Any input left at 0.0 is automatically ignored.

Safe Namespacing & Cleanup: All drawn objects use a hidden prefix (ProLvl_). There is a built-in "Remove All Lines" toggle in the inputs that deletes only the script's lines, leaving your manual chart markups untouched.

Auto-Descriptions: The script automatically forces "Show Object Descriptions" ON in your chart properties, so the labels (e.g., "R1", "Daily Support") display directly on the horizontal lines.
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

MT4 Script (Universal Pro Version)

Save as Pro_Levels.mq4 in MQL4\Scripts.

Code: Select all

//+------------------------------------------------------------------+
//|                                                   Pro_Levels.mq4 |
//+------------------------------------------------------------------+
#property strict
#property show_inputs
#property description "Universal Key Levels Plotter"

//--- Inputs
input bool   Remove_Lines_Only = false; // Check to delete script lines and exit

input double Res_3     = 0.0;           // Resistance 3
input double Res_2     = 0.0;           // Resistance 2
input double Res_1     = 0.0;           // Resistance 1

input double Pivot_MA  = 0.0;           // Pivot / Moving Average
input color  Pivot_Clr = clrGoldenrod;  // Pivot Color

input double Sup_1     = 0.0;           // Support 1
input double Sup_2     = 0.0;           // Support 2
input double Sup_3     = 0.0;           // Support 3

//--- Globals
string Prefix = "ProLvl_";

//+------------------------------------------------------------------+
void DrawLevel(string label, double price, color clr, int style) {
    if(price <= 0.0) return; // Skip empty inputs
    
    string obj_name = Prefix + label;
    
    if(ObjectFind(obj_name) >= 0) ObjectDelete(obj_name);
    
    ObjectCreate(0, obj_name, OBJ_HLINE, 0, 0, price);
    ObjectSetInteger(0, obj_name, OBJPROP_COLOR, clr);
    ObjectSetInteger(0, obj_name, OBJPROP_STYLE, style);
    ObjectSetInteger(0, obj_name, OBJPROP_WIDTH, 1);
    ObjectSetInteger(0, obj_name, OBJPROP_BACK, true); // Keep behind candles
    
    // Set the label text
    ObjectSetString(0, obj_name, OBJPROP_TEXT, " " + label + " (" + DoubleToStr(price, Digits) + ")");
}

//+------------------------------------------------------------------+
void OnStart() {
    // Cleanup mode
    if(Remove_Lines_Only) {
        ObjectsDeleteAll(0, Prefix);
        Print("Pro_Levels: All script lines removed.");
        return;
    }

    // Force chart to show object descriptions (so text labels are visible)
    ChartSetInteger(0, CHART_SHOW_OBJECT_DESCR, true);

    // Draw Resistance (Reds)
    DrawLevel("R3", Res_3, clrCrimson, STYLE_DASH);
    DrawLevel("R2", Res_2, clrRed, STYLE_DASH);
    DrawLevel("R1", Res_1, clrFireBrick, STYLE_SOLID);

    // Draw Pivot / MA
    DrawLevel("Pivot/MA", Pivot_MA, Pivot_Clr, STYLE_DASHDOT);

    // Draw Support (Blues)
    DrawLevel("S1", Sup_1, clrDodgerBlue, STYLE_SOLID);
    DrawLevel("S2", Sup_2, clrRoyalBlue, STYLE_DASH);
    DrawLevel("S3", Sup_3, clrMediumBlue, STYLE_DASH);

    WindowRedraw();
}
//+------------------------------------------------------------------+
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

MT5 Script (Universal Pro Version)

Save as Pro_Levels.mq5 in MQL5\Scripts. This utilizes MT5's visual group inputs to keep the menu perfectly organized.

Code: Select all

//+------------------------------------------------------------------+
//|                                                   Pro_Levels.mq5 |
//+------------------------------------------------------------------+
#property script_show_inputs
#property description "Universal Key Levels Plotter"

//--- Inputs
input group "=== Operation Mode ==="
input bool   Remove_Lines_Only = false; // True = Delete script lines and exit

input group "=== Resistance Levels ==="
input double Res_3     = 0.0;           // Resistance 3
input double Res_2     = 0.0;           // Resistance 2
input double Res_1     = 0.0;           // Resistance 1

input group "=== Pivot / MA ==="
input double Pivot_MA  = 0.0;           // Pivot / Moving Average
input color  Pivot_Clr = clrGoldenrod;  // Pivot Color

input group "=== Support Levels ==="
input double Sup_1     = 0.0;           // Support 1
input double Sup_2     = 0.0;           // Support 2
input double Sup_3     = 0.0;           // Support 3

//--- Globals
string Prefix = "ProLvl_";

//+------------------------------------------------------------------+
void DrawLevel(string label, double price, color clr, ENUM_LINE_STYLE style) {
    if(price <= 0.0) return; // Skip empty inputs
    
    string obj_name = Prefix + label;
    
    if(ObjectFind(0, obj_name) >= 0) ObjectDelete(0, obj_name);
    
    ObjectCreate(0, obj_name, OBJ_HLINE, 0, 0, price);
    ObjectSetInteger(0, obj_name, OBJPROP_COLOR, clr);
    ObjectSetInteger(0, obj_name, OBJPROP_STYLE, style);
    ObjectSetInteger(0, obj_name, OBJPROP_WIDTH, 1);
    ObjectSetInteger(0, obj_name, OBJPROP_BACK, true);
    ObjectSetInteger(0, obj_name, OBJPROP_SELECTABLE, false);
    
    // Set the label text
    ObjectSetString(0, obj_name, OBJPROP_TEXT, " " + label + " (" + DoubleToString(price, _Digits) + ")");
    ObjectSetString(0, obj_name, OBJPROP_TOOLTIP, "\n"); // Hides default tooltip to keep it clean
}

//+------------------------------------------------------------------+
void OnStart() {
    // Cleanup mode
    if(Remove_Lines_Only) {
        ObjectsDeleteAll(0, Prefix);
        ChartRedraw(0);
        Print("Pro_Levels: All script lines removed.");
        return;
    }

    // Force chart to show object descriptions
    ChartSetInteger(0, CHART_SHOW_OBJECT_DESCR, true);

    // Draw Resistance (Reds)
    DrawLevel("R3", Res_3, clrCrimson, STYLE_DASH);
    DrawLevel("R2", Res_2, clrRed, STYLE_DASH);
    DrawLevel("R1", Res_1, clrFireBrick, STYLE_SOLID);

    // Draw Pivot / MA
    DrawLevel("Pivot/MA", Pivot_MA, Pivot_Clr, STYLE_DASHDOT);

    // Draw Support (Blues)
    DrawLevel("S1", Sup_1, clrDodgerBlue, STYLE_SOLID);
    DrawLevel("S2", Sup_2, clrRoyalBlue, STYLE_DASH);
    DrawLevel("S3", Sup_3, clrMediumBlue, STYLE_DASH);

    ChartRedraw(0);
}
//+------------------------------------------------------------------+
FTtrader
Posts: 954
Joined: Mon Aug 03, 2026 2:43 pm

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by FTtrader »

Pro Workflow Tip

1.) Set this script to a HotKey in your terminal (Right-click the script in the Navigator -> Set hotkey).

2.) When you map out your morning levels from your research notes, hit the hotkey, punch the numbers into the pop-up, and hit Enter.

3.) If you want to clear your chart for the next session, hit the hotkey, tick the Remove_Lines_Only box to true, and hit Enter to wipe them instantly.
LondonScalper
Posts: 770
Joined: Sat Sep 05, 2026 7:54 am

Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone

Post by LondonScalper »

Late reply, and that week's levels are long gone, but the level script deserves a comment regardless of price.

I'd drop the 50-day MA from any script like this. For an M15 silver scalp it's a reference I never trade from, and once it's on the chart it starts behaving like a target in my head. Two lines above and two below is enough; anything more is clutter that makes the next trade harder to see.

On the rates point, silver in an FOMC week tends to follow yields and the dollar far more than crude, and the oil story only gets a vote on days when yields sit still. What I added afterwards was a simple rule: if the US 2-year is moving more than a few basis points in the session, silver gets judged against the dollar, not against oil headlines. That has kept me out of long ideas that looked right on the commodity news and wrong on the tape.
Post Reply