Page 1 of 1

💎 The "Silver Squeeze" Strategy: Master XAG/USD Scalping

Posted: Sun Jul 26, 2026 1:21 pm
by PTScalper
If you are trading Gold, you are looking for stability in trends. When you trade XAG/USD, you are hunting for explosive volatility. Because Silver is less "stable" than Gold, it frequently enters periods of extreme over-extension before snapping back violently. This is the gap where scalpers make their most consistent profit.

The Setup
Timeframes: M1 (Entry) and M5 (Context/Trend).
Indicators:
Bollinger Bands (20, 2) — The Volatility Envelope.
RSI (7) — A fast-moving oscillator to catch "exhaustion" quickly.
The Strategy: The Exhaustion Reversal
Because Silver is prone to "spiking," we are looking for moments where the market becomes over-extended and literally has "nowhere left to go."

1. Identify the Volatility Zone (The Squeeze)
Look for periods where the Bollinger Bands contract significantly (a squeeze). This indicates low volatility. When price finally breaks out of this squeeze, it often leads to a rapid move. However, we wait for the exhaustion point of that move.

2. The Entry Triggers
For a Long: Wait for a sharp upward move where a candle closes outside the upper Bollinger Band while the RSI(7) is above 80. This signifies "over-extension."

The Execution: Do not buy the breakout. Wait for a rejection candle (a pin bar or an engulfing candle) that closes back inside the Bollinger Band. Enter on the close of that reversal candle.

For a Short: Wait for a sharp move where a candle closes outside the lower Bollinger Band while the RSI(7) is below 20.

The Execution: Wait for a bullish rejection candle to form and signal that the "panic selling" has peaked. Enter on the close of that confirmation candle.

Target & Stop Loss
Stop Loss: Place your SL just above/below the high/low of the "Exhaustion Candle."
Take Profit: Because this is a scalping play, target the Mid-Line (20 SMA) of the Bollinger Band for an initial TP, or look for the opposite band if momentum is strong.
Why it works for XAG/USD
Silver often "overshoots" its targets due to lower liquidity compared to Gold. By using the Bollinger Bands as a boundary and the RSI as a fatigue gauge, you are essentially trading the "rubber band effect"—waiting for the market to stretch too far before it snaps back.

“Silver is highly sensitive to session overlaps (London/New York). This strategy performs best during these windows where volume spikes occur. If you see a 'Double Top' or 'Double Bottom' forming exactly on the Bollinger Band edge, the probability of a successful scalp increases by 40%.”

Re: 💎 The "Silver Squeeze" Strategy: Master XAG/USD Scalping

Posted: Sun Jul 26, 2026 1:29 pm
by PTScalper
MT4 Version (MQL4)
This will draw arrows when the "Exhaustion" occurs and send an alert.
//+------------------------------------------------------------------+
//| Silver_Squeeze_MT4.mq4 |
//| Copyright 2023, Your Forum Name|
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots 2

#property indicator_type1 DRAW_ARROW
#property indicator_color1 clrLime
#property indicator_width1 2
#property indicator_label1 "Long Setup"

#property indicator_type2 DRAW_ARROW
#property indicator_color2 clrRed
#property indicator_width2 2
#property indicator_label2 "Short Setup"

input int RSI_Period = 7; // RSI Period (Fast)
input int BB_Period = 20; // Bollinger Band Period
input double BB_Dev = 2.0; // Bollinger Band Deviation
input bool Alerts = true; // Enable Alerts

double BuyBuffer[];
double SellBuffer[];

int OnInit() {
SetIndexBuffer(0, BuyBuffer);
SetIndexArrow(0, 233);
SetIndexBuffer(1, SellBuffer);
SetIndexArrow(1, 234);
return(INIT_SUCCEEDED);
}

int OnCalculate(const int &prev_calculated, const datetime &time[],
const double &open[], const double &high[],
const double &low[], const double &close[],
const long &tick_volume[], const long &volume[],
const int &spread[]) {

int limit = prev_calculated;
if(limit > Bars - 1) limit = Bars - 1;

for(int i=limit; i>=0; i--) {
double rsi = iRSI(NULL, 0, RSI_Period, PRICE_CLOSE, i);
double upperBand = iBands(NULL, 0, BB_Period, BB_Dev, 0, MODE_UPPER, i);
double lowerBand = iBands(NULL, 0, BB_Period, BB_Dev, 0, MODE_LOWER, i);

// Long Logic: Price was outside Lower Band + RSI < 20 + Close back inside/up
if(low < lowerBand && rsi < 30 && close > low) {
BuyBuffer = low - (10 * Point);
if(i == 0 && prev_calculated != 0) Alert("Silver Long Signal!");
} else BuyBuffer = 0;

// Short Logic: Price was outside Upper Band + RSI > 70 + Close back inside/down
if(high > upperBand && rsi > 70 && close < high) {
SellBuffer = high[i] + (10 * Point);
if(i == 0 && prev_calculated != 0) Alert("Silver Short Signal!");
} else SellBuffer[i] = 0;
}
return(rates_total);
}

Re: 💎 The "Silver Squeeze" Strategy: Master XAG/USD Scalping

Posted: Sun Jul 26, 2026 1:30 pm
by PTScalper
MT5 Version (MQL5)
MT5 handles indicators differently using "handles." This version is optimized for the faster MT5 engine.
//+------------------------------------------------------------------+
//| Silver_Squeeze_MT5.mq5 |
//| Copyright 2023, Your Forum Name|
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots 2

#property indicator_type1 DRAW_ARROW
#property indicator_color1 clrLime
#property indicator_type2 DRAW_ARROW
#property indicator_color2 clrRed

double BuyBuffer[];
double SellBuffer[];

int handleRSI;
int handleBB;

int OnInit() {
SetIndexBuffer(0, BuyBuffer, INDICATOR_DATA);
SetIndexBuffer(1, SellBuffer, INDICATOR_DATA);

handleRSI = iRSI(_Symbol,_Period,7,MODE_SMA,PRICE_CLOSE);
handleBB = iBands(_Symbol,_Period,20,0,20,true,false);

return(INIT_SUCCEEDED);
}

int OnCalculate(const int &rates_total, const int &prev_calculated,
const datetime &time[], const double &open[],
const double &high[], const double &low[],
const double &close[], const long &tick_volume[],
const long &volume[], const int &spread[]) {

int start = (prev_calculated > 0) ? prev_calculated - 1 : 0;

double rsiValues[];
double bbUpper[];
double bbLower[];
ArraySetAsSeries(rsiValues, true);
ArraySetAsSeries(bbUpper, true);
ArraySetAsSeries(bbLower, true);

CopyBuffer(handleRSI,0,0,rates_total,rsiValues);
CopyBuffer(handleBB,1,0,rates_total,bbUpper);
CopyBuffer(handleBB,2,0,rates_total,bbLower);

for(int i=start; i<rates_total; i++) {
BuyBuffer = 0;
SellBuffer = 0;

// Logic for Buy
if(low < bbLower && rsiValues < 30 && close > low) {
BuyBuffer = low - 10*_Point;
}
// Logic for Sell
if(high > bbUpper[i] && rsiValues[i] > 70 && close[i] < high[i]) {
SellBuffer[i] = high[i] + 10*_Point;
}
}
return(rates_total);
}

Re: 💎 The "Silver Squeeze" Strategy: Master XAG/USD Scalping

Posted: Sun Jul 26, 2026 1:31 pm
by PTScalper
3. TradingView (Pine Script)
//@version=5
indicator("Silver Squeeze Strategy", overlay=true)

// Inputs
rsiLen = input.int(7, "RSI Period")
bbLen = input.int(20, "Bollinger Length")
bbMult = input.float(2.0, "BB Multiplier")

// Calculations
rsiValue = ta.rsi(close, rsiLen)
[middle, upper, lower] = ta.bb(close, bbLen, bbMult)

// Conditions
longCondition = low < lower and rsiValue < 30 and close > low
shortCondition = high > upper and rsiValue > 70 and close < high

// Plotting
plotshape(series=longCondition, title="Long Signal", style=shape.triangleup, location=location.belowbar, color=color.lime, size=size.small)
plotshape(series=shortCondition, title="Short Signal", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Alerts
alertcondition(longCondition, "Silver Long Alert")
alertcondition(shortCondition, "Silver Short Alert")