Page 1 of 1
XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Mon Sep 14, 2026 6:44 pm
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?
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:56 am
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:57 am
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.");
}
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:57 am
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.");
}
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:57 am
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:58 am
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.
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:59 am
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();
}
//+------------------------------------------------------------------+
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:59 am
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);
}
//+------------------------------------------------------------------+
Re: XAGUSD: oil >$100 is a rate problem, not a silver bid — $62.98–$61.04 zone
Posted: Fri Sep 25, 2026 8:59 am
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.