TickAtlas
Intermediate ~20 min

Combine Multiple Indicators

Single indicators give signals — combining them gives confidence. Learn how to build a confluence scoring system that weighs multiple indicators for stronger, more reliable trading signals.

The Confluence Approach

Instead of relying on a single indicator, score each signal and sum them up. More indicators agreeing = higher confidence in the trade.

RSI

Momentum

MACD

Trend + Momentum

SMA Cross

Trend Direction

Confluence Scoring System

python
import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://tickatlas.com/v1"
headers = {"X-API-Key": API_KEY}

def confluence_score(symbol, timeframe="H1"):
    """Score a symbol based on multiple indicator signals."""
    params = {
        "symbols": symbol,
        "indicators": "RSI_14,MACD_main,MACD_signal,ADX,SMA_50,SMA_200,BB_Upper,BB_Lower",
        "timeframe": timeframe
    }
    data = requests.get(f"{BASE}/multi", headers=headers, params=params).json()
    ind = data.get(symbol, {})

    score = 0  # -4 (strong sell) to +4 (strong buy)

    # RSI
    rsi = ind.get("RSI_14", 50)
    if rsi < 30: score += 1    # Oversold = bullish
    elif rsi > 70: score -= 1  # Overbought = bearish

    # MACD
    macd = ind.get("MACD_main", 0)
    signal = ind.get("MACD_signal", 0)
    if macd > signal: score += 1
    elif macd < signal: score -= 1

    # Trend (SMA Golden/Death Cross)
    sma50 = ind.get("SMA_50", 0)
    sma200 = ind.get("SMA_200", 0)
    if sma50 > sma200: score += 1
    elif sma50 < sma200: score -= 1

    # ADX trend strength
    adx = ind.get("ADX", 0)
    if adx > 25: score = int(score * 1.5)  # Amplify in strong trends

    return {
        "symbol": symbol,
        "score": score,
        "signal": "STRONG BUY" if score >= 3 else
                  "BUY" if score >= 1 else
                  "NEUTRAL" if score == 0 else
                  "SELL" if score >= -2 else "STRONG SELL",
        "details": {"rsi": rsi, "macd": macd, "adx": adx,
                     "sma50": sma50, "sma200": sma200}
    }

# Test it
for sym in ["EURUSD", "GBPUSD", "XAUUSD", "USDJPY"]:
    result = confluence_score(sym)
    print(f"{result['symbol']}: {result['signal']} (score: {result['score']})")

Best Indicator Combinations

RSI + MACD + SMA

Classic combo: momentum + trend confirmation. Works on all timeframes.

Bollinger Bands + RSI

Volatility + momentum. Great for mean-reversion in ranging markets.

ADX + Parabolic SAR + EMA

Trend strength + direction + dynamic support/resistance.

Stochastic + CCI + MFI

Triple oscillator combo for spotting reversals with volume confirmation.

Related