curl -X POST "https://api.innova-trading.com/api/external/indicators/mis_senales" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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": "COMPRA",
"strategy": "ICT"
}
}'
import requests
senal = {
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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
}
]
}
response = requests.post(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
json=senal,
headers={
"Authorization": "Bearer TU_API_KEY",
"Content-Type": "application/json"
}
)
const senal = {
symbol: "EURUSD",
timeframe: 60,
indicator_name: "Mis Senales de Trading",
points: [
{
time: 1765540800,
type: "low",
price: 1.1725,
label: "COMPRA",
color: "#3b82f6",
shape: "arrowUp",
size: 2
},
{
time: 1765540800,
type: "low",
price: 1.17,
label: "SL",
color: "#ef4444",
shape: "square",
size: 1
},
{
time: 1765540800,
type: "high",
price: 1.175,
label: "TP1",
color: "#22c55e",
shape: "circle",
size: 1
}
]
};
const response = await fetch(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
{
method: "POST",
headers: {
Authorization: "Bearer TU_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify(senal)
}
);
{
"success": true,
"indicator_id": "mis_senales",
"points_received": 3,
"symbol": "EURUSD",
"timeframe": 60,
"expires_at": "2025-12-13T12:00:00Z",
"message": "Datos del indicador almacenados exitosamente"
}
{
"error": "validation_error",
"message": "Punto 0: type debe ser 'high' o 'low'",
"point_index": 0
}
Indicadores Externos
Enviar Indicador
Enviar senales de trading para mostrar en el chart
POST
/
api
/
external
/
indicators
/
{indicator_id}
curl -X POST "https://api.innova-trading.com/api/external/indicators/mis_senales" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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": "COMPRA",
"strategy": "ICT"
}
}'
import requests
senal = {
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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
}
]
}
response = requests.post(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
json=senal,
headers={
"Authorization": "Bearer TU_API_KEY",
"Content-Type": "application/json"
}
)
const senal = {
symbol: "EURUSD",
timeframe: 60,
indicator_name: "Mis Senales de Trading",
points: [
{
time: 1765540800,
type: "low",
price: 1.1725,
label: "COMPRA",
color: "#3b82f6",
shape: "arrowUp",
size: 2
},
{
time: 1765540800,
type: "low",
price: 1.17,
label: "SL",
color: "#ef4444",
shape: "square",
size: 1
},
{
time: 1765540800,
type: "high",
price: 1.175,
label: "TP1",
color: "#22c55e",
shape: "circle",
size: 1
}
]
};
const response = await fetch(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
{
method: "POST",
headers: {
Authorization: "Bearer TU_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify(senal)
}
);
{
"success": true,
"indicator_id": "mis_senales",
"points_received": 3,
"symbol": "EURUSD",
"timeframe": 60,
"expires_at": "2025-12-13T12:00:00Z",
"message": "Datos del indicador almacenados exitosamente"
}
{
"error": "validation_error",
"message": "Punto 0: type debe ser 'high' o 'low'",
"point_index": 0
}
Solicitud
string
requerido
Identificador unico para tu indicador. Usa solo caracteres alfanumericos y guiones bajos.Ejemplos:
mis_senales, smart_money_v2, inside_bar_detectorParametros del Body
string
requerido
Simbolo de trading (ej:
EURUSD)integer
requerido
Timeframe en minutos (1, 5, 15, 60, 240, 1440)
string
requerido
Nombre legible que se muestra en la UI
string
predeterminado:"1.0"
Version de tu indicador
array
requerido
Array de puntos de senal a mostrar en el chart
Mostrar Objeto Punto
Mostrar Objeto Punto
integer
requerido
Timestamp Unix de la barra. Debe coincidir con una barra del endpoint /bars.
string
requerido
Posicion relativa a la barra:
high- Arriba de la velalow- Debajo de la vela
float
requerido
Nivel de precio donde aparece el punto
string
Etiqueta de texto (ej:
COMPRA, VENTA, TP1, SL)string
Codigo de color hex (ej:
#22c55e para verde)string
predeterminado:"circle"
Forma:
circle, arrowUp, arrowDown, squareinteger
predeterminado:"1"
Tamano: 1 (pequeno), 2 (mediano), 3 (grande)
array
Array de lineas horizontales para mostrar en el chart (ej: niveles SL/TP que se extienden a traves de multiples barras)
Mostrar Objeto Linea
Mostrar Objeto Linea
string
requerido
Identificador unico para la linea (ej:
senal_001_sl)float
requerido
Nivel de precio donde se dibuja la linea
integer
requerido
Timestamp Unix donde comienza la linea
integer
requerido
Numero de barras que la linea se extiende hacia adelante
string
Etiqueta de texto (ej:
SL, TP1, Entrada)string
Codigo de color hex (ej:
#ef4444 para rojo)string
predeterminado:"solid"
Estilo de linea:
solid, dashed, dottedinteger
predeterminado:"1"
Ancho de linea: 1, 2, o 3
object
Metadata opcional para tu indicador (analytics, descripcion, etc.)
Respuesta
boolean
Indica si la senal se almaceno correctamente
string
El ID del indicador
integer
Numero de puntos que se almacenaron
integer
Numero de lineas que se almacenaron
string
El simbolo
integer
El timeframe
string
Fecha ISO 8601 cuando los datos expiraran (24 horas)
curl -X POST "https://api.innova-trading.com/api/external/indicators/mis_senales" \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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": "COMPRA",
"strategy": "ICT"
}
}'
import requests
senal = {
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Mis Senales de Trading",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"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
}
]
}
response = requests.post(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
json=senal,
headers={
"Authorization": "Bearer TU_API_KEY",
"Content-Type": "application/json"
}
)
const senal = {
symbol: "EURUSD",
timeframe: 60,
indicator_name: "Mis Senales de Trading",
points: [
{
time: 1765540800,
type: "low",
price: 1.1725,
label: "COMPRA",
color: "#3b82f6",
shape: "arrowUp",
size: 2
},
{
time: 1765540800,
type: "low",
price: 1.17,
label: "SL",
color: "#ef4444",
shape: "square",
size: 1
},
{
time: 1765540800,
type: "high",
price: 1.175,
label: "TP1",
color: "#22c55e",
shape: "circle",
size: 1
}
]
};
const response = await fetch(
"https://api.innova-trading.com/api/external/indicators/mis_senales",
{
method: "POST",
headers: {
Authorization: "Bearer TU_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify(senal)
}
);
{
"success": true,
"indicator_id": "mis_senales",
"points_received": 3,
"symbol": "EURUSD",
"timeframe": 60,
"expires_at": "2025-12-13T12:00:00Z",
"message": "Datos del indicador almacenados exitosamente"
}
{
"error": "validation_error",
"message": "Punto 0: type debe ser 'high' o 'low'",
"point_index": 0
}
Ejemplo de Senal de Trading Completa
Una senal profesional incluye Entrada, Stop Loss y multiples Take Profits:{
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Senales Smart Money",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "ENTRADA",
"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": "COMPRA",
"entry_price": 1.1725,
"stop_loss": 1.1695,
"risk_pips": 30,
"risk_reward": "1:3",
"strategy": "Order Block + FVG"
}
}
Referencia de Colores
| Uso | Color | Hex |
|---|---|---|
| Compra / Long | Azul | #3b82f6 |
| Venta / Short | Naranja | #f97316 |
| Stop Loss | Rojo | #ef4444 |
| Take Profit | Verde | #22c55e |
| Neutral | Amarillo | #eab308 |
Referencia de Formas
| Forma | Mejor Uso |
|---|---|
arrowUp | Senales de compra |
arrowDown | Senales de venta |
circle | Niveles de take profit |
square | Stop loss, niveles importantes |
Los datos expiran despues de 24 horas. Tu servicio debe re-enviar senales periodicamente para mantenerlas visibles.
Puedes enviar multiples puntos con el mismo
time para mostrar Entrada, SL y TPs en la misma vela.Usando Lineas para Niveles SL/TP
Las lineas son perfectas para mostrar niveles de Stop Loss y Take Profit que se extienden a traves de multiples barras:{
"symbol": "EURUSD",
"timeframe": 60,
"indicator_name": "Senales Inside Bar",
"points": [
{
"time": 1765540800,
"type": "low",
"price": 1.1725,
"label": "COMPRA",
"color": "#3b82f6",
"shape": "arrowUp",
"size": 2
}
],
"lines": [
{
"id": "senal_001_sl",
"price": 1.1695,
"start_time": 1765540800,
"bars": 10,
"label": "SL",
"color": "#ef4444",
"style": "dashed",
"width": 1
},
{
"id": "senal_001_tp1",
"price": 1.1755,
"start_time": 1765540800,
"bars": 10,
"label": "TP1",
"color": "#22c55e",
"style": "dotted",
"width": 1
},
{
"id": "senal_001_tp2",
"price": 1.1785,
"start_time": 1765540800,
"bars": 10,
"label": "TP2",
"color": "#10b981",
"style": "dotted",
"width": 1
},
{
"id": "senal_001_tp3",
"price": 1.1815,
"start_time": 1765540800,
"bars": 10,
"label": "TP3",
"color": "#059669",
"style": "dotted",
"width": 1
}
]
}
Referencia de Estilos de Linea
| Estilo | Mejor Uso |
|---|---|
solid | Niveles de entrada, zonas importantes |
dashed | Niveles de Stop Loss |
dotted | Objetivos de Take Profit |
Lineas vs Puntos: Usa puntos para marcadores (flechas, circulos) en velas especificas. Usa lineas para niveles horizontales que se extienden a traves de multiples barras (zonas SL/TP).
⌘I