Preguntas de un "tonto" - página 155

 
input string Periods = "1 2 3 56 78 67";
 
TheXpert:
Interesante. Pero me gustaría poder optimizar los períodos desde el probador.
 
gpwr:
Interesante. Pero me gustaría poder optimizar los períodos.
La optimización se haría mejor en cada instrumento por separado. Si es posible, por supuesto.
 
gpwr:
Interesante. Pero estaría bien poder optimizar los periodos desde el probador.

Entonces tienes que escribir un enum, con todas las opciones posibles.

Los enums pueden ser comentados y los parámetros mostrarán los comentarios en lugar del valor del enum, como es habitual.

enum ENUM_CUSTOM
{
 tf1_1_1,//1 1 1
 tf1_2_1,//1 2 1
 tf1_2_3,//1 2 3
 tf2_1_1,//2 1 1 
};

En el caso de los enums grandes, el cuerpo se puede rellenar mediante programación.

 
Urain:

Entonces tienes que escribir una enumeración, con todas las posibilidades.

No, eso es torpe y contundente.

Podemos hacerlo de la misma manera, con una cadena y sólo el número de la carrera como un parámetro separado. Podríamos utilizar el número de la ejecución y la cadena de optimización para obtener los valores.

Pero en este caso la genética no funcionará correctamente.

 
TheXpert:
La optimización sería más adecuada en cada instrumento por separado. Si es posible, por supuesto.
Es comprensible. En el probador elegiré sólo los parámetros con el mismo índice (por ejemplo, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) y optimizaré sólo ellos. Los desarrolladores deberían haber decidido añadir esta función. Al compilador no le habría resultado demasiado difícil crear primero una matriz y luego escribir en ella los datos de entrada. ¿Cuál es el problema aquí? ¿Por qué no se permiten las matrices como datos de entrada?
 
gpwr:
Esto es comprensible. En el probador elegiré sólo los parámetros con el mismo índice (por ejemplo, MAPer[0], Trig[0], MaxPrice[0],MinPrice[0]) y optimizaré sólo ellos. Los desarrolladores deberían haber decidido añadir esta función. Al compilador no le habría resultado demasiado difícil crear primero una matriz y luego escribir en ella los datos de entrada. ¿Cuál es el problema aquí? ¿Por qué no se permiten las matrices como datos de entrada?
El problema está en el tamaño de la búsqueda del probador.
 

Empecé a escribir el mismo MACD basado en la fuente del MACD pero basado en el LWMA (diferencia entre el LWMA corto y el largo y una línea de señal basada en la diferencia).

Lo he sustituido por LinearWeightedMAOnBuffer pero tiene un parámetro formal "extra" weightsum. Seguramente entiendo que es una suma de pesos y comprendo el significado, pero ¿cómo puedo generarlo programáticamente?

Документация по MQL5: Основы языка / Переменные / Формальные параметры
Документация по MQL5: Основы языка / Переменные / Формальные параметры
  • www.mql5.com
Основы языка / Переменные / Формальные параметры - Документация по MQL5
 
progma137:

Empecé a escribir el mismo MACD basado en la fuente del MACD pero basado en el LWMA (diferencia entre el LWMA corto y el largo y una línea de señal basada en la diferencia).

Lo he sustituido por LinearWeightedMAOnBuffer pero tiene un parámetro formal "extra" weightsum. Ciertamente debo entender que es la suma de pesos y comprender el significado, pero ¿cómo puedo generarlo programáticamente?

No es necesario generarlo. Sólo tienes que crear una variable para el almacenamiento intermedio de esta suma de pesos, para que no tengas que recalcular sus valores cada vez que la llames.

De este modo, en cada llamada se modifica la suma de pesos, no se recalcula completamente, lo que acelera enormemente los cálculos

 
stringo:

No es necesario generarlo. Sólo tienes que crear una variable para el almacenamiento intermedio de esta suma de pesos, para que no tengas que recalcular sus valores cada vez que la llames.

De esta forma, en la siguiente llamada se modifica la suma de pesos, no se recalcula por completo, lo que acelera enormemente los cálculos

Gracias. Funcionó. Declaré esta variable como una variable global.