Skip to main content
POST
/
api
/
external
/
indicators
/
{indicator_id}
curl -X POST "https://api.innova-trading.com/api/external/indicators/my_signals" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "EURUSD",
    "timeframe": 60,
    "indicator_name": "My Trading Signals",
    "points": [
      {
        "time": 1765540800,
        "type": "low",
        "price": 1.1725,
        "label": "BUY",
        "color": "#3b82f6",
        "shape": "arrowUp",
        "size": 2
      },
      {
        "time": 1765540800,
        "type": "low",
        "price": 1.1700,
        "label": "SL",
        "color": "#ef4444",
        "shape": "square",
        "size": 1
      },
      {
        "time": 1765540800,
        "type": "high",
        "price": 1.1750,
        "label": "TP1",
        "color": "#22c55e",
        "shape": "circle",
        "size": 1
      }
    ],
    "metadata": {
      "signal_type": "BUY",
      "strategy": "ICT"
    }
  }'
{
  "success": true,
  "indicator_id": "my_signals",
  "points_received": 3,
  "symbol": "EURUSD",
  "timeframe": 60,
  "expires_at": "2025-12-13T12:00:00Z",
  "message": "Indicator data stored successfully"
}

Request

indicator_id
string
required
Unique identifier for your indicator. Use alphanumeric characters and underscores only.Examples: my_signals, smart_money_v2, inside_bar_detector

Body Parameters

symbol
string
required
Trading symbol (e.g., EURUSD)
timeframe
integer
required
Timeframe in minutes (1, 5, 15, 60, 240, 1440)
indicator_name
string
required
Human-readable name displayed in the UI
version
string
default:"1.0"
Version of your indicator
points
array
required
Array of signal points to display on the chart
lines
array
Array of horizontal lines to display on the chart (e.g., SL/TP levels that extend across multiple bars)
metadata
object
Optional metadata for your indicator (analytics, description, etc.)

Response

success
boolean
Indicates if the signal was stored successfully
indicator_id
string
The indicator ID
points_received
integer
Number of points that were stored
lines_received
integer
Number of lines that were stored
symbol
string
The symbol
timeframe
integer
The timeframe
expires_at
string
ISO 8601 datetime when the data will expire (24 hours)
curl -X POST "https://api.innova-trading.com/api/external/indicators/my_signals" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "EURUSD",
    "timeframe": 60,
    "indicator_name": "My Trading Signals",
    "points": [
      {
        "time": 1765540800,
        "type": "low",
        "price": 1.1725,
        "label": "BUY",
        "color": "#3b82f6",
        "shape": "arrowUp",
        "size": 2
      },
      {
        "time": 1765540800,
        "type": "low",
        "price": 1.1700,
        "label": "SL",
        "color": "#ef4444",
        "shape": "square",
        "size": 1
      },
      {
        "time": 1765540800,
        "type": "high",
        "price": 1.1750,
        "label": "TP1",
        "color": "#22c55e",
        "shape": "circle",
        "size": 1
      }
    ],
    "metadata": {
      "signal_type": "BUY",
      "strategy": "ICT"
    }
  }'
{
  "success": true,
  "indicator_id": "my_signals",
  "points_received": 3,
  "symbol": "EURUSD",
  "timeframe": 60,
  "expires_at": "2025-12-13T12:00:00Z",
  "message": "Indicator data stored successfully"
}

Complete Trading Signal Example

A professional trading signal includes Entry, Stop Loss, and multiple Take Profits:
{
  "symbol": "EURUSD",
  "timeframe": 60,
  "indicator_name": "Smart Money Signals",
  "points": [
    {
      "time": 1765540800,
      "type": "low",
      "price": 1.1725,
      "label": "ENTRY",
      "color": "#3b82f6",
      "shape": "arrowUp",
      "size": 2
    },
    {
      "time": 1765540800,
      "type": "low",
      "price": 1.1695,
      "label": "SL",
      "color": "#ef4444",
      "shape": "square",
      "size": 1
    },
    {
      "time": 1765540800,
      "type": "high",
      "price": 1.1755,
      "label": "TP1",
      "color": "#22c55e",
      "shape": "circle",
      "size": 1
    },
    {
      "time": 1765540800,
      "type": "high",
      "price": 1.1785,
      "label": "TP2",
      "color": "#22c55e",
      "shape": "circle",
      "size": 1
    },
    {
      "time": 1765540800,
      "type": "high",
      "price": 1.1815,
      "label": "TP3",
      "color": "#22c55e",
      "shape": "circle",
      "size": 1
    }
  ],
  "metadata": {
    "signal_type": "BUY",
    "entry_price": 1.1725,
    "stop_loss": 1.1695,
    "risk_pips": 30,
    "risk_reward": "1:3",
    "strategy": "Order Block + FVG"
  }
}

Color Reference

Use CaseColorHex
Buy / LongBlue#3b82f6
Sell / ShortOrange#f97316
Stop LossRed#ef4444
Take ProfitGreen#22c55e
NeutralYellow#eab308

Shape Reference

ShapeBest For
arrowUpBuy signals
arrowDownSell signals
circleTake profit levels
squareStop loss, important levels
Data expires after 24 hours. Your service should re-submit signals periodically to keep them visible.
You can submit multiple points with the same time to show Entry, SL, and TPs on the same candle.

Using Lines for SL/TP Levels

Lines are perfect for showing Stop Loss and Take Profit levels that extend across multiple bars:
{
  "symbol": "EURUSD",
  "timeframe": 60,
  "indicator_name": "Inside Bar Signals",
  "points": [
    {
      "time": 1765540800,
      "type": "low",
      "price": 1.1725,
      "label": "BUY",
      "color": "#3b82f6",
      "shape": "arrowUp",
      "size": 2
    }
  ],
  "lines": [
    {
      "id": "signal_001_sl",
      "price": 1.1695,
      "start_time": 1765540800,
      "bars": 10,
      "label": "SL",
      "color": "#ef4444",
      "style": "dashed",
      "width": 1
    },
    {
      "id": "signal_001_tp1",
      "price": 1.1755,
      "start_time": 1765540800,
      "bars": 10,
      "label": "TP1",
      "color": "#22c55e",
      "style": "dotted",
      "width": 1
    },
    {
      "id": "signal_001_tp2",
      "price": 1.1785,
      "start_time": 1765540800,
      "bars": 10,
      "label": "TP2",
      "color": "#10b981",
      "style": "dotted",
      "width": 1
    },
    {
      "id": "signal_001_tp3",
      "price": 1.1815,
      "start_time": 1765540800,
      "bars": 10,
      "label": "TP3",
      "color": "#059669",
      "style": "dotted",
      "width": 1
    }
  ]
}

Line Style Reference

StyleBest For
solidEntry levels, important zones
dashedStop Loss levels
dottedTake Profit targets
Lines vs Points: Use points for markers (arrows, circles) on specific candles. Use lines for horizontal levels that extend across multiple bars (SL/TP zones).