Top 10 Technical Indicators Every Trading Bot Needs
A ranked breakdown of the 10 most effective technical indicators for algorithmic trading, with API examples and strategy tips for each one.
Not all indicators are created equal for automation. Some produce clean, programmable signals. Others require subjective interpretation that only a human can provide. This list ranks the 10 indicators that work best when you hand them to a bot, with real API examples from the TickAtlas API.
1. RSI (Relative Strength Index)
Why it is #1: Clean numerical output (0-100), universally understood thresholds (30/70), and works across all timeframes and instruments. Every bot should start here.
# Fetch RSI for any symbol
resp = requests.get("https://tickatlas.com/v1/indicators", params={
"symbol": "EURUSD", "timeframe": "H1", "indicators": "RSI_14"
}, headers={"X-API-Key": API_KEY})
rsi = resp.json()["data"]["indicators"]["RSI_14"]["value"]
# Returns: 34.7 2. MACD (Moving Average Convergence Divergence)
Why it matters: MACD captures both trend direction and momentum in a single indicator. The histogram crossing zero is one of the most reliable programmable signals.
// Response: /v1/indicators?indicators=MACD
{
"MACD": {
"macd_line": 0.00045,
"signal_line": 0.00032,
"histogram": 0.00013
}
}
// Bot logic: histogram > 0 = bullish momentum 3. Bollinger Bands
Why it matters: Provides dynamic support/resistance levels that adapt to volatility. The bandwidth value is excellent for detecting volatility squeezes that precede big moves.
// Response: /v1/indicators?indicators=BBANDS_20
{
"BBANDS_20": {
"upper": 1.0892,
"middle": 1.0856,
"lower": 1.0820,
"bandwidth": 0.0066
}
}
// Bot logic: price < lower band + RSI < 30 = mean reversion buy Bollinger Bands API Reference | Developer Guide
4. ATR (Average True Range)
Why it matters: Not a directional indicator — ATR measures volatility. Use it to set dynamic stop losses and calculate position sizes. Essential for risk management.
# Dynamic stop loss using ATR
atr = resp.json()["data"]["indicators"]["ATR_14"]["value"]
stop_loss = entry_price - (2.0 * atr) # 2x ATR below entry
take_profit = entry_price + (3.0 * atr) # 3x ATR above entry
5. ADX (Average Directional Index)
Why it matters: Tells you whether the market is trending or ranging. ADX above 25 means a trend is present; below 20 means it is range-bound. This one filter alone prevents your trend-following bot from getting chopped up in sideways markets.
# Only trade trend strategies when ADX confirms a trend
adx = resp.json()["data"]["indicators"]["ADX_14"]["value"]
if adx > 25:
# Market is trending — use MACD/EMA crossover strategy
pass
else:
# Market is ranging — use RSI mean reversion strategy
pass
ADX Deep Dive | ADX API Reference
6. EMA (Exponential Moving Average)
Why it matters: Faster than SMA, the EMA reacts to recent price changes more quickly. The 9/21 EMA crossover is one of the simplest and most effective trend-following signals.
# EMA crossover detection
ema_9 = indicators["EMA_9"]["value"]
ema_21 = indicators["EMA_21"]["value"]
if ema_9 > ema_21:
trend = "BULLISH"
elif ema_9 < ema_21:
trend = "BEARISH"
7. Stochastic Oscillator
Why it matters: Similar to RSI but with a signal line crossover component. The %K/%D crossover in oversold/overbought zones produces clean entry signals, especially on higher timeframes.
// Response: /v1/indicators?indicators=STOCH_14_3_3
{
"STOCH_14_3_3": {
"k_value": 18.5,
"d_value": 22.1,
"signal": "oversold"
}
}
// Bot logic: %K crosses above %D in oversold zone = buy 8. Ichimoku Cloud
Why it matters: A complete trading system in one indicator. It provides trend direction, support/resistance, and momentum all at once. Complex for humans to read, but perfect for a bot that can parse all five components programmatically.
# Ichimoku trend filter
tenkan = indicators["ICHIMOKU"]["tenkan_sen"]
kijun = indicators["ICHIMOKU"]["kijun_sen"]
senkou_a = indicators["ICHIMOKU"]["senkou_span_a"]
senkou_b = indicators["ICHIMOKU"]["senkou_span_b"]
# Price above the cloud = bullish
cloud_top = max(senkou_a, senkou_b)
if current_price > cloud_top and tenkan > kijun:
signal = "STRONG_BULLISH"
Ichimoku Automation Guide | API Reference
9. OBV (On-Balance Volume)
Why it matters: Volume confirms price moves. Rising OBV with rising price confirms the trend. Divergence between OBV and price often precedes reversals. Essential for filtering false breakouts.
# OBV divergence detection
obv_rising = indicators["OBV"]["value"] > indicators["OBV"]["prev_value"]
price_rising = current_price > previous_price
if price_rising and not obv_rising:
print("Warning: bearish OBV divergence — trend may reverse")
10. Parabolic SAR
Why it matters: Provides clear trailing stop levels. When the dots flip from below to above price, it signals a trend change. Excellent as a trailing stop mechanism for bots that need to ride trends.
# Parabolic SAR trailing stop
sar = indicators["PSAR"]["value"]
if current_price > sar:
# Uptrend — SAR is the trailing stop level
stop_loss = sar
else:
# Downtrend signal — exit long positions
signal = "EXIT_LONG"
How to Combine Them
Do not use all 10 at once. Pick 2-3 indicators from different families for a balanced strategy:
- Trend + Momentum: EMA crossover + RSI confirmation
- Volatility + Oscillator: Bollinger Bands + Stochastic
- Trend filter + Entry: ADX trend filter + MACD signal crossover
- All-in-one: Ichimoku for direction + ATR for position sizing
Fetch all the indicators you need in a single API call using the indicators parameter with comma-separated values. This minimizes latency and API usage.
Further Reading
Try this with live data
Every account gets $2.50 in free PAYG credits. No card required — paste your API key and run the code above against live broker data.
Keep reading
All articles- Analysis 9 min read
ADX: How to Measure Trend Strength in Your Trading Bot
Learn how the ADX indicator measures trend strength, not direction, and how to use it as a filter to dramatically improve your bot's signal quality.
March 28, 2026
- Analysis 10 min read
CCI Trading Strategy: Mean Reversion with Commodity Channel Index
Build a mean reversion trading strategy using the Commodity Channel Index. Includes API integration, Python code, and signal filtering techniques.
March 28, 2026
- Analysis 13 min read
Crypto Trading API Comparison: 2026 Developer's Guide
A detailed comparison of crypto and multi-asset trading APIs for developers. Features, pricing, reliability, and code examples for the top platforms.
March 28, 2026