Algo Trading in Ranging Markets

An automated trading strategy contains a set of rules which will take particular actions in response to incoming market data. When automating a trading strategy, the trader may want to add rules to trade only during certain market conditions. Rob Pasche of QuantNews presents three tools which can be added to an automated trading strategy to filter for ranging markets.

The Average Directional Index indicates whether the price of an instrument is moving in a primary direction up or down or if it's moving sideways. A high ADX (generally 30 or higher) will indicate price is primarily moving up or down while a low value (generally 25 or lower) will indicate price is exhibiting range bound behaviour. Therefore programming an algo to calculate ADX and only trade when ADX is below 25 will filter out trending markets and place trades only when markets are range bound.

The Average True Range calculates the difference between the high and low of the most recent candle, measuring volatility. Therefore taking the N-_period moving average of the ATR can be used to approximate the volatility of an instrument over the past _N periods. For example, programming an algo to only execute trades when the ATR is below its 20-day moving average can be used as a filter to avoid massive bull or bear runs which are often marked by a high ATR.

The Relative Strength Index measures momentum of an uptrend or downtrend using values 0-100. Including a filter for a middle-of-the-road RSI value, for example 40-60, will limit the algo to only trade when momentum is weak and the instrument's price is range bound.

Why Trade with FXCM

Commission free with fast, efficient execution.

FXCM Research Team

FXCM Research Team consists of a number of FXCM's Market and Product Specialists.

Articles published by FXCM Research Team generally have numerous contributors and aim to provide general Educational and Informative content on Market News and Products.

${getInstrumentData.name} / ${getInstrumentData.ticker} /

Exchange: ${getInstrumentData.exchange}

${getInstrumentData.bid} ${getInstrumentData.divCcy} ${getInstrumentData.priceChange} (${getInstrumentData.percentChange}%) ${getInstrumentData.priceChange} (${getInstrumentData.percentChange}%)

${getInstrumentData.oneYearLow} 52/wk Range ${getInstrumentData.oneYearHigh}
Disclosure

Any opinions, news, research, analyses, prices, other information, or links to third-party sites contained on this website are provided on an "as-is" basis, as general market commentary and do not constitute investment advice. The market commentary has not been prepared in accordance with legal requirements designed to promote the independence of investment research, and it is therefore not subject to any prohibition on dealing ahead of dissemination. Although this commentary is not produced by an independent source, FXCM takes all sufficient steps to eliminate or prevent any conflicts of interests arising out of the production and dissemination of this communication. The employees of FXCM commit to acting in the clients' best interests and represent their views without misleading, deceiving, or otherwise impairing the clients' ability to make informed investment decisions. For more information about the FXCM's internal organizational and administrative arrangements for the prevention of conflicts, please refer to the Firms' Managing Conflicts Policy. Please ensure that you read and understand our Full Disclaimer and Liability provision concerning the foregoing Information, which can be accessed here.

Past Performance: Past Performance is not an indicator of future results.

Spreads Widget: When static spreads are displayed, the figures reflect a time-stamped snapshot as of when the market closes. Spreads are variable and are subject to delay. Single Share prices are subject to a 15 minute delay. The spread figures are for informational purposes only. FXCM is not liable for errors, omissions or delays, or for actions relying on this information.