Programe su estrategia en 10 pasos con el Asesor Experto Universal y Código Abierto

EA SUPER TESTER Programa de pruebas multiproceso para el Asesor Experto.
EA SUPER TESTER Programa de pruebas multiproceso para el Asesor Experto.

Table of Contents (click to show)

List

Descripción

The X es un constructor de estrategias de trading.

Hemos desarrollado un Asesor Experto Universal que engloba todas las funciones más intrigantes y esenciales.

Además, se ha incorporado un módulo de señales que utiliza indicadores estándar.

Este es un constructor de estrategias, que le permite programar su propia estrategia.

Comenzó como un proyecto que ganó una popularidad significativa. Durante 15 años, hemos estado refinando el algoritmo, añadiendo nuevas funciones e indicadores, y corrigiendo errores de función.

Este artículo le guiará a través de la programación de su estrategia, la integración de indicadores en el asesor y la adición de nuevas señales y filtros.

Código Abierto

Una pregunta recurrente que recibimos es:

  1. ¿Puedo integrar mis indicadores en un asesor?
  2. ¿Cuánto cuesta el código abierto del Asesor Experto?

No es ningún secreto que ofrecemos el código abierto de nuestro asesor a la venta. Esto está destinado a traders que desean desarrollar sus propios asesores o construir sus propias señales.

Además, los traders a menudo compran código abierto para implementar sus estrategias patentadas y revender el asesor.

  1. El código abierto del asesor The X se puede comprar en nuestro Mercado de Asesores de Trading.
  2. Código Abierto The X para MetaTrader 5 (No disponible)
  3. Código Abierto The X para MetaTrader 4 (No disponible)
  4. Por cierto, tenemos muchos códigos abiertos para nuestros asesores. Sección: Asesores de Estrategia (Código Abierto)
  5. Pruebe nuestras Plantillas de Código Abierto.
https://expforex.com/es/templates/

Programar asesores con indicadores es un proceso complejo.

Ofrecemos servicios de programación para asesores de trading. Sin embargo, el proceso de desarrollo a menudo enfrenta retrasos porque los clientes no están seguros de las funciones que requieren.

The X es una colección de bloques y funciones para operar en el mercado FOREX, utilizada a nivel mundial. Hemos desarrollado funciones que se utilizan con frecuencia, permitiendo que el asesor satisfaga el 90% de las necesidades de cada trader.

Naturalmente, existen estrategias únicas que los programadores experimentados necesitan desarrollar.

Tales estrategias son raras y requieren una preparación meticulosa. El costo de este trabajo depende de su complejidad.

El Valor Real de Nuestro Asesor

Comenzando con nuestro artículo sobre el costo del trabajo de un programador, podemos estimar el costo aproximado de nuestro robot de trading, The X:

Nuestro EA contiene más de 10,000 líneas de código. Si bien esto puede parecer extenso, es manejable porque no escribimos asesores usando PL/SQL (Lenguaje de Programación/Lenguaje de Consulta Estructurado). ¿Por qué? Porque la OOP (Programación Orientada a Objetos) no es familiar para muchos, ¡y manejar la OOP puede ser bastante desafiante!

Entonces, calculemos:

  1. El costo de 1 hora de trabajo de un programador = $20 al programar funciones y algoritmos.
  2. El costo de 1 hora de corrección de errores = $5.
  3. El costo de escribir textos y videos = $10 (Este precio se basa en las tarifas de Internet; yo mismo creo todas las instrucciones y videos).
  4. ¡Suponga que escribir funciones y bloques para The X tomó más de 1,000 horas!
  5. Programar señales usando indicadores es sencillo. ¡Por lo tanto, asumimos que nos llevó 10 horas!

Sin embargo, algunos aspectos no se pueden completar de inmediato:

  1. ¡La depuración de funciones puede llevar 1,000 horas adicionales!
  2. ¡Desarrollar instrucciones, videos y promociones también requiere 1,000 horas!

¡En total, hemos invertido más de 3,000 horas!

Si tuviéramos que encargar tal algoritmo, lo rechazaríamos. No es razonable ni rentable.

¡El costo total de tal asesor experto personalizado es de más de $35,000! ¡¡¡¡Sin embargo, nuestro asesor se vende a un precio diez veces menor!!!!

¡El costo de nuestro código abierto es DIEZ veces menor!

Tales pedidos personalizados nunca se cumplen:

  1. En primer lugar, porque los clientes no están dispuestos a invertir una cantidad tan significativa de dinero.
  2. En segundo lugar, los programadores son reacios a dedicar tanto tiempo al desarrollo.

Le aseguro que programar un robot de trading tan complejo requiere más tiempo que crear una estrategia de trading.

Depurar todos los bloques y funciones exige un tiempo prolongado.

Estamos extremadamente agradecidos a nuestros clientes que han identificado errores y proporcionado correcciones durante los últimos cinco años, así como han contribuido con sus funciones e indicadores para mejorar la funcionalidad del asesor THE X.

Programando Su Estrategia de Trading en Forex

En primer lugar, quiero mencionar que hemos actualizado el código de nuestro asesor experto. Ahora es muy fácil de entender y está bien comentado.

No necesita profundizar en cada función en detalle. Puede programar su estrategia en solo 10 pasos.

Hemos preparado un método muy fácil de usar para trabajar con nuestro código abierto.

Recuerde: No programamos estrategias para el asesor de forma gratuita. Si desea desarrollar código para su estrategia, ¡consulte la sección de Programación para realizar un pedido!

Primeros Pasos:

  1. Abra el código abierto del asesor que compró en nuestro Mercado de Asesores;
  2. Presione Ctrl + F para activar la barra de búsqueda;
  3. Ingrese el término Step – Esta palabra clave le ayudará a navegar por nuestro código fuente y escribir rápidamente su estrategia.
  4. Función de Búsqueda en el Código Fuente
  5. Cada paso está bien comentado y proporciona un ejemplo.
  6. Para aprender a programar su estrategia, puede descomentar gradualmente las líneas marcadas con un asterisco // *.

En total, hay 10 pasos en el código abierto para que el asesor trabaje con sus indicadores.

Interfaz del Constructor de Estrategias

¡Analizaremos cada paso en detalle!

Dado que la programación difiere entre los terminales MT4 y MT5, dividiremos nuestro artículo en dos partes:

Si está utilizando el asesor THE X para el terminal MT4, puede proceder directamente a la sección de Programación para The X en el terminal MetaTrader 4.

Programando THE X para MetaTrader 5

Debe comprender las reglas básicas de programación para desarrollar su estrategia o agregar una estrategia ya hecha usando indicadores de archivos existentes (por ejemplo, Asesores Expertos de Internet).

Programar asesores para MetaTrader 5 es más complejo que para MetaTrader 4. Sin embargo, el terminal MT5 permite la creación de estrategias más potentes y cuenta con un probador de estrategias más avanzado.

En cualquier caso, debe comprar el código abierto en el que operará el terminal.

MetaTrader 5 Paso 0: ¡Cargando Indicadores en los Recursos!

// Paso 0 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Para incrustar el indicador en el Asesor Experto durante la compilación, debe cargarlo en los recursos del Asesor Experto
//
// Por ejemplo:
// * #resource "\\Indicators\\Examples\\MACD.ex5"
// ################################################ ###########################

Aquí, debemos agregar los indicadores requeridos por nosotros a los recursos.

Esto asegura que el asesor pueda ser compilado para el mercado y previene problemas innecesarios donde el asesor compilado no puede localizar el indicador deseado en otra computadora.

Reglas para Nombrar en el Mercado: ¡Use los nombres completos de las carpetas, comenzando con Indicators!

La carpeta se denota con \\.

Por ejemplo:

Si la ruta a su indicador es:

C:\ROBO MT5\MQL5\Indicators\Examples\MACD.ex5

Entonces, la ruta a este indicador en el lenguaje de programación se escribe como:

“\\Indicators\\Examples\\MACD.ex5”

MetaTrader 5 Paso 1: ¡Especifique el Nombre de la Señal!

// Paso 1 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Ingrese el nombre de su señal después de //
// ################################################ ####################
// Por ejemplo:
// * Custom = 77, // Señal para código abierto
// ################################################ ############################

En este paso, debemos agregar nuestra señal o estrategia a la lista de señales posibles en el Asesor Experto.

Esto facilita la gestión conveniente de las señales durante la fase de configuración del experto.

Especificando el Nombre de la Señal en el Código

Por ejemplo:

  1. Quiere nombrar su estrategia MY STRATEGY (MI ESTRATEGIA)
  2. El número de la estrategia también debe ser único. ¡Las señales de los indicadores estándar ocupan los primeros 22 números! Recuerde este número ya que lo necesitaremos más adelante.
  3. El nombre también debe ser único. Por ejemplo, MYSTRATEGY1

Al final, deberíamos escribir en el código lo siguiente:

MYSTRATEGY1 = 77, // MY STRATEGY

También puede agregar más estrategias y escribir, por ejemplo:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 5 Paso 2: ¡Especifique el Nombre de Visualización de la Señal!

// Paso 2 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Ingrese el nombre de su señal, que se mostrará en la pantalla después de //
// ################################################ ####################
// Por ejemplo:
// * if (i == 77) s1 = "Custom";
// ################################################ ###########################

Este paso es para mostrar el nombre de su estrategia en nuestro panel EAPADpro EA.

¡Es sencillo! Sin embargo, debe usar los números del paso anterior.

Mostrando el Nombre de la Señal

Por ejemplo:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 5 Paso 3: ¡Especifique el Nombre del Filtro!

// Paso 3 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Ingrese el nombre de su filtro después de //
// ################################################ ####################
// Por ejemplo:
// * FILTERCustom = 77, // Filtro para código abierto
// ################################################ ###########################

En este paso, necesitamos agregar nuestro filtro a la lista de filtros posibles en el Asesor Experto.

Esto asegura una gestión conveniente de los filtros durante la fase de configuración del experto.

Típicamente, el Filtro usa el mismo indicador que la Señal, pero con la condición de que el Filtro determina la posición actual de la Señal, y la Señal refleja la señal real.

Por ejemplo:

  1. ¿Quiere nombrar su Filtro MY FILTER (MI FILTRO)?
  2. El número del filtro también debe coincidir con el número de la estrategia (Esto previene confusión con otras cifras en el futuro). ¡Los filtros ocupan los primeros 22 números de los indicadores estándar! Recuerde este número ya que lo necesitaremos más adelante.
  3. El nombre también debe ser único. Por ejemplo, MYFILTER1

Al final, deberíamos escribir en el código lo siguiente:

MYFILTER1 = 77, // MY FILTER

También puede agregar más filtros y escribir, por ejemplo:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 5 Paso 4: ¡Especifique los Parámetros del Indicador o Estrategia en Variables Externas!

// Paso 4 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Especifique todas las variables externas de su indicador o indicadores que se usarán en su estrategia
//
// Por ejemplo:
// * input string IndicatorName = "-------- Custom Indicator ----------------";
// * input int CUSTOMMAFastPeriod = 1;
// * input int CUSTOMMASlowPeriod = 100;
// * input ENUM_APPLIED_PRICE CUSTOMMAprice = PRICE_CLOSE;
// ################################################ ###########################

En este paso, debe ingresar todas las configuraciones externas de los indicadores en su estrategia, que pueden modificarse desde el Asesor Experto. Esto es útil para fines de optimización.

Además, puede extraer parámetros específicos de la estrategia aquí. Por ejemplo, los niveles donde se cruzan las líneas, limitando la operación del indicador a los precios MAX y MIN en el gráfico, etc.

No necesita ingresar todos los parámetros para los indicadores. Es suficiente con hacer aquellos que quizás quiera cambiar en el futuro desde la configuración del Asesor Experto. Todos los demás parámetros se pueden establecer en sus valores predeterminados.

Especificando Parámetros del Indicador

MetaTrader 5 Paso 5: ¡Cree Handles (Manejadores) de Indicador para Cargar en el Asesor Experto!

// Paso 5 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Cree una entrada en el array para que el Asesor Experto pueda asignar el handle del indicador durante la inicialización
//
// Por ejemplo:
// * case 77:
// * h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
// * if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
// * {
// *     PrintToLogs("Could not get MACD indicator handle");
// *     return(INIT_FAILED);
// * }
// ################################################ ###########################

Este paso asegura que nuestros indicadores se carguen una vez durante la inicialización del Asesor Experto. En MetaTrader 5, no hay necesidad de cargar constantemente el indicador en el gráfico.

Al crear un handle, almacenamos el handle de un indicador ya abierto para uso futuro.

Tenga mucho cuidado aquí. Al crear un handle, debe especificar todas las variables externas del indicador y usar el nombre correcto. De lo contrario, el Asesor Experto no podrá cargar el indicador.

Recuerde que cargamos el indicador en los recursos del Asesor Experto. ¡Por lo tanto, llamaremos al indicador desde los recursos!

Puede consultar la documentación de MQL5 sobre cómo llamar indicadores usando iCustom.

También se requiere un número de estrategia para escribir este código. Si su estrategia usa múltiples indicadores, debe especificar cada indicador con el mismo número. Esto asegura que el asesor cargue su estrategia correctamente.

Según nuestros ejemplos anteriores, debemos hacer lo siguiente:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

Aquí, especifiqué explícitamente solo dos parámetros externos. ¡Reemplacé el parámetro de este Indicador, InpSignalSMA, con un número predeterminado para demostrar la esencia de la programación!

Del mismo modo, puede agregar múltiples indicadores y handles.

Si la estrategia utiliza varios indicadores, debe declarar cada uno.

Por ejemplo:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
h_custom2[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 15, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE || h_custom2[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

¡Además, para otras estrategias que desee integrar en el Asesor Experto!

MetaTrader 5 Paso 6: ¡Declare Variables para Cargar el/los Indicador(es) de la Estrategia!

// Paso 6 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Declare las variables del array de handles
//
// Por ejemplo:
// * int h_custom[6][12];
// * int h_custom2[6][12];
// ################################################ ###########################

¡Aquí, especificamos los nombres de nuestros handles que se crearon anteriormente!

Es sencillo.

¡Los handles se crean como arrays para admitir múltiples divisas en el EA y para permitir especificar hasta seis señales o filtros simultáneamente!

MetaTrader 5 Paso 7: ¡Declare Variables para Almacenar Datos del Indicador!

// Paso 7 ##############################################
// Esta parte del código es para programar su estrategia en código abierto
//
// Declare las variables del array para los valores del indicador
//
// Por ejemplo:
// * double custom1_buffer[];
// * double custom2_buffer[];
// ################################################ ###########################

¡Aquí, especificamos los nombres de nuestros búferes de datos!

Es sencillo.

Estos arrays almacenarán datos sobre los valores del indicador para cada barra. Si necesita usar múltiples búferes, puede declarar varias variables.

En nuestro caso, por ejemplo, necesitamos dos búferes para la línea de señal y la línea principal del indicador MACD.

Declarando Variables de Datos del Indicador

MetaTrader 5 Paso 8: ¡Cree Estrategias y Señales para Abrir Posiciones!

Este paso es crucial para el Asesor Experto. Si bien todos los demás pasos son obligatorios, sin este paso, el asesor no funcionará.

¡He incluido comentarios en el código para explicar cada parte!

¡El número de la estrategia debe coincidir con el utilizado en los pasos anteriores!

  1. Programe el código para cada estrategia y señal individualmente. Depende de la estrategia y los indicadores elegidos. Manejar búferes para estrategias implica…
  2. Tenga en cuenta que en este bloque, puede especificar cualquier estrategia.
  3. Todos los indicadores declarados en los handles se cargarán en la memoria y se usarán para construir la estrategia.
Creando Estrategias y Señales

Este paso se puede dividir en tres sub-pasos:

  1. 1. Necesitamos copiar los búferes de datos a nuestros conjuntos de datos. En los parámetros de copia, debemos especificar los números de línea (En nuestro caso, estas son las líneas del indicador MACD).
  2. Usamos dos líneas: MAIN (Principal) y SIGNAL (Señal).
  3. Puede leer la documentación sobre la función CopyBuffer.
  4. 2. Programación de la estrategia. En este caso, es la intersección de dos líneas.
  5. Importante: La señal para COMPRAR (BUY) es 1, y para VENDER (SELL), es -1.
  6. 3. Aquí, registramos la información que se mostrará en el registro cuando se abra una posición basada en la señal. Información de la Estrategia.

Si ha rellenado correctamente todos los handles y búferes, debería aparecer lo siguiente en la pantalla:

Alert(“¡Felicidades, ha completado una lección que demuestra la programación de su estrategia!”);
Alert(“¡Felicidades! ¡Ha completado una lección que demuestra la programación de su estrategia!”);
Si recibe un mensaje de error, debe identificar y resolver la causa de este error.

Códigos de Error

Errores más comunes:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Símbolo desconocido
ERR_INDICATOR_CANNOT_CREATE 4802 No se puede crear el indicador
ERR_INDICATOR_NO_MEMORY 4803 Memoria insuficiente para añadir un indicador
ERR_INDICATOR_CANNOT_APPLY 4804 No se puede aplicar el indicador a otro indicador
ERR_INDICATOR_CANNOT_ADD 4805 Error al añadir el indicador
ERR_INDICATOR_DATA_NOT_FOUND 4806 No se encontraron los datos solicitados
ERR_INDICATOR_WRONG_HANDLE 4807 Handle de indicador incorrecto
ERR_INDICATOR_WRONG_PARAMETERS 4808 Número incorrecto de parámetros al crear un indicador
ERR_INDICATOR_PARAMETERS_MISSING 4809 Faltan parámetros al crear el indicador
ERR_INDICATOR_CUSTOM_NAME 4810 El primer parámetro en el array debe ser el nombre del indicador personalizado
ERR_INDICATOR_PARAMETER_TYPE 4811 Tipo de parámetro incorrecto en el array al crear el indicador
ERR_INDICATOR_WRONG_INDEX 4812 Índice no válido del búfer de indicador solicitado

MetaTrader 5 Paso 9: ¡Especifique Filtros de Sus Indicadores o Use Su Indicador como Filtro para la Estrategia!

El código de programación en este paso es sencillo y similar al paso anterior.

La única diferencia es que en esta etapa, usted programa sus indicadores como un Filtro.

¡No puede especificar señales usando el indicador, sino solo especificar el filtro, o viceversa! Todo depende de la estrategia.

 

MetaTrader 5 Paso 10: ¡Este es el paso final!

// Paso 10 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// Este es el final de nuestro código. Si ha llegado a este paso, entonces ha creado su estrategia. 
// Por ejemplo, ingresé una estrategia secreta. ¡Si hizo todo correctamente, recibirá el resultado en forma de alerta en la pantalla! 
// Gracias por elegir nuestro producto. ¡Estamos trabajando para usted! 
// 
// Nuestro sitio web: 
// Nuestra tienda: /shop 
// Tienda MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Este es el final de nuestro código. Si ha llegado a este paso, entonces ha creado su estrategia. 
// Por ejemplo, ingresé una estrategia secreta. ¡Si hizo todo correctamente, recibirá el resultado en forma de alerta en la pantalla! 
// Gracias por elegir nuestro producto. ¡Estamos trabajando para usted! 
// 
// Nuestro sitio web: 
// Nuestra tienda: /shop 
// Tienda MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Esto indica que la programación de su estrategia está completa.

¡Buena suerte y ganancias para usted!

MetaTrader 5 Conclusiones y Verificación de la Estrategia

Si hace todo correctamente, su estrategia se integrará en el Asesor Experto, y podrá operar usando mi asesor.

Ahora, necesitamos probar nuestro asesor y estrategia.

  1. Cargue el terminal;
  2. Abra una cuenta demo;
  3. Adjunte el Asesor Experto al gráfico;
  4. Si todo está OK, recibirá un mensaje sobre la adición exitosa de la estrategia:
    • Mensaje de adición de estrategia exitosa
  5. O recibirá un error. ¡En ese caso, necesita revisar cuidadosamente su código y repetir todos los pasos!

Comprobando el Asesor Experto en el Probador de Estrategias:

  1. Abra el terminal;
  2. Abra el Probador de Estrategias;
  3. Elija su Asesor Experto, par de divisas, marco de tiempo, y rango de fechas. Habilite la prueba Cada Tick basada en ticks reales;
    • Captura de pantalla de configuración del Probador de Estrategias
  4. Abra la pestaña Configuración;
    • Captura de pantalla de la pestaña Configuración
  5. Seleccione su estrategia;
  6. Habilite la Visualización;
  7. Presione INICIAR;
  8. Debería abrirse un gráfico;
  9. ¡Si el Asesor Experto abre posiciones, hizo todo correctamente!
    • Asesor Experto abriendo posiciones

Programando THE X para MetaTrader 4

Debe entender las reglas básicas de programación para escribir su estrategia o agregar una estrategia ya hecha para indicadores de un archivo existente (por ejemplo, Asesores Expertos de Internet).

Programar Asesores Expertos para MetaTrader 5 es más complejo que para MetaTrader 4. Sin embargo, el terminal MT5 le permite crear estrategias más potentes y cuenta con un Probador de Estrategias más avanzado.

Por otro lado, hay numerosas estrategias e indicadores disponibles para el terminal MetaTrader 4 en línea. ¡Por lo tanto, puede usar el código para MT4!

Otro recordatorio importante: ¡Codificar una estrategia en MT4 es mucho más fácil que codificar en MT5!

En cualquier caso, debe comprar el código abierto basado en el terminal con el que trabajará.

MetaTrader 4 Paso 0: Cargando Indicadores en los Recursos

// Paso 0 ############################################## ######################
    // Esta parte del código para programar su estrategia en código abierto
    // Esta parte del código para programar su estrategia en código abierto
    //
    // Para incrustar el indicador en el Asesor Experto durante la compilación, debe cargarlo en los recursos del Asesor Experto
    // Para incrustar el indicador en el Asesor Experto durante la compilación, debe cargarlo en los recursos del Asesor Experto
    // ################################################ ####################
    // por ejemplo:
    // * #resource "\\ Indicators \\ MACD.ex4"
    // ################################################ ###########################
    

Aquí, debemos agregar los indicadores requeridos por nosotros a los recursos.

¡Esto nos permitirá compilar un asesor para el mercado y prevenir problemas innecesarios cuando el Asesor Experto compilado no pueda encontrar el indicador deseado en otra computadora!

Reglas para escribir la ruta del indicador: ¡Use los nombres completos de las carpetas, comenzando con Indicators!

La carpeta se indica con \\

Por ejemplo:

Si la ruta a su indicador se ve así:

C:\ROBO MT4\MQL4\Indicators\Examples\MACD.ex4

Entonces, la ruta a este indicador en el lenguaje de programación se escribe así:

“\\Indicators\\Examples\\MACD.ex4”

MetaTrader 4 Paso 1: Especifique el Nombre de la Señal

// Paso 1 ############################################## ###################### 
    // Esta parte del código para programar su estrategia en código abierto 
    // Esta parte del código para programar su estrategia en código abierto 
    // 
    // Ingrese el nombre de su señal después de // 
    // Ingrese el nombre de su señal después de // 
    // ################################################ #################### 
    // por ejemplo: 
    // * Custom = 77, // Señal para código abierto 
    // ################################################ ############################

En este paso, debemos agregar nuestra Señal o estrategia a la lista de señales posibles en el asesor.

Esto permite una gestión conveniente de las señales durante la fase de configuración del Asesor Experto.

Ejemplo de nombre de señal

Por ejemplo:

  1. Quiere nombrar su estrategia MY STRATEGY
  2. El número de la estrategia también debe ser único. ¡Las señales de los indicadores estándar ocupan los primeros 22 números! Recuerde este número para referencia futura.
  3. El nombre también debe ser único. Por ejemplo, MYSTRATEGY1

Al final, debe escribir en el código así:

MYSTRATEGY1 = 77, // MY STRATEGY

También puede agregar más estrategias y escribir, por ejemplo, así:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 4 Paso 2: Especifique el Nombre de la Señal para Mostrar en Pantalla

// Paso 2 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// Ingrese el nombre de su señal, que se mostrará en la pantalla, después de // 
// Ingrese el nombre de su señal, que se mostrará en la pantalla, después de // 
// ################################################ #################### 
// por ejemplo: 
// * if (i == 77) s1 = "Custom"; 
// ################################################ ###########################

Este paso sirve para mostrar el nombre de su estrategia en nuestro panel EApadpro EA.

¡No hay nada complicado! Pero debe usar los números del paso anterior.

Ejemplo de visualización del nombre de la señal

Por ejemplo:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 4 Paso 3: Especifique el Nombre del Filtro

// Paso 3 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// Ingrese el nombre de su filtro después de // 
// Ingrese el nombre de su filtro después de // 
// ################################################ #################### 
// por ejemplo: 
// * FILTERCustom = 77, // Filtro para código abierto 
// ################################################ ###########################

En este paso, necesitamos agregar nuestro Filtro a la lista de filtros posibles en el Asesor Experto.

Esto permite una gestión conveniente de los filtros durante la fase de configuración del Asesor Experto.

Por lo general, el Filtro usa el mismo indicador que la Señal, con la condición de que el Filtro determina la posición actual de la Señal, y la Señal confirma la acción de trading.

Ejemplos de diferencias entre filtros y señales

Por ejemplo:

  1. ¿Quiere nombrar su Filtro MYFILTER?
  2. El número del filtro también debe coincidir con el número de la estrategia (Esto se hace para evitar confusión con los números de indicadores estándar en el futuro). ¡Los filtros ocupan los primeros 22 números reservados para indicadores estándar! Recuerde este número para referencia futura.
  3. El nombre también debe ser único. Por ejemplo, MYFILTER1

Al final, debe escribir en el código así:

MYFILTER1 = 77, // MY FILTER

También puede agregar más filtros y escribir, por ejemplo, así:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 4 Paso 4: Especifique Parámetros de Indicador o Estrategia en Variables Externas

// Paso 4 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// Especifique todas las variables externas de su indicador o indicadores que se usarán en su estrategia 
// Especifique todas las variables externas de su indicador o indicadores que se usarán en su estrategia 
// ################################################ #################### 
// por ejemplo: 
// * input string IndicatorName = "-------- Custom Indicator ----------------"; 
// * input int CUSTOMMAFastPeriod = 1; 
// * input int CUSTOMMASlowPeriod = 100; 
// ################################################ ###########################

En este paso, debe ingresar todas las configuraciones externas de los indicadores utilizados en su estrategia, que se pueden cambiar desde el Asesor Experto. Esto es útil para la optimización.

Además, puede extraer parámetros específicos de la estrategia, como los niveles de intersección de líneas, la limitación de la operación del indicador basada en los precios MÁX y MÍN en el gráfico, etc.

No necesita ingresar todos los parámetros para los indicadores. Es suficiente incluir aquellos que quizás quiera cambiar en el futuro desde la configuración del Asesor Experto. Para todos los demás parámetros, puede dejar el indicador con sus configuraciones predeterminadas.

Ejemplo de configuración de variables externas

MetaTrader 4 Pasos 5, 6, 7: ¡Relájese!

// Paso 5 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// El Paso 5 solo es necesario para el terminal MT5. Así que en este paso, puede relajarse y tomar un café 
// El Paso 5 solo es necesario para el terminal MT5. Así que en este paso, puede relajarse y tomar un café 
// ################################################ ###########################
    
// Paso 6 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// El Paso 6 solo es necesario para el terminal MT5. Así que en este paso, puede relajarse y tomar un refrigerio 
// El Paso 6 solo es necesario para el terminal MT5. Así que en este paso, puede relajarse y tomar un refrigerio 
// ################################################ ###########################
    
// Paso 7 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// El Paso 7 solo es necesario para el terminal MT5. Tómese un descanso para hacer ejercicio 
// El Paso 7 solo es necesario para el terminal MT5. Tómese un descanso para hacer ejercicio 
// ################################################ ###########################

Nota: MetaTrader 4 no requiere cargar indicadores en la memoria para trabajos posteriores. Cuando el indicador se llama de nuevo en MT4, el Asesor Experto utiliza el mismo handle.

MetaTrader 4 Paso 8: Creando Estrategias y Señales para Abrir Posiciones

Este paso es muy importante para el Asesor Experto. Aunque todos los demás pasos son obligatorios, sin este paso, el asesor no funcionará.

¡He agregado comentarios en el código!

¡El número de la estrategia coincide con el de los pasos anteriores!

  1. Código de programación para estrategia y señal individualmente. Depende de la estrategia e indicadores elegidos. Configuración de búferes de estrategia…
  2. Quiero señalar que en este bloque, puede especificar cualquier estrategia.
  3. Todos los indicadores que declaramos en los handles se cargarán en la memoria y se usarán para construir la estrategia.
Ejemplo de búferes de estrategia

Este paso se puede dividir en 2 sub-pasos:

  1. 1. Programación de la estrategia. En este caso, es la intersección de dos líneas.
  2. Importante: La Señal para COMPRAR (BUY) es 1, y para VENDER (SELL), es -1.
  3. 2. Registre la información que se mostrará en el registro cuando se abra una posición. Información de la Estrategia

Si recibe un mensaje de error, debe identificar la causa del error.

Códigos de Error

Errores más comunes:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Símbolo desconocido
ERR_INDICATOR_CANNOT_CREATE 4802 No se puede crear el indicador
ERR_INDICATOR_NO_MEMORY 4803 Memoria insuficiente para añadir un indicador
ERR_INDICATOR_CANNOT_APPLY 4804 No se puede aplicar el indicador a otro indicador
ERR_INDICATOR_CANNOT_ADD 4805 Error al añadir el indicador
ERR_INDICATOR_DATA_NOT_FOUND 4806 No se encontraron los datos solicitados
ERR_INDICATOR_WRONG_HANDLE 4807 Handle de indicador incorrecto
ERR_INDICATOR_WRONG_PARAMETERS 4808 Número incorrecto de parámetros al crear un indicador
ERR_INDICATOR_PARAMETERS_MISSING 4809 Faltan parámetros al crear el indicador
ERR_INDICATOR_CUSTOM_NAME 4810 El primer parámetro en el array debe ser el nombre del indicador personalizado
ERR_INDICATOR_PARAMETER_TYPE 4811 Tipo de parámetro incorrecto en el array al crear el indicador
ERR_INDICATOR_WRONG_INDEX 4812 Índice no válido del búfer de indicador solicitado

MetaTrader 4 Paso 9: Especifique Filtros de Sus Indicadores o Use Su Indicador como Filtro para la Estrategia

En la programación del código de este paso, no hay nada complicado, y es similar al paso anterior.

La única diferencia es que en esta etapa, usted programa sus indicadores como un Filtro.

¡No puede especificar señales usando el indicador, sino solo especificar el filtro, o viceversa! Todo depende de la estrategia.

 

MetaTrader 4 Paso 10: ¡Este es el Paso Final!

// Paso 10 ############################################## ###################### 
// Esta parte del código para programar su estrategia en código abierto 
// Esta parte del código para programar su estrategia en código abierto 
// 
// Este es el final de nuestro código. Si ha llegado a este paso, entonces ha creado su estrategia. 
// Por ejemplo, ingresé una estrategia secreta. ¡Si hizo todo correctamente, recibirá el resultado en forma de alerta en la pantalla! 
// Gracias por elegir nuestro producto. ¡Estamos trabajando para usted! 
// 
// Nuestro sitio web: 
// Nuestra tienda: /shop 
// Tienda MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Este es el final de nuestro código. Si ha llegado a este paso, entonces ha creado su estrategia. 
// Por ejemplo, ingresé una estrategia secreta. ¡Si hizo todo correctamente, recibirá el resultado en forma de alerta en la pantalla! 
// Gracias por elegir nuestro producto. ¡Estamos trabajando para usted! 
// 
// Nuestro sitio web: 
// Nuestra tienda: /shop 
// Tienda MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Este paso fue creado para que no se pierda al usar la búsqueda.

Esto indica que la programación de su estrategia está completa.

¡Buena suerte y ganancias para usted!

MetaTrader 4 Conclusiones y Verificación de la Estrategia

Si hace todo correctamente, su estrategia se integrará en el Asesor Experto, y podrá operar usando mi asesor.

Ahora, necesitamos probar nuestro asesor y estrategia.

  1. Cargue el terminal;
  2. Abra una cuenta demo;
  3. Adjunte el Asesor Experto al gráfico;

Comprobando el Asesor Experto en el Probador de Estrategias:

  1. Abra el terminal;
  2. Abra el Probador de Estrategias;
  3. Elija su Asesor Experto, par de divisas, marco de tiempo, y rango de fechas. Habilite la prueba Cada Tick basada en ticks reales;
    • Captura de pantalla de selección del Probador de Estrategias
  4. Abra la pestaña Configuración;
    • Captura de pantalla de la pestaña de configuración del Probador de Estrategias
  5. Seleccione su estrategia;
  6. Habilite la Visualización;
  7. Presione INICIAR;
  8. Debería abrirse un gráfico;
  9. ¡Si el Asesor Experto abre posiciones, entonces hizo todo correctamente!
    • Captura de pantalla de posiciones abiertas por el Asesor Experto

¿Qué Más Se Puede Cambiar en el Asesor Experto?

¡Por supuesto, es posible que desee personalizar su estrategia y darle a nuestro asesor una apariencia única!

Parámetros que puede cambiar a su discreción:

 // Cambio 1: Versión del Asesor Experto // Versión del EA
#define versionea "18.008" 
// Cambio 2: Logo del Asesor // LOGO del EA
#define BMPLOGO "Images\\dollar.bmp"
// Cambio 3: Icono del Asesor Experto // Icono del EA
// #property icon "\\Images\\dollar.bmp"
// Cambio 4: Nombre del Asesor Experto en el gráfico // Nombre del EA en el Gráfico
#define defEANAME "EXP-The X (OS)"
// Cambio 5: Enlace a la instrucción completa // Enlace a la instrucción completa
#define linkTOfull "www.expforex.com/es/publ/4-1-0-166" 
// Cambio 6: Versión demo del Asesor Experto. Funciona solo en una cuenta demo o en una cuenta real con el par USDJPY // Versión demo del asesor. Funciona solo en una cuenta demo o en una cuenta real con el par USDJPY
bool DEMO = false;
    

¡Se recomienda no cambiar todos los demás parámetros, ya que esto puede interrumpir la funcionalidad del Asesor Experto!

Depurando una Estrategia

El siguiente paso es probar y optimizar The X y encontrar sus mejores configuraciones.

Alternativamente, depure y actualice su estrategia.

A veces, toma días o semanas. A veces, incluso meses.

Mercado Forex – ¡Notificaciones de Riesgo! Esta es una forma muy arriesgada de ganar. Mejore su estrategia.

¡Buena suerte y ganancias!

Mostrando Información Adicional en el Bloque de Estrategia

Esta es una característica opcional en nuestro código abierto.

Puede mostrar cualquier valor de cualquier parámetro en el bloque EAPADPRO Strategy.

1. Para hacer esto, cree una variable local,

ej., double EAPADPRO_StrategyValue1 = 0; double EAPADPRO_StrategyValue2 = 0;

2. Asigne un valor a esta variable,

por ejemplo, asigne el valor del indicador ATR (encuentre la línea double atr = iATR):

EAPADPRO_StrategyValue1 = atr;
EAPADPRO_StrategyValue2 = atrma;

Código completo del filtro:

3. A continuación, agregue el valor de la variable al bloque de salida de información:

Encuentre la función CreateStrategy() en el código y agregue una nueva línea:

ArrayAddStrategy("StrategyValue1", DoubleToString(EAPADPRO_StrategyValue1, 5), "", "");
    
ArrayAddStrategy("StrategyValue2", DoubleToString(EAPADPRO_StrategyValue2, 5), "", "");

El primer parámetro de la función es el nombre de la variable.

¡El segundo parámetro de la función es el valor de la variable en un formato conveniente!

¡Atención! ¡Agregue un número par de parámetros para asegurar una visualización ordenada en la pantalla!

Esta publicación también está disponible en: English Portuguese Español Deutsch Українська Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt




    Por favor, espera, contactando con IA...

     

    Advertencia de riesgo:


    Los resultados comerciales pasados no garantizan resultados futuros.

    La negociación de divisas con margen conlleva un alto grado de riesgo y puede no ser adecuada para todos los inversores.

    Ten en cuenta que utilizar robots de negociación implica un riesgo considerable, y podrías perder más que tu inversión inicial.

    Por favor, procede con cautela, evalúa cuidadosamente tu situación financiera y considera la posibilidad de pedir consejo a un profesional cualificado.

    Descargo de responsabilidad

    Este sitio web utiliza cookies para mejorar su experiencia. Al usar este sitio web, usted acepta nuestra Política de Protección de Datos y Descargo de Responsabilidad.
    Leer más