SocialVPS — MetaTrader 4 (MT4) es una de las plataformas más populares entre los operadores de Forex, y uno de sus mayores puntos fuertes es la posibilidad de automatizar las operaciones utilizando Expert Advisors (EAs). Si alguna vez te has preguntado cómo construyen los traders esos bots de trading automatizados, esta guía es tu punto de partida. En este artículo, vamos a romper los conceptos básicos de MQL4 (el lenguaje de programación detrás de MT4) y le guiará a través de cómo crear su primera EA de Forex.
¿Qué es MQL4 y por qué es importante?
Antes de sumergirnos en la codificación, entendamos qué es realmente MQL4.

MQL4, o MetaQuotes Language 4, es un lenguaje de programación de alto nivel diseñado específicamente para desarrollar estrategias de trading en la plataforma MT4. Con MQL4, puede crear indicadores personalizados, scripts y, lo que es más importante, Expert Advisors—ambién conocidos como robots de Forex o robots de negociación algorítmica.
¿Por qué es importante para usted? Porque la automatización de su estrategia le permite eliminar el sesgo emocional, el comercio 24/7, y probar ideas más rápido que el comercio manual nunca podría.
¿Qué es un EA de Forex?
Un EA de Forex (Expert Advisor) es una pieza de software escrita en MQL4 que automatiza su estrategia de trading. Supervisa el mercado, abre y cierra operaciones en función de las condiciones que usted defina, e incluso puede enviarle alertas. Esencialmente, actúa como su asistente personal de trading—menos el salario.
Crear un EA es como dar vida a su plan de trading. Sigue las instrucciones sin emoción, sin fatiga y sin dudas.
Herramientas necesarias para crear su primer EA
Hablemos de las herramientas básicas y la configuración que necesitas para empezar.
- MetaTrader 4 Plataforma: Descárguelo de su intermediario o del Sitio web oficial de MetaTrader 4.
- MetaEditor: Instalado con MT4, aquí es donde escribirás y compilarás tu código.
- Paciencia: Aprender a programar—Incluso lo más básico—oma su tiempo.
Su primer EA MQL4 Forex: Paso a Paso
Ahora llegamos a la parte divertida: construir tu primer EA de Forex. Vamos a empezar con una estrategia comercial básica:
Comprar cuando la media móvil de 10 periodos cruce por encima de la media móvil de 20 periodos.
Vender cuando la Media Móvil de 10 periodos cruce por debajo de la Media Móvil de 20 periodos.
Paso 1: Abrir MetaEditor
- Abra su plataforma MT4.
- Haga clic en el icono MetaEditor o pulse
F4
.
Paso 2: Crear un nuevo archivo EA
- En el MetaEditor, vaya a File → New → Expert Advisor (template).
- Ponle un nombre como
SimpleMA_EA
. - Haga clic en Next → Finish.
Paso 3: Escribir el código EA
A continuación se muestra un código EA simplificado que puede utilizar para empezar:
//+------------------------------------------------------------------+
//| SimpleMA_EA.mq4|
//+------------------------------------------------------------------+
#property strict
input int FastMA = 10;
input int SlowMA = 20;
input double LotSize = 0.1;
int start() {
double fastMA = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double fastMA_prev = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
double slowMA_prev = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);
if (fastMA > slowMA && fastMA_prev <= slowMA_prev) {
OrderSend(Symbol(), OP_BUY, LotSize, Ask, 2, 0, 0, "Buy Order", 0, 0, clrBlue);
}
if (fastMA = slowMA_prev) {
OrderSend(Symbol(), OP_SELL, LotSize, Bid, 2, 0, 0, "Sell Order", 0, 0, clrRed);
}
return(0);
}
Este Expert Advisor (EA) realiza operaciones automatizadas en MetaTrader 4 utilizando una estrategia de cruce de medias móviles simples (SMA). Cuando la MA rápida cruza por encima de la MA lenta, abre una orden de compra. Cuando la MA Rápida cruza por debajo de la MA Lenta, abre una orden de venta.
Paso 4: Compilar y probar
- Pulsa el botón Compile en el MetaEditor.
- Vuelva a MT4 y arrastre su EA a un gráfico para probarlo.
Eso es todo. Usted acaba de crear su primer sistema de comercio automatizado utilizando MQL4.
Por supuesto. Desglosemos este script MQL4 Expert Advisor SimpleMA_EA.mq4
línea por línea, para ayudarle a usted o a cualquier principiante a entender claramente lo que hace cada parte del código.
Desglose de código y explicaciones de funciones
#property strict
- Esto permite realizar comprobaciones de errores en tiempo de compilación más estrictas para garantizar un código más limpio.
input int FastMA = 10;
input int SlowMA = 20;
input double LotSize = 0.1;
- Se trata de variables de entradalo que significa que los usuarios pueden cambiarlos fácilmente en la configuración de EA:
FastMA
: el período para el Fast Moving Average, por ejemplo, 10.SlowMA
: el período para el Slow Moving Averagepor ejemplo, 20.LotSize
: De qué tamaño será su operación (0,1 lote en este caso).
int start() {
- En
start()
es la función main loop en los EAs MQL4 (utilizados en versiones anteriores de MetaTrader 4). - Esta función ejecuta cada vez que se produce un nuevo tick (actualización del precio) se recibe.
double fastMA = iMA(NULL, 0, FastMA, 0, MODO_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMA, 0, MODO_SMA, PRICE_CLOSE, 0);
- Estas líneas calculan el actual valores del Fast MA y Slow MA utilizando
iMA()
:NULL
: símbolo del gráfico actual.0
: marco temporal actual.FastMA/SlowMA
periodo para cada AM.0
: turno (vela actual).MODO_SMA
: uso Simple Moving Average.PRICE_CLOSE
basado en el precio de cierre de la vela.0
: vela actual.
double fastMA_prev = iMA(NULL, 0, FastMA, 0, MODO_SMA, PRICE_CLOSE, 1);
double slowMA_prev = iMA(NULL, 0, SlowMA, 0, MODO_SMA, PRICE_CLOSE, 1);
- Estas líneas reciben el vela anterior Valores MA (
shift = 1
), por lo que podemos comparar el actual con el anterior para la lógica de cruce.
de $8.3 a $5.7/facturado anualmente

Trading Lógica
Condición de compra
if (fastMA > slowMA && fastMA_prev <= slowMA_prev) {
OrderSend(Symbol(), OP_BUY, LotSize, Ask, 2, 0, 0, "Buy Order", 0, 0, clrBlue);
}
- Este bloque comprueba:
- ¿Es el Fast MA actualmente por encima de ¿el Slow MA?
- ¿Fue el Fast MA inferior o igual a al Slow MA en el vela anterior?
- Si sídesencadena un Orden de compra con:
Symbol()
: par del gráfico actual (por ejemplo, EURUSD).OP_BUY
: tipo de pedido.LotSize
: Cantidad del lote.Ask
: Precio de venta actual (precio de compra).2
: deslizamiento.0, 0
: Sin Stop Loss ni Take Profit."Buy Order"
: comentario de pedido.clrBlue
: color indicado en la carta para el pedido.
Condición de venta
if (fastMA < slowMA && fastMA_prev >= slowMA_prev) {
OrderSend(Symbol(), OP_VENDER, LotSize, Oferta, 2, 0, 0, "Sell Order", 0, 0, clrRojo);
}
- Este bloque comprueba:
- ¿Es el Fast MA a continuación ¿el Slow MA?
- ¿Fue el Fast MA superior o igual a al Slow MA anteriormente?
- Si sícoloca un Orden de venta utilizando
OrderSend()
con los mismos parámetros, pero paraOP_VENDER
.
return(0);
}
- Finaliza el
start()
y devuelve 0 (no es necesario para la funcionalidad, pero es la sintaxis estándar).
Próximos pasos para crear mejores EA
Una vez que tu EA funcione, probablemente querrás mejorarlo. Puede hacerlo:
- Añadir Stop Loss y Obtener beneficios lógica.
- Implementar trailing stops.
- Más información indicadores o filtros personalizados.
- Incluya gestión de riesgos características.
Las posibilidades son infinitas. Cuanto más aprenda, más potente será su EA de Forex.
¿Por qué utilizar un Forex VPS para su Expert Advisor?
Llegados a este punto, puede que esté pensando: "Genial, he hecho mi EA. Pero ¿necesito dejar mi ordenador encendido 24/7?".
La respuesta es no—para eso está el Forex VPS. Un Servidor Privado Virtual (VPS) permite que su EA se ejecute sin parar en un servidor remoto, ofreciéndole un tiempo de actividad estable, low latency, y un trading ininterrumpido—especialmente crucial para el trading automatizado, robot forex y estrategias algorítmicas.
El uso de un VPS garantiza que su EA siga funcionando aunque se caiga Internet o se bloquee su PC.
Si se toma en serio la automatización, necesita un Forex VPS. Consiga su propio Forex VPS de alto rendimiento de SocialVPS y mantenga su EA. funcionando sin problemas 24/7.
Preguntas frecuentes
¿Cuánto tiempo se tarda en aprender a utilizar MQL4?
Los principiantes pueden empezar a escribir EA sencillos en pocos días. Aprender funciones más avanzadas puede llevar unas semanas o meses, dependiendo de tu dedicación.
¿Puedo crear un EA de Forex sin codificación?
Sí, hay constructores de EA sin código disponibles en línea, pero a menudo son limitados. Aprender MQL4 le da un control total y flexibilidad sobre sus estrategias.
¿Es rentable un EA de Forex?
Un EA de Forex puede ser rentable si se basa en una estrategia sólida y está bien probado. El backtesting y la optimización son cruciales para el éxito a largo plazo.
¿Puedo utilizar el mismo EA en diferentes pares de divisas?
Sí, pero es posible que tenga que ajustar la configuración (como los períodos de MA o tamaño de lote) para adaptarse a diferentes pares o plazos.
¿Por qué debería ejecutar mi EA de Forex en un VPS?
Un VPS mantiene su EA en línea 24/7, evita tiempos de inactividad, y mejora la velocidad de ejecución—que puede ser decisiva en los mercados cambiantes.