PipLedger
Today's forex newsNFP, CPI, FOMC and other high-impact eventsEconomic calendarCalendar →

Best time to scalp forex in IST, and a 5-minute scalping strategy for the overlap

Scalping lives and dies by costs. A scalper aims for a few pips a trade, so the spread and commission take a much bigger share than they do for a swing trader. That makes timing the first decision: scalp when spreads are tightest and the market is moving, and stay out when it isn't. Here's when that is in IST, session by session, plus a complete 5-minute scalping strategy for the London–New York overlap with a free TradingView script.

By M. A. Horaira. Updated 10 October 2026. 10 minute read.

The rules at a glance

  • Market: EURUSD on the 5-minute chart (GBPUSD works too)
  • When: only 8 to 11 a.m. New York time (17:30 to 20:30 IST in summer, 18:30 to 21:30 in winter)
  • Trend: the price above a 50 EMA that's higher than it was 10 candles ago (below a falling one for shorts)
  • Entry: the Stochastic (14, 3, 3) %K crosses above %D after being below 20; buy at that close (shorts: a cross down from above 80)
  • Stop loss: 0.1 ATR below the lowest low of the last 5 candles; skip the trade if that's more than 2.5 × ATR away
  • Target: 1.5 times the risk; at most 3 trades a day, and anything open at 11 a.m. is closed
  • Risk: 0.5% of the account per trade

Why timing matters more for scalpers

Suppose your all-in cost is 0.8 pips a trade, spread plus commission. On a 40-pip swing trade that's 2% of the move. On a 4-pip scalp it's 20%. The same cost that a swing trader barely notices decides whether a scalper makes money at all. So a scalper wants two things at once: tight spreads and enough movement to reach a small target quickly. Both come together in the busiest hours.

Forex sessions for scalping, in IST

SessionIST, summerIST, winterFor scalping
Tokyo05:30–14:3005:30–14:30Yen and Australian dollar pairs can work; euro and pound pairs are often too quiet
London openfrom 12:30from 13:30Volume jumps and spreads tighten on the euro and the pound
London–New York overlap17:30–21:3018:30–22:30The busiest stretch of the day for the major pairs
New York afternoon21:30–02:3022:30–03:30Activity falls after London closes; Fed decisions come at 2 p.m. New York time
Daily rolloveraround 02:30around 03:30Spreads are usually widest; most scalpers stay out

Summer means both the UK and the US are on summer time; the UK changes on 25 October 2026 and the US on 1 November 2026. The market hours clock shows the sessions live, and scalping trading covers the basics of the style.

The strategy: a Stochastic pullback in the overlap

The rules below use the overlap, the 50 EMA for the trend and the Stochastic oscillator to time short pullbacks. The Stochastic compares the close with the high-low range of the last 14 candles; under 20 means the price is near the bottom of that range, over 80 near the top. In an uptrend, a dip that pushes the Stochastic under 20 and then turns up is a pullback ending.

1. Trade only 8 to 11 a.m. New York time

That's 17:30 to 20:30 IST in summer. Outside it, the script doesn't trade.

2. Check the trend

The price must be above the 50 EMA, and the EMA higher than it was 10 candles ago. Shorts need the opposite.

3. Enter on the Stochastic turn

When %K crosses above %D, having been below 20 on the previous candle, buy at the close.

4. Tight stop, quick target

The stop goes a tenth of an ATR below the lowest low of the last five candles. If that's more than 2.5 ATRs away, skip it: the dip was too deep for a scalp. The target is 1.5 times the risk. At most three trades a day, and anything open at 11 a.m. is closed.

Worked example: EURUSD, 5-minute chart

8:00 NYTarget 1.16737Entry 1.16678Stop 1.16639Stochastic turns up1.5R8020%K crosses %DStochastic (14, 3, 3)

50 EMA (price), %D (panel) %K

Illustrative chart drawn for this guide to show the rules. It isn't a real day's prices. EURUSD, 5-minute candles from 7:10 a.m. New York time, with the Stochastic below.

EURUSD is climbing above a rising 50 EMA. After the 8:30 data it dips for half an hour and the Stochastic falls to 18. On the 09:15 candle (18:45 IST in summer), %K turns up through %D, and the candle closes at 1.16678. The stop goes just under the dip, at 1.16639.

EURUSD long
Entry1.16678
Stop loss1.16639, 3.9 pips away
Target (1.5R)1.16737, 5.9 pips away
Account and risk$10,000, risking 0.5% = $50
Lot size$50 ÷ (3.9 pips × $10) = 1.282, rounded down to 1.28 lots
Loss if the stop is hit$49.92
Profit at the target$75.52

EURUSD reaches the target 8 candles later, about forty minutes. Notice the lot size: a 4-pip stop at 0.5% risk is more than one lot, and a per-lot commission is paid on all 1.28 lots. In pips, though, the cost is the same at any size: with a cost of 0.8 pips a trade, the win shrinks to 5.1 pips and the loss grows to 4.7. Before costs, a 1.5R target breaks even at a 40% win rate; after those costs it needs about 48%. That's the sum every scalper should do with their own broker's spread and commission.

Risk management for scalpers

Common mistakes

  1. Scalping the quiet hours. A 4-pip target in a market moving 2 pips an hour turns into time stops and costs.
  2. Ignoring the spread at the rollover. Late-night spreads can be several times the overlap's.
  3. Revenge trading. Fast trading makes it easy to take ten trades instead of three.
  4. Testing without costs. A scalping backtest without commission and slippage is close to meaningless.

Backtest it yourself on TradingView

This page doesn't quote a win rate or a profit figure, and you should be wary of anyone who does without showing the test. Results change with the market, the dates, the data feed and the costs you put in. The honest way is to run the test yourself, and the free script below does the work in a couple of minutes.

  1. Open the chart. On TradingView, open EURUSD on the 5-minute chart.
  2. Add the script. Open the Pine Editor from the Pine icon in the panel on the right of the chart (older layouts have it as a tab under the chart), delete the code that's already there, paste this strategy's code and click "Add to chart".
  3. Put in your costs. Open the strategy's settings and go to Properties. Enter your broker's commission and a little slippage. A test without costs flatters every strategy, and short-term ones most of all.
  4. Read the Strategy Tester. The panel under the chart shows the net profit, the maximum drawdown, the profit factor, the number of trades and a list of every trade. Click a few trades and check on the chart that each one follows the rules. Trade sizes are shown in units rather than lots: 100,000 units is one lot of a forex pair, and 100 ounces is one lot of gold.
  5. Change one setting at a time. Compare the window (8 to 10 against 8 to 11 a.m.), the Stochastic levels (20/80 against 30/70), the stop look-back, the 1.5R target against 1R and 2R, and above all your real commission and slippage. On the 5-minute chart the free plan's 5,000 candles cover about three weeks, so test on more than one stretch if you can.

As a rough guide, don't trust a result with fewer than 100 trades, a profit factor under 1 once costs are in, or a drawdown you couldn't sit through with real money. Settings tuned to look good on one stretch of history often fail on the next, so check the same settings on dates you didn't tune them on, then demo trade the strategy for a few weeks. How much history you can test depends on your TradingView plan: the free plan loads 5,000 candles, which is a few months of 15-minute candles but years of daily ones.

The script sizes each trade from the stop and 0.5% risk, starts with $10,000 and assumes 1:100 leverage (a 1% margin setting). Change these under Properties to match your account. By default TradingView fills orders at the open of the candle after the signal, so the fill can differ a little from the signal candle's close.

Download the free Pine Script and PDF

The script is written in Pine Script version 6 for this guide and follows the rules above. It can't read the economic calendar, so skipping news days is up to you. It's free to use, change and share. The PDF is a one-page cheat sheet with the session table in IST, the scalping rules, the cost sum and a checklist, to keep next to your chart.

Show the code (Pine Script v6, 76 lines)
//@version=6
// Forex scalping strategy for the London–New York overlap by PipLedger (https://pipledgerfx.com/best-time-to-scalp-forex)
// On the 5-minute chart, between 8 and 11 a.m. New York time: with the price above a rising 50 EMA, buys when the Stochastic %K crosses above %D from below 20 (sells the mirror image). At most three trades a day.
// Free to use and change. For education and backtesting only; not financial advice.
strategy("PipLedger: Overlap Scalper (Stochastic + 50 EMA)", shorttitle="Overlap Scalper", overlay=true, initial_capital=10000, pyramiding=0, default_qty_type=strategy.fixed, default_qty_value=1, margin_long=1, margin_short=1, currency=currency.USD)

// ---------- Inputs
tz         = input.string("America/New_York", "Session time zone")
sess       = input.session("0800-1100", "Scalping window (New York time)")
endHour    = input.int(11, "Close any open trade at (hour, New York time)", minval=1, maxval=23)
emaLen     = input.int(50, "Trend EMA", minval=10)
slopeBars  = input.int(10, "EMA must be higher (lower) than this many candles ago", minval=1)
kLen       = input.int(14, "Stochastic %K length", minval=2)
kSmooth    = input.int(3, "%K smoothing", minval=1)
dLen       = input.int(3, "%D length", minval=1)
osLvl      = input.float(20.0, "Oversold level", minval=1.0, maxval=50.0)
obLvl      = input.float(80.0, "Overbought level", minval=50.0, maxval=99.0)
swingBars  = input.int(5, "Stop beyond the lowest low of the last (candles)", minval=2)
stopBuf    = input.float(0.1, "Stop buffer (x ATR 14)", minval=0.0, step=0.05)
maxStopAtr = input.float(2.5, "Skip if the stop is further than (x ATR)", minval=0.5, step=0.25)
rr         = input.float(1.5, "Target (R multiple)", minval=0.5, step=0.25)
maxTrades  = input.int(3, "Maximum trades a day", minval=1)
riskPct    = input.float(0.5, "Risk per trade (% of equity)", minval=0.1, maxval=5.0, step=0.1)

// ---------- Helpers
fx = strategy.convert_to_account(1.0)  // one unit of the chart's quote currency in account currency (1 on USD-quoted charts)
calcQty(float entry, float stop) =>
    float dist = math.abs(entry - stop)
    dist > 0 and not na(fx) ? strategy.equity * riskPct / 100 / (dist * syminfo.pointvalue * fx) : 0.0

atr = ta.atr(14)
ema = ta.ema(close, emaLen)
k   = ta.sma(ta.stoch(close, high, low, kLen), kSmooth)
d   = ta.sma(k, dLen)
kUp = ta.crossover(k, d)
kDn = ta.crossunder(k, d)
lo  = ta.lowest(low, swingBars)
hi  = ta.highest(high, swingBars)

inSess = not na(time(timeframe.period, sess, tz))
cutoff = timestamp(tz, year(time, tz), month(time, tz), dayofmonth(time, tz), endHour, 0)
var int trades = 0
if inSess and not inSess[1]
    trades := 0

// ---------- Signals
flat     = strategy.position_size == 0
longSl   = lo - stopBuf * atr
shortSl  = hi + stopBuf * atr
longSig  = flat and inSess and time_close < cutoff and trades < maxTrades and close > ema and ema > ema[slopeBars] and kUp and k[1] < osLvl and close - longSl <= maxStopAtr * atr
shortSig = flat and inSess and time_close < cutoff and trades < maxTrades and close < ema and ema < ema[slopeBars] and kDn and k[1] > obLvl and shortSl - close <= maxStopAtr * atr

// ---------- Orders
if longSig
    float q = calcQty(close, longSl)
    if q > 0
        strategy.entry("Long", strategy.long, qty=q)
        strategy.exit("Long exit", "Long", stop=longSl, limit=close + (close - longSl) * rr)
        trades += 1

if shortSig
    float q = calcQty(close, shortSl)
    if q > 0
        strategy.entry("Short", strategy.short, qty=q)
        strategy.exit("Short exit", "Short", stop=shortSl, limit=close - (shortSl - close) * rr)
        trades += 1

// the candle that closes at the cut-off sends the order, so it fills at the cut-off time
if strategy.position_size != 0 and time_close >= cutoff
    strategy.close_all(comment="Window closed")

// ---------- Chart (add TradingView's Stochastic indicator with 14, 3, 3 to see %K and %D)
plot(ema, "50 EMA", color=color.new(color.orange, 0), linewidth=2)
bgcolor(inSess ? color.new(color.blue, 94) : na, title="Scalping window")
plotshape(longSig, "Long", shape.triangleup, location.belowbar, color.teal, size=size.small)
plotshape(shortSig, "Short", shape.triangledown, location.abovebar, color.red, size=size.small)

Trading this from India

Residents can trade EURUSD, GBPUSD and USDJPY futures and options on NSE and BSE through a SEBI-registered broker. The contracts are quoted the same way as the spot pair, one lot is 1,000 units of the base currency, and they're cash-settled in rupees. They trade only from 9 a.m. to 7:30 p.m. IST, volumes are thin and not every broker offers them, so check the hours and the spread first. The NSE and BSE contracts close at 7:30 p.m. IST, so most of the overlap is outside Indian exchange hours, and exchange lots of 1,000 units make a 4-pip scalp worth very little per lot. Trading forex or CFDs with offshore online platforms isn't allowed for residents under FEMA, even if the app is easy to download. Details are in is forex trading legal in India.

Related strategies: London breakout, opening range breakout, ICT kill zones, previous day high and low, XAUUSD London session, XAUUSD New York session, Asian session range. All 40 strategies are compared on one page in forex trading strategies.

Quick answers

What is the best time to scalp forex in India?

For the major pairs, the London–New York overlap: 17:30 to 21:30 IST in summer and 18:30 to 22:30 IST in winter. The London open, from 12:30 or 13:30 IST, is also busy. For yen pairs, the Tokyo hours from 05:30 IST can work.

When should I not scalp forex?

Around the daily rollover (about 02:30 IST in US summer, 03:30 in winter), in the first hour of the week, in the minutes around big releases, and in quiet hours for the pair you trade. Spreads are wider and movement is smaller.

Which timeframe is best for forex scalping?

Most scalpers use the 1- to 5-minute charts. This strategy uses the 5-minute chart with a 50 EMA and the Stochastic. Shorter timeframes mean more trades and costs that matter even more.

How many pips should a scalper aim for?

It depends on the pair, the time and your costs. In this example the stop is about 4 pips and the target about 6. Whatever the size, the target has to be large compared with your cost per trade.

Is scalping allowed by prop firms?

Many allow it, but some limit very short trades or high-frequency trading. Read your firm's rules before you start.

Is the Stochastic good for scalping?

It's popular because it reacts quickly to short pullbacks. On its own it gives many signals; these rules only use it in the direction of the 50 EMA and during the overlap.

More guides

All 81 guides →

हिंदी में पढ़ें: Lot size kaise nikale?, Prop firm challenge kaise pass kare?, Gold trading kaise kare?, Forex trading kya hai, और India में यह legal है या नहीं?

Trading psychology

The habits that decide whether a good strategy makes money.

All 14 trading psychology guides

8 popular prop firms

Well-known firms for forex, gold and index traders that were still operating in 2026. Compare their rules before you buy a challenge.

If a link in this list is a referral link, PipLedger may earn a commission if you sign up, at no extra cost to you. This list is not a recommendation. Programs, prices and rules change often, so check each firm's own site, including its margin and drawdown rules, before you buy a challenge.