Skip to content

Multi-Timeframe Strategies

A multi-timeframe strategy uses data from more than one chart resolution to make trading decisions. For example, you might check the daily chart to confirm the overall trend direction and then use a 5-minute chart to time your entries. This approach helps filter out noise and improves the quality of your signals.

Every timeframe tells a different part of the story:

  • Higher timeframes (daily, weekly) show the big picture – the dominant trend, major support and resistance levels, and long-term momentum.
  • Lower timeframes (1-minute, 5-minute, 15-minute) show the fine detail – short-term momentum shifts, precise entry timing, and intraday price structure.

By combining both, you can:

  • Trade in the direction of the bigger trend. A pullback on a 5-minute chart might be a buying opportunity if the daily chart is in a strong uptrend – or a trap if the daily trend is down.
  • Time entries more precisely. The daily chart might say “look for buys today,” and the 5-minute chart tells you exactly when to pull the trigger.
  • Filter out low-quality signals. An RSI oversold reading on a 5-minute chart is more meaningful when the higher timeframe confirms the same direction.
  • Set more informed stop-loss and take-profit levels. Higher-timeframe support and resistance levels are generally more significant than lower-timeframe levels.

Your strategy has a primary timeframe that determines how often rules are evaluated (set during strategy creation). Within your rules, you can reference data from any other timeframe using multi-timeframe expressions.

Referencing price data from another timeframe

Section titled “Referencing price data from another timeframe”

Use the bars['[<InstrumentId>~]<Interval>'].<field>[<index>] syntax in your expressions:

Expression Meaning
bars['D'].close[1] Yesterday’s closing price for current instrument
bars['D'].high[0] Today’s high so far for current instrument
bars['W'].low[1] Last week’s low for current instrument
bars['1h'].close[1] Previous hour’s close for current instrument
bars['4h'].open[0] Current 4-hour bar’s open for current instrument
bars['15m'].volume[1] Previous 15-minute bar’s volume for current instrument
bars['EQ:NASDAQ:QQQ~1h'].close[1] Previous hourly close for QQQ

The timeframe codes you can use include:

Code Timeframe
"1m" 1 minute
"5m" 5 minutes
"15m" 15 minutes
"30m" 30 minutes
"1h" 1 hour
"4h" 4 hours
"D" Daily
"W" Weekly
"M" Monthly

Inside an all or specific scoped rule, omitting the instrument ID means “use the instrument currently being evaluated.” Portfolio-level none scoped rules do not have that implicit instrument, so use the explicit InstrumentId~Interval form when needed.

Referencing indicators on another timeframe

Section titled “Referencing indicators on another timeframe”

You can calculate any indicator on a different timeframe by specifying the timeframe in the indicator’s parameters. In the rule builder, look for the Timeframe field when configuring an indicator.

For example, to check whether the daily 200-period SMA is rising while your primary chart is set to 5 minutes:

  • Select SMA as the indicator
  • Set Period to 200
  • Set Timeframe to Daily

In expression form, this would look like: SMA(200, "D")

This gives you the value of the 200-day SMA, regardless of your strategy’s primary timeframe.

Use a higher timeframe to determine the trend direction and only take trades in that direction on the lower timeframe.

Setup:

  • Primary timeframe: 15 minutes
  • Trend filter: Daily

Entry rule conditions:

  1. SMA(50, "D") is greater than SMA(200, "D") – Daily trend is bullish
  2. RSI(14) is less than 35 – 15-minute RSI is oversold (a pullback within the uptrend)
  3. Price is greater than SMA(20) – Price is above the 15-minute 20-period SMA (short-term support holding)

Why it works: You only buy dips when the bigger picture is bullish, avoiding mean-reversion trades against the dominant trend.

Require momentum alignment across two or more timeframes before entering.

Setup:

  • Primary timeframe: 5 minutes
  • Confirmation timeframe: 1 hour

Entry rule conditions:

  1. MACD("1h").histogram is greater than 0 – Hourly MACD is bullish
  2. RSI(14, "1h") is greater than 50 – Hourly RSI is above the midline
  3. Stochastic %K(5,3,3) crossing up 20 – 5-minute Stochastic crosses up from oversold

Why it works: The hourly timeframe confirms that momentum is positive, and the 5-minute timeframe provides a precise timing signal.

Use daily or weekly levels to set entry, take-profit, and stop-loss prices on a lower timeframe.

Setup:

  • Primary timeframe: 5 minutes
  • Reference timeframe: Daily

Entry rule conditions:

  1. Price is less than bars['D'].low[1] – Price has dropped below yesterday’s low (potential liquidity grab)
  2. RSI(14) is less than 25 – Short-term RSI is deeply oversold
  3. Volume moving up % 100 – Volume has spiked (institutional activity)

Exit (take profit):

  • Price is greater than bars['D'].close[1] – Price has recovered back to yesterday’s close

Exit (stop loss):

  • Price is less than bars['D'].low[1] - ATR(14, "D") – Price has moved a full daily ATR below yesterday’s low

Confirm breakouts by checking that price is breaking out on multiple timeframes simultaneously.

Setup:

  • Primary timeframe: 15 minutes
  • Confirmation timeframe: 1 hour

Entry rule conditions:

  1. Price exiting channel Donchian(20) – 15-minute breakout above 20-period Donchian Channel
  2. Price is greater than bars['1h'].high[1] – Price is also above the previous hour’s high
  3. ADX(14) is greater than 25 – Trend strength is sufficient

Why it works: A breakout confirmed on multiple timeframes is less likely to be a false signal.

  • Make sure the timeframes are meaningfully different. Combining a 5-minute and 6-minute chart adds little value. A good rule of thumb is to use timeframes that are at least 3 to 5 times apart (for example, 5 minutes and 1 hour, or 1 hour and daily).
  • The higher timeframe is the filter; the lower timeframe is the trigger. Let the higher timeframe tell you which direction to trade, and the lower timeframe tell you when.
  • Higher-timeframe data updates less frequently. A daily SMA only updates once per day. Your 5-minute strategy will see the same daily SMA value across all bars until the new day begins. This is expected behavior.
  • Backtest to validate. Multi-timeframe strategies can look great in theory but may underperform if the timeframes create too many conflicting signals. Always backtest across different market conditions.