← Back to Home
Trading Strategy
πŸ“°

News Trading Strategy

Capitalise on price volatility triggered by scheduled and surprise news events.

Start Automating Free β†’

Want to automate this strategy? Try auto-Trading free β€” no credit card required.

News Trading Strategy chart

Overview

What is News Trading Strategy?

News trading exploits the sharp price movements that follow significant economic, corporate, or geopolitical events. Markets price in expectations before announcements, and when the actual data deviates from consensus forecasts, the repricing can be rapid and violent β€” creating opportunities for traders who act quickly.

The two main approaches are "trade the release" (entering immediately after the announcement) and "trade the reaction" (waiting for the initial knee-jerk move to exhaust before entering in a more considered direction). The latter is often more reliable, as initial reactions are frequently reversed within minutes as algorithms re-price and human traders panic-cover.

Key event types include: central bank rate decisions and forward guidance (Fed, ECB, BoE, BoJ), major economic releases (Non-Farm Payrolls, CPI, GDP, PMI), corporate earnings announcements, and geopolitical shocks. Economic calendars rank releases by expected market impact β€” "high impact" events (3-star releases on Forex Factory or equivalent) are the primary targets.

Risk management is critical: position sizes should be reduced before major news to avoid being caught on the wrong side of a binary outcome. Slippage can be severe during the first few seconds after a release, so limit orders are generally preferable to market orders in the immediate post-release window.

How It Works in auto-Trading

Automate It

auto-Trading integrates a live economic calendar that automatically flags upcoming high-impact events. Users configure pre-event position reduction rules (e.g., reduce size by 50% 30 minutes before NFP), post-event breakout entry rules (enter if price moves more than X pips/ATR within the first 60 seconds), and volatility filters to avoid entering in the initial chaotic spike.

Try Free β†’

Strategy Code

Pick a script below, copy it, and use it on your chart.

Pine Script (TradingView)

This is a TradingView Pine Script strategy example for this page concept. Paste it into the TradingView Pine Editor, add it to your chart, and run it in the Strategy Tester.

//@version=6
strategy("News Trading Strategy", overlay=true)
// Detects pin bars and engulfing candles at key levels
atrLen  = input.int(14, "ATR Length")
lookback = input.int(20, "Swing Lookback")
atr = ta.atr(atrLen)
swingHigh = ta.highest(high, lookback)
swingLow  = ta.lowest(low,  lookback)
// Bullish pin bar: long lower wick, close near high, forms at/near swing low
lowerWick   = open - low
upperWick   = high - close
bodySize    = math.abs(close - open)
bullishPin  = lowerWick > 2 * bodySize and lowerWick > upperWick and low <= swingLow * 1.002
// Bearish engulfing at swing high
bearEngulf  = close < open and close < open[1] and open > close[1] and high >= swingHigh * 0.998
if bullishPin
    strategy.entry("PABuy", strategy.long, stop=low - atr * 0.5)
if bearEngulf
    strategy.close("PABuy")
plotshape(bullishPin, style=shape.triangleup,   location=location.belowbar, color=color.green, size=size.small, title="Pin Bar")
plotshape(bearEngulf, style=shape.triangledown, location=location.abovebar, color=color.red,   size=size.small, title="Bearish Engulf")

ThinkScript (thinkorswim)

This is a thinkorswim ThinkScript strategy example for this page concept. Open thinkorswim, create a custom strategy, paste the script, and apply it to your chart.

input atrLength = 14;
input swingLookback = 20;
def atrVal = ATR(atrLength);
def swingHigh = Highest(high, swingLookback);
def swingLow = Lowest(low, swingLookback);
def lowerWick = open - low;
def upperWick = high - close;
def bodySize = AbsValue(close - open);
def bullishPin = lowerWick > 2 * bodySize and lowerWick > upperWick and low <= swingLow * 1.002;
def bearEngulf = close < open and close < open[1] and open > close[1] and high >= swingHigh * 0.998;
AddOrder(OrderType.BUY_AUTO, bullishPin, close, 1, Color.GREEN, Color.GREEN, "News Trading Strategy Buy");
AddOrder(OrderType.SELL_AUTO, bearEngulf, close, 1, Color.RED, Color.RED, "News Trading Strategy Exit");
plot SwingHigh = swingHigh;
SwingHigh.SetDefaultColor(Color.RED);
plot SwingLow = swingLow;
SwingLow.SetDefaultColor(Color.GREEN);

Ready to automate News Trading Strategy?

Join thousands of traders who use auto-Trading to execute this strategy automatically, 24/7.

Get Started Free β†’

All Strategies & Signals

Continue Learning

Trading Strategies

Trading Signals & Indicators