OANDA v20 REST API (interfaz de trabajo de repuesto) es una ruta directa al motor de negociación de OANDA para el flujo de trabajo de cuenta, precios, órdenes, operaciones, posiciones y transacciones. El valor de la moneda de referencia contexto, Sesiones de divisas, y ventanas de eventos que deben comprobarse antes de que una estrategia envíe una orden FX.
El objetivo no es hacer que una API de corredor prediga resultados macro. El objetivo es evitar que un flujo de trabajo FX automatizado trate todas las señales válidas como igualmente negociables. Una señal limpia en EUR/USD puede llevar un perfil de riesgo diferente cuando Indicador de precios de los Estados Unidos¿ Qué ? Pago de los trabajadores no agrícolas, o un Reserva Federal FXMacroData proporciona al servicio de ejecución la evidencia que necesita antes de decidir si procede.
En forma
Utilice esto para
OANDA o la automatización de cuentas reales que requieren un punto de control macro antes de enviar el pedido.
OANDA funciona mejor cuando
Maneja la conectividad del corredor mientras que su servicio posee la política macro, credenciales, registros de auditoría y reglas de decisión final.
No lo hagas.
Permitir que un modelo, portátil o webhook envíe órdenes en vivo sin una macro determinista y una puerta de riesgo.
Por qué OANDA v20 se ajusta a Macro Gates
La documentación de OANDA describe la API REST v20 como acceso programático a su motor de negociación para usuarios con una cuenta de negotación v20.
Esta forma es útil para una puerta de macro. OANDA puede manejar el lado del flujo de trabajo que se enfrenta al corredor. FXMacroData puede responder si un par de divisas está cerca de un evento macro conocido, si el calendario de liberación está activo y si la señal debe ser permitida, retrasada, reducida o enviada para su revisión.
Qué cambios para el comerciante
El cambio es la auditabilidad. Una estrategia no sólo debe registrar que produjo una señal larga o corta. También debe registrarse si se permitió que esa señal llegara al corredor, y qué evidencia macro afectó la decisión.
Escenario de la mesa de negociación
Un modelo propone una orden de mercado EUR/USD durante la hora anterior a los datos de inflación de EE.UU. El servicio de ejecución consulta el FXMacroData calendario de liberación, se ve una ventana macro activa en USD y se marca el candidato a pedido OANDA como reviewEl sistema registra el ticket bloqueado, el motivo del evento y las unidades previstas para que el comerciante pueda evaluar la regla más adelante.
Este enfoque mantiene el flujo de trabajo honesto. No se pide a la API del corredor que entienda el contexto macro, y no se pide la capa de datos macro que administre las cuentas del correro. La aplicación entre ellos es dueña de la decisión.
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, el anuncio y el contexto de pareja de FXMacroData.
3. Puerta
La política decide si el candidato es permitido, esperar, reducir o revisar.
4. Presentar
Solo se presentarán boletos aprobados al punto final de pedido OANDA v20.
5. Repasar
Los tickets bloqueados y permitidos se miden en relación con los resultados comerciales posteriores.
Dónde pertenece cada capa
| Capa | Usarlo para | No lo use para |
|---|---|---|
| OANDA v20 REST API (interfaz de trabajo de repuesto) | Cuenta de corredor, precios, orden, comercio, posición y flujos de trabajo de transacción. | Decidir la verdad del evento macro o almacenar las credenciales de FXMacroData. |
| El resto de datos de FXMacroData | Las macro comprobaciones de producción con calendarios, anuncios, contexto de pares de divisas y sesiones. | Envío de órdenes o gestión de cuentas por parte del corredor. |
| El MCP de FXMacroData | Flujos de trabajo de asistentes de investigación, revisión de pedidos bloqueados y tareas de soporte de código. | Enrutamiento de órdenes en tiempo real o autorización de corredores. |
| Servicio de ejecución | Política, secretos, nuevas pruebas, registro y decisiones finales de autorización/revisión. | Comportamiento discrecional desbloqueado oculto dentro de un cuaderno o un prompt. |
Los requisitos previos
- Una cuenta OANDA v20 y acceso a la API configurados en el portal de cuentas.
- Un token de acceso personal almacenado de forma segura y pasado a OANDA como un token de portador.
- Un entorno de práctica para la primera implementación y pruebas de regresión.
- 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, pares de divisas y estados de datos faltantes deben bloquear o revisar órdenes.
Paso 1: separar las prácticas y los ambientes de vida
OANDA documenta hosts separados para la práctica y el comercio en vivo. Utilice el host de práctica mientras construye la puerta de macro. El servicio de ejecución debe requerir un entorno de configuración explícito para que las pruebas no puedan derivar accidentalmente en la presentación de órdenes en vivo
# OANDA broker API examples use bearer-token auth.
export OANDA_ROOT="https://api-fxpractice.oanda.com"
export OANDA_ACCOUNT_ID="YOUR_OANDA_ACCOUNT_ID"
export OANDA_TOKEN="YOUR_OANDA_TOKEN"
curl -H "Authorization: Bearer $OANDA_TOKEN" \
"$OANDA_ROOT/v3/accounts"
Mantenga las credenciales de OANDA separadas de las credencials de FXMacroData. El token del corredor solo debe estar disponible para el proceso que tenga permiso para enviar o inspeccionar los recursos del lado del correro.
Paso 2: Definir la política de ejecución de macros
La primera versión debe centrarse en un par y una moneda macro, luego expandirse después de que el equipo pueda medir el comportamiento de los tickets bloqueados y permitidos.
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
La salida debe ser una decisión razonada, no un booleano silencioso. review porque los datos no están disponibles debe ser diferente de un boleto marcado wait porque el estreno está cerca.
Paso 3: Obtener el contexto de FXMacroData
Busque el contexto de las macros antes de crear la solicitud de orden OANDA. Mantenga la primera versión limitada: filas de calendario, la familia de anuncios relevante y el contexto del par actual.
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 código, normaliza el formato de instrumento de OANDA, como EUR_USD, en el par y la moneda macro que su política entiende.
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 para el candidato a la Orden OANDA
La puerta debe ejecutarse antes de que se envíe la carga útil de la orden OANDA.
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"}
return {"decision": "allow", "reason": "No blocked macro window"}
candidate = {"instrument": "EUR_USD", "units": "1000"}
decision = decide_candidate(macro_context_for_eurusd(), policy)
Ejemplo de salida de decisión
{
"instrument": "EUR_USD",
"units": "1000",
"decision": "wait",
"reason": "Blocked USD macro window",
"checked_paths": [
"/v1/calendar/usd",
"/v1/announcements/usd/inflation"
]
}
Paso 5: Envíe sólo órdenes aprobadas
Sólo crea y envía la solicitud de pedido OANDA cuando la decisión macro lo permita. El ejemplo a continuación utiliza un host de práctica y marcadores de posición. Mantenga la presentación de pedidos en vivo detrás de controles de despliegue, riesgo y cuenta separados.
if [ "$DECISION" = "allow" ]; then
curl -X POST "$OANDA_ROOT/v3/accounts/$OANDA_ACCOUNT_ID/orders" \
-H "Authorization: Bearer $OANDA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"order": {
"type": "MARKET",
"instrument": "EUR_USD",
"units": "1000",
"timeInForce": "FOK",
"positionFill": "DEFAULT"
}
}'
fi
Para cada orden permitida, registre la transacción OANDA o los identificadores de orden junto con el contexto de FXMacroData que permitió la presentación.
| El método métrico | ¿Por qué es importante? | Cadencia de revisión |
|---|---|---|
| Las órdenes autorizadas frente a las revisadas | 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. | Después de los grandes acontecimientos. |
| Tasa de anulación manual | Revela si los operadores confían en la política macro. | Semanal. ¿Qué es? |
| Revisiones de datos faltantes | Evita el comercio silencioso cuando el contexto macro no está completo. | Cada carrera. |
Capa de investigación de MCP opcional
¿ Cómo ? El MCP de FXMacroData ¿ Qué ? https://mcp.fxmacrodata.com Cuando un asistente compatible debe inspeccionar órdenes bloqueadas, explicar ventanas de macro o ayudar a redactar pruebas de políticas.
{
"servers": {
"FXMacroData": {
"type": "http",
"url": "https://mcp.fxmacrodata.com?api_key=YOUR_API_KEY"
}
}
}
Un asistente útil es estrecho: "Revisa los candidatos de orden EUR/USD OANDA de ayer marcados como espera, identifica los eventos macro involucrados y compara con los tickets permitidos fuera de la ventana de lanzamiento". Eso mantiene el modelo en modo de revisión, no control de ejecución.
Barreras de protección operativas
Control mínimo
- Utilice el entorno de práctica OANDA antes de cualquier flujo de trabajo de cuenta real.
- Almacenar fichas portadoras de OANDA y las claves de la API FXMacroData en el lado del servidor.
- No revisar, no permitir, cuando no se pueden recuperar los datos de macro.
- Generación de señal separada de la presentación de pedidos.
- Registre la decisión macro, las rutas de origen y la respuesta de la orden del corredor para cada orden aprobada.
- Mantenga a los asistentes de IA fuera del camino de envío de órdenes en vivo.
Preguntas frecuentes
¿Puede la API de OANDA v20 utilizar FXMacroData?
Sí. El patrón habitual es un servicio del lado del servidor que llama FXMacroData REST, aplica una política de macro y se envía a OANDA v20 solo cuando se aprueba la orden candidata.
¿Debería usar REST o MCP?
Utilice REST para la puerta de macro de producción porque es determinista, estrecha y fácil de registrar.
¿Sustituye FXMacroData los precios de OANDA?
No. Los recursos de precios y cuenta de OANDA pertenecen a OANDA. FXMacroData agrega contexto macro externo alrededor de la decisión del pedido, especialmente calendarios, anuncios, contexto de pares de divisas y sesiones.
¿Qué debería bloquear la primera puerta macro de OANDA?
Para el EUR/USD, una primera política práctica es revisar o esperar alrededor de la inflación del USD, el mercado laboral y las ventanas de tasas de política.
Guías relacionadas
Fuentes de información
- Introducción de la API REST de OANDA v20
- Guía de desarrollo de OANDA v20
- Documentación de autenticación de OANDA v20
- Puntos finales de orden de OANDA v20
- Puntos finales de fijación de precios de OANDA v20
- Comparación de las API de OANDA
- Esquema de producción de FXMacroData y OpenAPI
- Documentación de la MCP de FXMacroData