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
Identificador unico para tu indicador. Usa solo caracteres alfanumericos y guiones bajos.Ejemplos:
mis_senales, smart_money_v2, inside_bar_detectorParametros del Body
Simbolo de trading (ej:
EURUSD)Timeframe en minutos (1, 5, 15, 60, 240, 1440)
Nombre legible que se muestra en la UI
Version de tu indicador
Array de puntos de senal a mostrar en el chart
Mostrar Objeto Punto
Mostrar Objeto Punto
Timestamp Unix de la barra. Debe coincidir con una barra del endpoint /bars.
Posicion relativa a la barra:
high- Arriba de la velalow- Debajo de la vela
Nivel de precio donde aparece el punto
Etiqueta de texto (ej:
COMPRA, VENTA, TP1, SL)Codigo de color hex (ej:
#22c55e para verde)Forma:
circle, arrowUp, arrowDown, squareTamano: 1 (pequeno), 2 (mediano), 3 (grande)
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
Identificador unico para la linea (ej:
senal_001_sl)Nivel de precio donde se dibuja la linea
Timestamp Unix donde comienza la linea
Numero de barras que la linea se extiende hacia adelante
Etiqueta de texto (ej:
SL, TP1, Entrada)Codigo de color hex (ej:
#ef4444 para rojo)Estilo de linea:
solid, dashed, dottedAncho de linea: 1, 2, o 3
Metadata opcional para tu indicador (analytics, descripcion, etc.)
Respuesta
Indica si la senal se almaceno correctamente
El ID del indicador
Numero de puntos que se almacenaron
Numero de lineas que se almacenaron
El simbolo
El timeframe
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