Skip to main content

What are External Indicators?

External Indicators allow developers to create custom trading signals that display directly on InnovaTrading charts. Instead of building indicators inside the platform, you:
  1. Fetch market data from our API
  2. Run your calculations on your own server
  3. Send the results back to be displayed
This gives you complete freedom to use any programming language, library, or trading strategy.

How It Works

Indicator Structure

Each indicator consists of:
ComponentDescription
indicator_idUnique identifier (e.g., smart_money_v2)
indicator_nameDisplay name in the UI
symbolTrading pair (e.g., EURUSD)
timeframeChart timeframe in minutes
pointsArray of visual markers on the chart
metadataOptional analytics data

Points vs Signals

  • Point: A single visual marker (Entry, SL, TP1, etc.)
  • Signal: A complete trade setup (multiple related points)
A BUY signal typically contains 4-5 points:
  • 1 Entry point
  • 1 Stop Loss
  • 2-3 Take Profits

Indicator Lifecycle

1. Creation

POST /api/external/indicators/{indicator_id}
Submit your indicator with all points.

2. Storage

Data is stored temporarily (24 hours) associated with your API key.

3. Display

The chart fetches and renders your indicator automatically.

4. Update

Re-submit to update. New data replaces old data.

5. Expiration

After 24 hours, data is automatically cleaned up.
Indicators expire after 24 hours. Set up a cron job to re-submit periodically.

Access Control

Each API key has specific permissions:
PermissionDescription
symbolsWhich trading pairs you can access
timeframesWhich timeframes you can use
rate_limitHow many requests per hour
Contact us to request access to additional symbols or higher rate limits.

Best Use Cases

Custom Strategies

Implement proprietary trading strategies that aren’t built into the platform.

Machine Learning

Use Python ML libraries to generate signals from trained models.

Multi-Timeframe Analysis

Combine signals from multiple timeframes into a single indicator.

External Data

Incorporate sentiment, news, or other external data sources.

Limitations

  • 24-hour expiration: Data must be re-submitted daily
  • No real-time streaming: Use polling to update (every 5-15 minutes)
  • Rate limits apply: Respect the limits to avoid throttling
  • Symbol restrictions: Only access symbols assigned to your API key

Next Steps