¿Por qué no poner los parámetros de entrada en la estructura? - página 7

 
Dmitry Fedoseev:

¿Tal vez sea porque el primer puesto no lo dice bien? Por eso cada uno escribe sobre sus cosas. Y no se pueden hacer preguntas: la respuesta es la ignorancia o la histeria.


¿De quién?

 

No, no, no te hagas el remolón. La pregunta era: ¿cómo no mostrar los parámetros de entrada de un EA cuando un usuario lo adjunta a un gráfico existente? No a través de plantillas.

Por cierto, no está claro por qué esta solución requiere la creación de un nuevo gráfico.

P. S. Y en esta línea hay una "errata":

  Params[0].string_value = "Experts\\Advisors\E xpertMACD.ex5";
 
Ihor Herasko:

No, no, no hagas trampa. La pregunta era: ¿cómo no mostrar los parámetros de entrada del EA al adjuntarlo a un gráfico existente por el usuario? No a través de plantillas.

El usuario ejecuta Expert_loader como si fuera un Asesor Experto.

Por cierto, no está claro por qué esta solución requiere la creación de un nuevo gráfico.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Bibliotecas: Experto

fxsaber, 2017.09.08 14:45

Si además necesitas ejecutar un EA en el mismo gráfico donde se lanza el script, entonces tienes que abrir un nuevo gráfico y ejecutarte (el script) en él a través de una plantilla, y desde ahí ejecutar el EA en el gráfico que necesitamos, habiendo cerrado el auxiliar. Esto lo hace ExpertLoader_Example.mq5.

En el nuevo gráfico es bastante sencillo
// Запуск советника с заданными входными параметрами
#include <fxsaber\Expert.mqh>

void OnStart()
{
  MqlParam Params[2];
  
  // Путь к советнику
  Params[0].string_value = "Experts\\Advisors\\ExpertMACD.ex5";

  // Первый входной параметр советника
  Params[1].type = TYPE_STRING;
  Params[1].string_value = "Hello World!";

  // На новом чарте запускаем советник
  EXPERT::Run(ChartOpen(_Symbol, _Period), Params);
}

P. S. Hay una errata en esta línea:

Gracias, hay un error en la descripción. Los archivos MQL están bien.