Plataformas y flujo de trading

Orden rechazada en cTrader: cómo investigarlo

Si cTrader rechaza una orden, conserva el error exacto y revisa cuenta, símbolo y sesión antes de volver a enviarla.

Un rechazo no te dice que la estrategia esté mal: te dice que esa solicitud no salió adelante. En cTrader Algo, el dato útil suele ser el código que acompaña al resultado fallido; guárdalo antes de tocar el tamaño o pulsar otra vez.

La secuencia importa. Primero averigua qué recibió la plataforma y qué quedó en la cuenta. Después decide si tiene sentido enviar una orden nueva. Esta guía se centra en peticiones de cBot; si operas a mano, también pueden intervenir las condiciones concretas del broker.

Qué dejó registrado cTrader

Cuando una operación de cBot no se completa, consulta TradeResult.IsSuccessful y el valor de TradeResult.Error. La referencia de ErrorCode de cTrader describe motivos estándar como BadVolume, NoMoney, MarketClosed, Disconnected, InvalidStopLossTakeProfit y NoTradingPermission. La propiedad TradeResult.Error devuelve el código de una operación fallida; la documentación muestra cómo leerlo junto al estado de éxito.

No juntes todas esas respuestas bajo “el mercado no quiso”. Unas apuntan al volumen solicitado; otras, a margen o fondos, horario, conexión, permisos o precios de protección. Si aparece un error genérico, no inventes una causa: conserva el mensaje completo y lo que ocurría alrededor.

Si tu integración usa Open API, consulta sus definiciones de mensajes y errores. No des por hecho que los códigos de Open API y los de Algo se traducen uno a uno; son interfaces distintas.

Revisa el contexto antes de modificar nada

Con BadVolume, comprueba las unidades pedidas frente al mínimo, máximo y paso permitidos para ese símbolo. Revisa también la conversión que hace tu código entre lotes y unidades. La referencia Symbol de cTrader documenta las propiedades disponibles; los límites efectivos dependen del instrumento y de la configuración del broker.

NoMoney apunta a fondos insuficientes para esa petición, pero el código no determina qué parámetro tendrías que cambiar. Mira la cuenta, las posiciones abiertas, el tamaño y los niveles protectores. Cambiar el volumen para que “pase” puede alterar el riesgo que pretendías asumir.

Ante un stop loss o take profit inválido, contrasta el precio enviado con la cotización y las restricciones vigentes del símbolo. No desplaces el nivel a ciegas solo para conseguir que la petición sea aceptada: ya no sería la misma operación.

¿Se cerró la sesión o se perdió la respuesta?

MarketClosed es una señal para revisar el horario, no el acierto de la señal de trading. El método MarketHours.IsOpened() indica si la sesión del símbolo está abierta. El calendario puede variar entre instrumentos y brokers; la hora que recuerdas de otro mercado no basta.

Con Disconnected o un timeout, no concluyas que la cuenta quedó intacta. Comprueba la conexión y concilia posiciones y órdenes pendientes antes de repetir. Puede faltar la confirmación en pantalla aunque la cuenta ya haya procesado algo.

La diferencia entre envío, aceptación y ejecución también importa fuera de cTrader. La SEC explica que una market order no garantiza el precio de ejecución y que una limit order puede quedarse sin ejecutar; FINRA describe pasos de revisión y encaminamiento en el ciclo de una orden bursátil. Es contexto de valores, no una descripción de cómo cada broker de CFD procesa una orden de cTrader. Consulta el boletín de la SEC sobre tipos de órdenes y la guía de FINRA sobre el ciclo de ejecución.

Un registro que permita reproducir el fallo

Guarda el entorno de cuenta (demo o real), el broker, símbolo y lado de la orden. Añade volumen, tipo de orden, precios de stop o límite, código y texto exactos del error, marca temporal con zona horaria y versión del cBot. Si se devolvió un identificador de orden o posición, inclúyelo. Antes de reintentar, anota qué posiciones y órdenes pendientes existen.

Con esos datos puedes aislar el problema en una reproducción controlada en demo y, si sigue sin estar claro, consultar al broker con hora y mensaje concretos. Cambia una variable por vez: si modificas varios campos juntos, no sabrás cuál influyó.

La guía de auditoría de registros de decisión de un cBot ayuda a enlazar señal, petición y respuesta. Para los límites del símbolo, consulta también la lista previa a operar en cTrader. realbacktesting desarrolla software de trading para cTrader con un principio sencillo: que puedas revisar cómo se obtuvo el resultado. En pruebas y metodología explicamos cómo reproducir los backtests publicados de los cBots.

Dudas habituales

¿MarketClosed demuestra que el cBot calculó mal?

No. El código señala que el mercado está cerrado; revisa el horario del símbolo aparte de la lógica que generó la señal.

¿Conviene reintentar cualquier orden rechazada?

No de forma automática. Confirma primero si hubo respuesta y si existe una orden o posición; después aplica una regla de reintento pensada para ese error concreto.

¿Los errores de Algo y Open API son idénticos?

No presupongas equivalencias. Usa la documentación de la interfaz que envió la petición y conserva su respuesta exacta.

Publicado Oct 23, 2026 · realbacktesting · Contenido educativo y comentario de mercado — no es asesoramiento financiero. El trading conlleva riesgo; los resultados pasados no garantizan resultados futuros.