Tu primer proyecto algorítmico puede registrar señales o comprobar una cantidad sin enviar órdenes. Elige una operación cuyo resultado puedas explicar y reproducir. Define información, regla y comportamiento ante incertidumbre antes de permitir negociación. Automatizar no demuestra que una estrategia tenga esperanza positiva.

Señal, ejecución, gestión e informe son tareas distintas

Un programa que divide una orden ya decidida no tiene el mismo propósito que otro que selecciona entradas. El informe BIS de 2020 sobre algoritmos de ejecución de divisas examina estructura de mercado y riesgos; no acredita beneficios de un robot minorista. Su sigla EA significa execution algorithm; en MetaTrader, Expert Advisor.

Especifica instrumento, fuente, horarios, momento de decisión, entrada, salida, tamaño, límite combinado y conducta con posición existente. Siguen siendo decisiones humanas de diseño y supervisión. Evitar un error manual puede introducir otro, como repetir una petición tras reiniciar. Comprueba exactitud del programa y economía de la regla por separado.

Elige herramienta según la operación

Una alerta puede bastar para avisar. La ventana nativa MT5 compara precio, volumen de última operación u hora, sin editar expresiones arbitrarias de medias y ATR. Una lógica personalizada puede requerir indicador o asesor. MQL5 funciona dentro de MT5; Python puede investigar o usar una conexión documentada. No existe escalera obligatoria hasta FIX.

Comprueba cuenta, acceso a datos y operación. No presupongas líneas de código, tiempo de construcción, latencia o API disponible en todo producto. La guía de asesores expertos aborda comportamiento de plataforma; implementar el mismo proyecto en dos lenguajes es opcional.

Regla hipotética: comparar el último cierre, 102, con la media de exactamente tres cierres completos: x, 100 y 102, del más antiguo al nuevo. Falta x. Si fuese 98, la media sería 100 y 102 la supera; si fuese 106, sería 308/3 ≈ 102,6667 y no la supera. Son dos posibles historias anteriores, no precios futuros ni datos recuperados.

El tercer dato no se puede adivinarTres cierres hipotéticos completos x/100/102, pesos iguales y comparación estricta sin redondear. x es historia anterior desconocida.EJEMPLO DE CÁLCULOSi x fuese 98Media 100; 102 > 100Si x fuese 106Media 102,6667…; 102 nola superaSolo datos recibidos100 y 102Respuesta del programaDatos incompletos
El tercer dato no se puede adivinar. Tres cierres hipotéticos completos x/100/102, pesos iguales y comparación estricta sin redondear. x es historia anterior desconocida.

Los dos valores posibles del dato ausente dan respuestas contrarias. Con solo dos registros, suspende evaluación sin sustituir cero ni cambiar periodo.

Si x fuese 98
Media 100; 102 > 100 – Cumpliría la comparación.
Si x fuese 106
Media 102,6667…; 102 no la supera – No cumpliría.
Solo datos recibidos
100 y 102 – No determinan la regla de tres cierres.
Respuesta del programa
Datos incompletos – No es una señal ni condición falsa evaluada.

Promediar solo los dos conocidos produce 101 y cambia la regla. Sustituir x por cero inventa un registro. Debes anotar datos incompletos y no emitir decisión. Si la descarga posterior funciona, comprueba que corresponde a las mismas velas previstas. CopyRates devuelve un número de registros o error y puede disponer solo de parte: no basta con haber solicitado tres.

Las habilidades deben corresponder a lo que verificas

Necesitas programación y datos suficientes para comprobar tu operación, además de tamaño y razonamiento estadístico para interpretar resultados. Una curva corta solo describe su muestra. Separa datos de desarrollo y evaluación, conserva representatividad y contrasta ejecución demo, sin un número universal de operaciones o meses que pruebe ventaja.

Latencia final depende de código, equipo, red y ejecución del broker, sin garantizar milisegundos de una sola cifra. Un VPS no elimina fallos o supervisión. Presupuesta datos, alojamiento, licencias y tiempo aunque el lenguaje no cobre licencia.

De una idea H1 a ejemplos explicables

Para un cruce hipotético EUR/USD H1, define EMA 21, SMA 55 y distancia basada en ATR: cálculo, señal con velas completas, momento de evaluación, stop, objetivo y tamaño. Primero registra, sin ordenar. Prueba señal, ausencia de señal, cambio de vela, historia incompleta y posición existente. «Falta información» no es un resultado válido de «no cumple».

Compara decisiones manuales y automáticas sobre mismas fechas y datos. Cinco años automatizados no tienen por qué coincidir con seis meses manuales por cambiar periodos o fuentes. Concilia diferencias individuales, costes y reglas antes de evaluar otra muestra congelada. Una diferencia final pequeña no permite ignorar operaciones distintas.

Modelo de tamaño original: equity 10.000 USD, presupuesto elegido de pérdida de precio 0,5 %, stop de 25 pips y pip EUR/USD 0,0001. Con contrato de 100.000 EUR por lote, un pip vale 10 USD por lote. Presupuesto = 50 USD; volumen antes de costes = 50 / (25 × 10) = 0,20 lotes, nominal 20.000 EUR. Nominal, margen y pérdida prevista son cantidades diferentes.

Para EUR, ejercicio independiente: equity 10.000 EUR y presupuesto elegido 50 EUR. Con conversión fija hipotética 1,10 USD por EUR, el pip por lote equivale a 10/1,10 ≈ 9,0909 EUR. Supón coste adicional completo de seis EUR por lote y paso admitido 0,01. El volumen continuo sería 50 / (25 × 9,0909… + 6) ≈ 0,21434.

Sin redondear cálculos intermedios, 0,21 lotes estiman 48,9873 EUR; 0,22, 51,32. El primero cabe y el segundo supera ese presupuesto bajo los supuestos. Verifica también mínimo y máximo del símbolo. Son datos inventados, sin recomendación universal del 0,5 % ni garantía de pérdida máxima: un stop ordinario puede ejecutar peor.

Otra prueba detecta entradas mezcladas: t1 Bid/Ask 1,1000/1,1002 y t2 1,1010/1,1012. Ambos diferenciales son dos pips. Mezclar Ask de t1 con Bid de t2 fabrica −8 pips. Un filtro < 2,5 aceptaría erróneamente ese valor; no fue un diferencial negativo observado. SymbolInfoTick reúne precios y hora de actualización en MqlTick: comprueba éxito y conserva la misma estructura para calcular.

Código, datos, ejecución y economía necesitan sus pruebas

Un proyecto puede fallar por regla, datos, programa, ejecución u operación continua, sin clasificación universal de dos causas. OrderSend true no demuestra operación ejecutada: examina códigos y estado. Tras una respuesta ambigua, consulta órdenes, ejecuciones y posiciones antes de repetir. Registra versión, hora y razón de actuar o no evaluar.

Conserva variantes fallidas y separa selección y evaluación. Cambiar reglas tras ver el resultado reservado convierte ese periodo en desarrollo. En un modelo de cien operaciones con cuarenta ganancias de +2R y sesenta pérdidas de −1R, la media es (80 − 60)/100 = +0,2R y profit factor 80/60 ≈ 1,33 antes de costes. Son entradas elegidas, sin demostrar la siguiente muestra.

Tres pasos para un primer proyecto controlable

  1. Escribe una especificación pequeña con datos, unidades, hora de decisión y condiciones que suspenden evaluación. Usa los tres cierres del ejercicio para comprobar que un registro ausente no se sustituye por cero ni se interpreta como regla falsa.
  2. Contrasta casos pequeños de cotización coherente, cálculo de cantidad y costes con respuestas independientes. Guarda versiones y valores sin redondear hasta el paso necesario; después verifica incrementos admitidos y distingue nominal, margen y pérdida prevista en la moneda correcta.
  3. Si necesitas órdenes, prueba en demo rechazo, reinicio y respuesta ambigua, verificando estado antes de repetir. Define pausa, actualización y entorno remoto; desactivar AutoTrading local no cierra posiciones y un plazo de aprendizaje nunca obliga a desplegar dinero real.