Hace tiempo que tengo que lidiar con la necesidad de trabajar con muchos parámetros de configuración. Siempre que es posible, resuelvo este problema creando un cuadro de diálogo especial a través de una DLL en la que los parámetros están tabulados. Después de la inicialización esta ventana se oculta y entonces el programa se ejecuta como de costumbre.
Ojalá fuera algo así en MQL, para no tener que buscar en una enorme lista de parámetros. La propia idea de cómo aplicarla es interesante. Sólo la sintaxis debe ser ligeramente diferente:
input struct VolumeParams // Здесь название вкладки { // Содержимое вкладки double Lot1 = 0.01; double Lot2 = 0.02; double LotRatio = 1.5; };
Hace tiempo que tengo que lidiar con la necesidad de trabajar con muchos parámetros de configuración. Siempre que es posible, resuelvo este problema creando un cuadro de diálogo especial a través de una DLL en la que los parámetros están tabulados. Después de la inicialización esta ventana se oculta y entonces el programa se ejecuta como de costumbre.
Ojalá fuera algo así en MQL, para no tener que buscar en una enorme lista de parámetros. La propia idea de cómo aplicarla es interesante. Sólo la sintaxis debe ser ligeramente diferente:
Cierto, es más corto ) y con dll no funcionará en Market, por desgracia.
y el uso del cuadro de diálogo no le permitirá optimizar los parámetros en el probador
entonces es mejor así:
struct VolumeParams { double lot; //название параметра double LotRatio; //название параметра int tp; //название параметра int sl; //название параметра int orders; //название параметра }; VolumeParams ParamBuf[5]; input ParamBuf[0]; // Здесь название вкладки input ParamBuf[1]; // Здесь название вкладки input ParamBuf[2]; // Здесь название вкладки input ParamBuf[3]; // Здесь название вкладки input ParamBuf[4]; // Здесь название вкладки
En mi opinión, una gran idea, coherente con el concepto de OOP. Hasta ahora veo 2 opciones:
1) EstiloFrameInputs.
parameters
[out] Matriz de cadenas con la descripción de los nombres y valores de los parámetros
conteo_de_parámetros
[out] El número de elementos de la matrizparameters[].
2) En el estiloMqlParams.
Siempre utilizo el primer enfoque.
Cuando un Asesor Experto se coloca en una operación (ya sea en una cuenta demo o en una cuenta real) - los parámetros son fijos - y sólo un parámetro - el porcentaje de riesgo - se pasa a la clase del Asesor Experto. Todos los demás parámetros se escriben en la misma estructura y se definen dentro del Asesor Experto, ya sea en el constructor o en una función especial.
Me refiero al enfoque de "Asesor experto en una clase". Hay un problema al pasar los parámetros de entrada al Asesor Experto cuya clase se encuentra en un archivo .mqh separado.
No sentí el problema. Prescribir una plantilla en el constructor de la clase y ya está.
No sentí el problema. Hay que prescribir una plantilla en el constructor de la clase y ya está.
bueno, no te has comunicado con los clientes)
...aquí el cliente quiere 10 entradas, y cada paso tiene su propio tp/sl/lot/trall/señal a introducir
y que todo esto está optimizado en el probador)
¿Cómo se relaciona esto con el tema del hilo?
La discusión en sí se ha desviado ligeramente del título del hilo. Ahora se trata más bien de la segunda parte del post de TC:
¿Y si hacemos una extensión del lenguaje MQL y ponemos variables de entrada en la estructura? De todos modos, no es compatible con C++ y C, debido a la imitación de punteros. Entonces, ¿por qué no ir más allá?
Entonces podrías pasar la variable ivars a la clase de algoritmo, copiar, etc.
¿Cómo se relaciona esto con el tema del hilo?
Así es, para escribir todo este montón de parámetros, bastaría con definir la estructura y ponerla en los parámetros de entrada.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Me refiero al enfoque de EA en la clase. Hay un problema al pasar parámetros de entrada a un EA cuya clase está en un archivo .mqh separado. Utilizo dos métodos
¿Y si hacemos una extensión MQL y ponemos variables de entrada en la estructura? De todos modos, no es compatible con C++ y C, por la imitación de los punteros. Entonces, ¿por qué no ir más allá?
Luego se podría pasar la variable ivars a la clase de algoritmo, copiar, etc.
Lleva la idea a un nivel de brainstorming ))