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?
XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
-
LondonScalper
- Posts: 701
- 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
Hi LondonScalper,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?
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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.");
}Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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.");
}Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
MT4 Script (Universal Pro Version)
Save as Pro_Levels.mq4 in MQL4\Scripts.
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();
}
//+------------------------------------------------------------------+Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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);
}
//+------------------------------------------------------------------+Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
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.
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.