Ctrader API abierta es una superficie de desarrollo para la construcción de aplicaciones de comercio conectadas al backend de cTrader. El valor de la moneda de referencia contexto, Sesiones de divisas, y ventanas de eventos que deben comprobarse antes de que una orden automatizada llegue a una cuenta de corredor.
La integración es útil porque un mensaje de orden válido no siempre es una orden negociable. Indicador de precios de los Estados Unidos¿ Qué ? Pago de los trabajadores no agrícolas, o un Reserva Federal La conexión del corredor no debería tener que entender ese contexto.
En forma
Utilice esto para
cTrader Open API aplicaciones que necesitan un punto de control macro determinista antes de enviar nuevos mensajes de orden.
cTrader funciona mejor cuando
Maneja la cuenta, símbolo y mensajes comerciales mientras que su servicio de ejecución posee la política macro y estado de auditoría.
No lo hagas.
Permitir que un asistente, un cuaderno o un webhook de señal envíen mensajes de orden de autorización de comercio sin una macro y una puerta de riesgo.
Por qué cTrader Open API se ajusta a las puertas de macro
cTrader describe Open API como una forma de construir aplicaciones que envían y reciben información desde y hacia el backend de cTrade. Los documentos cubren aplicaciones registradas, autorización de cuentas al estilo OAuth, puntos finales de proxy, conectividad TCP o WebSocket y formatos de mensaje JSON o Protobuf. El punto importante de implementación es que cTraders Open API no es un punto final de orden REST normal. Es una conexión basada en mensajes a un backend comercial.
Eso hace que la puerta de macro sea una capa separada limpia. cTrader puede seguir haciendo lo que está diseñado para: autorización de cuenta, descubrimiento de símbolos, mensajería de órdenes, estado de posición y respuestas de cuentas de trading. FXMacroData puede responder a una pregunta diferente antes de que se envíe el mensaje: ¿este candidato a orden está sucediendo dentro de una ventana macro donde la estrategia debe esperar, reducir el tamaño o requerir revisión?
Qué cambios para el comerciante
El escritorio obtiene una pista de auditoría, no solo un registro de corredor. Un registro de mensajes de cTrader puede decirle que una orden fue aceptada o rechazada por el backend de negociación. Un log de ejecución macro puede decirle por qué un candidato válido fue detenido antes de que se convirtiera en un mensaje de negocación.
Escenario de la mesa de negociación
Una estrategia propone una orden de compra de EUR/USD mientras se acerca una liberación de la inflación en USD. calendario de liberación, encuentra una ventana macro activa en USD y marca la orden candidata de cTrader como reviewEl servicio registra el ticket bloqueado, el símbolo, el lado planeado, tamaño y motivo del evento antes de que se envíe cualquier mensaje de permiso comercial.
Esto también mejora la revisión post-negociación. Si la estrategia pierde un movimiento porque la puerta lo detuvo, eso es medible. Si el estrategia evita un llenado deficiente o un pico de noticias, eso también es medibles. El objetivo no es bloquear cada lanzamiento. El propósito es hacer que la exposición al evento sea explícita y revisable.
Forma del flujo de trabajo
1. señal
Una estrategia, receptor de alertas o flujo de trabajo del analista crea un candidato de orden.
2. El contexto
El servicio recupera el calendario, anuncio, par y contexto de sesión de FXMacroData.
3. Puerta
La política decide si el candidato es permitido, esperar, reducir o revisar.
4. Mensaje
Solo los tickets aprobados se convierten en mensajes de orden de cTrader Open API.
5. Repasar
Los candidatos autorizados y los bloqueados se comparan con los resultados posteriores del mercado.
Dónde pertenece cada capa
| Capa | Usarlo para | No lo use para |
|---|---|---|
| Ctrader API abierta | Aplicaciones registradas, autorización de cuenta, datos de símbolos, mensajes de orden, posiciones y estado de negociación del lado del corredor. | Interpretación de macro-eventos o almacenamiento de las credenciales de FXMacroData. |
| El resto de datos de FXMacroData | Las macro de producción comparan con calendarios, anuncios, contexto de pares de divisas, sesiones e historial de eventos. | Envío de órdenes por parte del corredor o autorización de la cuenta de cTrader. |
| El MCP de FXMacroData | Flujos de trabajo de asistentes de investigación, explicaciones de orden bloqueado y cuadernos de revisión de estrategias. | Enrutamiento de operaciones en tiempo real o manejo de fichas de cuenta. |
| Servicio de ejecución | Política, secretos, reintentos, registro y la decisión final de permitir/revisar. | Comportamiento discretionario oculto enterrado dentro de las instrucciones o cuadernos. |
Los requisitos previos
- Una identificación de cTrader y una aplicación de API abierta registrada.
- URI de redirección aprobados y flujo de autorización de cuentas para las cuentas de comercio a las que accede su aplicación.
- Una decisión sobre JSON versus Protobuf y TCP versus WebSocket para su cliente cTrader.
- Una clave de la API FXMacroData se mantiene en el lado del servidor y se pasa como
?api_key=YOUR_API_KEYen ejemplos. - Una política escrita para la cual los eventos, sesiones, símbolos y estados de datos faltantes deben bloquear o revisar órdenes.
Paso 1: Aplicación, cuenta y permisos de negociación separados
La API abierta de cTrader documenta el registro de la aplicación separado de la autorización de la cuenta. Las credenciales de su aplicación autorizan la conexión de la solicitud, mientras que el token de la cuenta y el ID de la conta autorizan el acceso a una cuenta de comerciante. Los mensajes comerciales dependen de los permisos de la Cuenta correspondientes.
No pase las credenciales del corredor a las libretas de investigación o asistentes de IA.
{
"ctrader": {
"environment": "demo",
"message_format": "protobuf",
"transport": "websocket",
"submit_orders": false
},
"macro_gate": "required_before_new_order"
}
Los documentos de cTrader enumeran puntos finales en vivo y de demostración separados, y puertos separados para Protobuf y JSON. Utilice esa separación deliberadamente. Construya la puerta macro en una ruta de negociación no en vivo primero, luego promueva la misma política exactamente solo después de haber revisado sus decisiones.
Paso 2: Definir la política de ejecución de macros
La política debe ser legible por un comerciante y testable por un ingeniero.
pair: EUR_USD
macro_currency: USD
block_before_minutes: 30
block_after_minutes: 10
events:
- inflation
- non_farm_payrolls
- policy_rate
missing_data_decision: review
Utilice cuatro decisiones en lugar de un solo resultado verdadero o falso. allow significa que el candidato puede proceder. wait significa que una ventana de eventos programada está activa. reduce significa que el tamaño puede ser cortado sin rechazar la señal. review significa que el servicio necesita un flujo de investigación humano o separado antes de enviar un mensaje de autorización comercial.
Paso 3: Obtener el contexto de FXMacroData
Busque el contexto macro antes de construir el mensaje de nuevo orden de cTrader. Una primera implementación estrecha puede usar el calendario de lanzamiento, la familia de anuncios relevante, el contexto actual del par y el estado de la sesión.
curl "https://api.fxmacrodata.com/v1/calendar/usd?api_key=YOUR_API_KEY"
curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?api_key=YOUR_API_KEY"
curl "https://api.fxmacrodata.com/v1/forex/eur/usd?api_key=YOUR_API_KEY"
En el código, normalice el símbolo de cTrader en el par y la moneda macro que su política entiende. Los mensajes de orden de c Trader utilizan IDs de símbolos, así que mantenga un mapa de símbolo dentro del servicio de ejecución y guarde el par humano junto al ID interno en su registro de auditoría.
import os
import requests
FXMD_ROOT = "https://api.fxmacrodata.com"
FXMD_API_KEY = os.environ["FXMD_API_KEY"]
def fxmd_get(path):
response = requests.get(
f"{FXMD_ROOT}{path}",
params={"api_key": FXMD_API_KEY},
timeout=5,
)
response.raise_for_status()
return response.json()
def macro_context_for_eurusd():
return {
"calendar": fxmd_get("/v1/calendar/usd"),
"inflation": fxmd_get("/v1/announcements/usd/inflation"),
"spot": fxmd_get("/v1/forex/eur/usd"),
}
Paso 4: Puerta del candidato de orden cTrader
La puerta debe ejecutarse antes de que su aplicación cree o envíe un cTrader ProtoOANewOrderReq Mantenga el código ordinario para que pueda ser probado y reproducido.
def decide_candidate(context, policy):
if macro_data_missing(context):
return {"decision": "review", "reason": "Macro data unavailable"}
if has_blocked_event(context["calendar"], policy):
return {"decision": "wait", "reason": "Blocked USD macro window"}
if is_thin_session(context, policy):
return {"decision": "reduce", "reason": "Thin session risk"}
return {"decision": "allow", "reason": "No blocked macro window"}
candidate = {"pair": "EUR_USD", "side": "BUY", "units": 10000}
decision = decide_candidate(macro_context_for_eurusd(), policy)
Ejemplo de salida de decisión
{
"pair": "EUR_USD",
"side": "BUY",
"units": 10000,
"decision": "wait",
"reason": "Blocked USD macro window",
"checked_paths": [
"/v1/calendar/usd",
"/v1/announcements/usd/inflation"
]
}
Paso 5: Envíe sólo órdenes aprobadas
Solo los candidatos aprobados deben convertirse en mensajes de orden de cTrader. El código exacto del cliente depende de si su aplicación utiliza los SDK oficiales, mensajes JSON o mensajes Protobuf. La regla de seguridad es independiente de esa elección: la decisión macro es la primera.
candidate = build_order_candidate(signal)
context = macro_context_for_eurusd()
decision = decide_candidate(context, policy)
if decision["decision"] == "allow":
message = build_ctrader_new_order_message(candidate)
ctrader_send(message)
elif decision["decision"] == "reduce":
smaller = reduce_order_size(candidate, factor=0.5)
ctrader_send(build_ctrader_new_order_message(smaller))
else:
write_order_journal(candidate, decision, context)
Para cTrader, el objeto de orden de corredor necesita campos como ID de cuenta, ID de símbolo, tipo de orden, lado comercial, volumen y controles de orden opcionales. Su puerta de macro no debe reescribir esos campos silenciosamente. Debe permitir el candidato, reducirlo a través de una regla de política explícita o escribir un rechazo revisado.
| El método métrico | ¿Por qué es importante? | Cadencia de revisión |
|---|---|---|
| Los candidatos permitidos frente a los examinados | Muestra si la puerta cambia de comportamiento con la frecuencia suficiente para importar. | - Todos los días. |
| Deslizamiento posterior a la liberación | Muestra si la ventana de liberación es demasiado ancha o demasiado estrecha. | Semanal. ¿Qué es? |
| Revisiones de datos faltantes | Muestra si las fallas operativas se ocultan como decisiones comerciales. | Cada incidente. |
| Resultados de tamaño reducido | Muestra si la participación parcial supera una regla de espera completa. | - ¿Qué es? |
Capa de investigación de MCP opcional
FXMacroData MCP es útil cuando una persona o asistente necesita investigar un comercio bloqueado, comparar el historial de eventos o explicar por qué se disparó una política. Manténgalo separado de la ruta de pedido de producción. El servicio de ejecución debe usar REST para comprobaciones deterministas; el asistente de investigación puede usar MCP después del hecho.
{
"servers": {
"FXMacroData": {
"type": "http",
"url": "https://mcp.fxmacrodata.com"
}
}
}
División simple
- API abierta de cTrader: Cuenta de negociación y capa de mensaje de orden.
- El resto de FXMacroData: la macro puerta de producción antes de la presentación del pedido.
- MCP de FXMacroData: Investigación dirigida por asistentes, explicaciones y análisis de repetición.
Barreras de protección operativas
- Requerir una decisión macro para cada orden candidata antes de crear el mensaje de orden cTrader.
- Utilice las conexiones demo y cTrader en vivo como entornos de ejecución separados.
- Registre las rutas de FXMacroData, la versión de la política, el orden del candidato y la decisión para cada resultado de permitir, reducir, esperar o revisar.
- El fallo cerrado .
reviewcuando los datos macro no estén disponibles, estén retrasados o sean incompatibles con el par negociado. - Mantenga las claves de la API de FXMacroData, los secretos del cliente de cTrader, los tokens de la cuenta y los permisos de comercio solo en los servicios del lado del servidor.
- Replay bloqueó candidatos después de grandes lanzamientos para afinar ventanas sin adivinar.
Lo que has construido
Este patrón le da a una aplicación de API abierta de cTrader un punto de control macro-consciente sin confundir la capa de corredor con la capa del dato. cTrade sigue siendo responsable de la cuenta y los mensajes de negociación. FXMacroData REST suministra el calendario, anuncio, par y pruebas de sesión. MCP permanece disponible para investigación y explicaciones después de que la puerta determinista haya hecho su trabajo.
Guías relacionadas
Preguntas frecuentes
¿Puede cTrader Open API utilizar FXMacroData?
Sí. Coloque FXMacroData en el servicio de ejecución que prepara los mensajes de cTrader. El servicio debe llamar a FXMacriData REST, aplicar una política de macro y enviar un mensaje de orden de cCtrader solo cuando el candidato pase la puerta.
¿Debería una integración de cTrader utilizar REST o MCP para FXMacroData?
Utilice REST para la puerta de macro de producción porque es determinista y fácil de probar. Utilice MCP para el analista y los flujos de trabajo de asistencia, como explicaciones de orden bloqueado, notas de investigación y análisis de repetición.
¿Sustituye FXMacroData a la fijación de precios o a la ejecución de órdenes de cTrader?
No. cTrader sigue siendo la cuenta del lado del corredor, el símbolo, los precios y la superficie del mensaje de orden. FXMacroData agrega contexto macro alrededor de la decisión de ejecución.
Fuentes y referencias
- Documentación de la API abierta de cTrader
- Registro de aplicaciones de la API abierta de cTrader
- Aplicación y autenticación de cuentas de cTrader Open API
- Proxies y puntos finales de la API abierta de cTrader
- Guía de conexión de API abierta de cTrader
- Referencia del mensaje de la API abierta de cTrader
- Página de producto de Spotware cTrader Open API
- Esquema de producción de FXMacroData y OpenAPI
- Documentación del servidor MCP de FXMacroData