TickAtlas

Use Case

Telegram Trading Bot

Build a Telegram bot that delivers real-time alerts, responds to /rsi and /price commands, and sends AI-powered market summaries to your trading group.

The Challenge

Your Telegram trading community wants real-time indicator alerts and on-demand market data — but building a bot that calculates indicators correctly, runs 24/7, and responds quickly requires significant infrastructure. You need reliable pre-calculated data, not a local Python library computing RSI with potential formula errors.

How TickAtlas Solves It

Instant Indicator Queries

User types /rsi EURUSD H4 and your bot hits /v1/indicator — response in under 100ms, formatted and sent.

Scheduled Alerts

Poll /v1/screener every 5 minutes. When RSI crosses 70 or MACD crosses signal, push an alert to the group.

AI Market Briefing

Send a morning /v1/summary briefing to the channel: "EURUSD: Bullish bias (78% confidence). Key resistance at 1.0950."

Inline Queries

Support Telegram inline mode — users type @yourbot XAUUSD and see live price + key indicators without leaving the chat.

Key Endpoints

Telegram Bot Architecture

architecture
┌─────────────────────┐     ┌──────────────────────┐
   Telegram Users  TickAtlas API

  /rsi EURUSD H4  /v1/indicator
  /summary XAUUSD  /v1/summary
  /alerts  /v1/screener
└──────────┬──────────┘     └──────────▲───────────┘


┌──────────────────────┐
   Your Telegram Bot  │───────────────┘

  ┌────────────────┐
 Command Handler  /rsi GET /v1/indicator
 Alert Scheduler  Every 5m GET /v1/screener
 Morning Brief  8:00 AM GET /v1/summary
  └────────────────┘
└──────────────────────┘

Code Example

python
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes
import requests

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

async def rsi_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
    """Handle /rsi EURUSD H4"""
    args = context.args
    symbol = args[0].upper() if args else "EURUSD"
    timeframe = args[1].upper() if len(args) > 1 else "H1"

    resp = requests.get(f"{BASE}/indicator", headers=headers,
        params={"symbol": symbol, "name": "rsi", "timeframe": timeframe})
    data = resp.json()

    rsi = data["data"]["value"]
    status = "Overbought" if rsi > 70 else "Oversold" if rsi < 30 else "Neutral"

    await update.message.reply_text(
        f"📊 *{symbol}* RSI ({timeframe})\n"
        f"Value: *{rsi:.1f}*\n"
        f"Status: {status}",
        parse_mode="Markdown"
    )

async def summary_command(update: Update, context: ContextTypes.DEFAULT_TYPE):
    """Handle /summary EURUSD"""
    symbol = context.args[0].upper() if context.args else "EURUSD"

    resp = requests.get(f"{BASE}/summary", headers=headers,
        params={"symbol": symbol})
    data = resp.json()["data"]

    await update.message.reply_text(
        f"🔍 *{symbol} Market Summary*\n\n"
        f"Bias: *{data['bias']}* ({data['confidence']}% confidence)\n\n"
        f"{data['summary']}",
        parse_mode="Markdown"
    )

app = Application.builder().token("YOUR_TELEGRAM_TOKEN").build()
app.add_handler(CommandHandler("rsi", rsi_command))
app.add_handler(CommandHandler("summary", summary_command))
app.run_polling()

Recommended Plan

Starter Plan

$29/mo

Most Telegram bots serve a community of 50-500 users. 10,000 requests/day handles on-demand queries plus scheduled alerts comfortably. Upgrade to Pro if your group exceeds 1,000 active users.

  • ✓ On-demand /rsi, /macd, /summary commands
  • ✓ Scheduled screener-based alerts
  • ✓ 3 API keys (one per bot instance)
View all plans →

Build Your Trading Bot

14-day free trial. Ship a Telegram bot with real-time indicators this weekend.