Live release feed
Sub-second macro releases for FX backtests
Point-in-time history

Broker API Integration

How-to Guides

Cómo utilizar la API abierta de cTrader con FXMacroData para la ejecución de FX Macro-Aware

Utilice la API abierta de cTrader con FXMacroData revisando los calendarios macro, los anuncios, el contexto de los pares y las sesiones de divisas antes de enviar mensajes de órdenes de divis as automatizadas.

Disponible también en English
Share article X LinkedIn Email
Pip robot with FXMacroData logo mark placing a cTrader order token into a transparent macro-risk vault beside CPI and NFP keys
Use FXMacroData as a macro-risk vault before cTrader Open API order messages reach a trading account.

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.

Respuesta rápida: Use la API abierta de cTrader para la autorización de cuentas, búsqueda de símbolos y mensajes de pedidos. Use FXMacroData REST dentro de su servicio de ejecución antes de que se envíe el mensaje de pedido de c Trader, para que cada pedido candidato sea clasificado como permitir, esperar, reducir o revisar según el contexto macro. Use el MCP de FXMacrodata para investigación y revisión de pedido bloqueado, no como la ruta de control de pedidas en vivo.

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_KEY en 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 . review cuando 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

Blogroll

AI Answer-Ready

Key Facts

Page
How To Use Ctrader Open API With FXmacrodata
Section
Articles
Canonical URL
https://fxmacrodata.com/es/articulos/how-to-use-ctrader-open-api-with-fxmacrodata
Source
FXMacroData editorial and official publisher references
Last Updated
2026-07-12 15:03 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

Can cTrader Open API use FXMacroData? Yes. Use a server-side execution service that calls FXMacroData REST, applies a macro policy, and sends a cTrader order message only when the candidate is approved.

Should a cTrader integration use REST or MCP for FXMacroData? Use REST for the production macro gate. Use MCP for research assistants, blocked-order explanations, and replay analysis.

Does FXMacroData replace cTrader pricing or order execution? No. cTrader remains the broker-side account, symbol, pricing, and order-message surface. FXMacroData adds macro context around the execution decision.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.