Guía de pruebas y optimización de asesores expertos con IA | Blog de Deriv

Perfeccione su asesor experto con IA mediante técnicas de prueba adecuadas. Nuestra guía cubre problemas comunes, métodos de prueba y optimización de asesores expertos para bots de trading fiables.

Por el equipo de Deriv · 21 de abril de 2025 · 4 min de lectura

Share

Los asesores expertos de trading con IA ya están aquí, pero aún necesita probarlos y perfeccionarlos.

Si ya ha usado herramientas de IA como Claude o ChatGPT para crear un asesor experto para Deriv MT5 o un cBot para Deriv cTrader, ha dado un gran primer paso. Pero incluso cuando el código parece correcto, aún puede contener errores que afectan el funcionamiento del bot.

Antes de ejecutar su asesor experto (EA) en un mercado en vivo, es importante probarlo y asegurarse de que funcione como espera.

En esta guía, analizaremos los errores de codificación más comunes en los EA generados por IA, cómo corregirlos y consejos prácticos para mejorar el rendimiento de su bot.

Errores comunes de codificación MQL5 con IA

Estos son algunos de los problemas más comunes que se encuentran en los EA generados por IA, junto con formas de corregirlos:

  • Error de identificador no declarado en MQL5

Este error aparece cuando el bot usa una variable o un nombre que no se ha definido correctamente, como omitir un parámetro o usar un nombre incorrecto en indicadores como iMA().

Solución:
Verifique los parámetros del indicador y asegúrese de que todos los nombres de las variables coincidan con lo esperado en MetaEditor (la herramienta de codificación de MT5).

  • Funciones de ejecución de operaciones de compra/venta faltantes

Algunos bots generados por IA omiten la lógica esencial para abrir operaciones.

Solución:
Agregue manualmente las funciones básicas de ejecución de operaciones. Aquí tiene un ejemplo de una estructura básica para colocar una orden de compra:

void OpenBuy() { 

   MqlTradeRequest request; MqlTradeResult result; 

   request.action = TRADE_ACTION_DEAL; 

   request.type = ORDER_TYPE_BUY; 

   request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK); 

   request.volume = 0.1; request.magic = 12345; 

   OrderSend(request, result); 

}

Asegúrese también de incluir la lógica para las órdenes de venta y de definir las condiciones en las que se deben colocar las operaciones.

  • Condiciones de bucle incorrectas en Deriv cTrader

En Deriv cTrader, la lógica del bot debe ejecutarse dentro de funciones específicas como OnBar() u OnTick(). Estas se activan automáticamente cuando el mercado se mueve. Si su código se coloca fuera de estas secciones, por ejemplo en un bucle incorrecto o en el ámbito global, no se ejecutará como se espera.

Solución:

Asegúrese de que las barras y los ticks se gestionen dentro de OnBar() u OnTick(). Esto permitirá que su bot responda correctamente a nuevos ticks o barras durante el backtesting y el trading en vivo.

  • Cálculo incorrecto del tamaño del lote según el porcentaje del saldo

Cuando la IA intenta establecer el tamaño del lote en función del saldo de su cuenta (p. ej., arriesgando un 2 % por operación), puede omitir un detalle importante: el tamaño del contrato. Esto puede generar tamaños de lote inexactos. Esto no genera un error de código, pero en las pruebas verá tamaños de operación que no coinciden con su configuración de riesgo, lo que resulta en sobreexposición o subexposición en las operaciones en vivo.

Solución:
Use una fórmula con un tamaño de lote que tenga en cuenta el tamaño del contrato, como:

//-----------------------------------------------------------------

double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);

double riskMoney = accountBalance * (RiskPercent / 100.0);

double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);

double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);

double pointValue = tickValue / tickSize;

double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);

if(contractSize > 0)

pointValue = pointValue / contractSize;

double lotSize = riskMoney / (StopLossPoints * pointValue);

double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);

double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);

double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);

lotSize = MathMax(lotSize, minLot);

lotSize = MathMin(lotSize, maxLot);

lotSize = MathFloor(lotSize / lotStep) * lotStep;

  • Otros errores

Si encuentra uno de estos errores, o cualquier otro, siempre puede pedirle ayuda a su modelo de IA para identificar y corregir el problema.

Simplemente copie el mensaje de error y el código correspondiente, y compártalos con el modelo de IA. La mayoría de las veces, debería poder identificar el problema y ofrecer una solución o sugerir posibles alternativas.

Consejo: Siempre ejecute un backtest antes de operar en vivo. Problemas como este no aparecen hasta que se prueba la estrategia con datos reales del mercado.

Mejore su asesor experto generado por IA

Una vez que su bot funcione, puede realizar pequeños cambios para mejorar su rendimiento y estabilidad. Aquí tiene algunos trucos comunes para hacerlo:

  • Agregue lógica de gestión de errores para manejar comportamientos inesperados durante alta volatilidad o problemas de conexión.
  • Use un trailing stop-loss para asegurar posibles ganancias cuando el mercado se mueva a su favor.
  • Haga un backtest de su estrategia con datos históricos para ver cómo se habría comportado.
  • Limpie y organice su código para mejorar la legibilidad y la eficiencia. Esto facilitará su actualización o solución de problemas más adelante.

Consejo: Use el MetaEditor Debugger (en MT5) para probar cómo se ejecuta su bot paso a paso.

Por qué es fundamental hacer backtesting de las operaciones

Los bots generados por IA son una excelente forma de automatizar su trading sin necesidad de programar desde cero. Pero incluso con IA, su estrategia aún necesita revisiones y ajustes humanos para funcionar bien en condiciones reales.

Antes de operar en vivo, tómese el tiempo para probar a fondo y realizar pequeñas mejoras. Incluso las correcciones menores pueden marcar una gran diferencia en la consistencia y efectividad con la que se desempeña su EA.

Join 3M+ global traders

Open an account in minutes and start trading the world's markets — forex, stocks, indices, and more.