Deseos para MQL5 - página 3

 
alexnau:
wellx:
Ya lo he escrito antes, pero lo volveré a decir:
- funciones de devolución de llamada para trabajar con el propio terminal
- Romper/restablecer la conexión
- gestionar la cola de varios EAs (mutexes, secciones críticas....)
- depurador (cualquiera)
- soporte de numeración directa de barras (desde la más antigua a la más reciente) con mensajería sobre los cambios del número de barras
- crear dll a partir de funciones MQL (ayudará a crear bibliotecas, lo que reducirá el código general con un gran número de indicadores)


Si se resuelven los problemas con incertidumbre, es poco probable que mejore el MQL actualizado. ¿Por qué necesitamos algunas alertas para calcular el número de la barra actual (barra cero)?

A pesar de la "cuenta atrás", la lógica para determinar la barra necesaria es clara y sencilla, en mi opinión.

No pido que se cambie la variante actual, sino que sólo se añada soporte. Lo que se hará es no recalcular el historial en cada nueva barra, sólo hay que comprobar el cambio en el número de barras. De este modo, se reduce la carga del terminal y se reduce la frecuencia de los avisos.
 
El número de barras se puede seguir controlando. Para eso están los bares.
 
alexnau:
wellx:
- soporte para la numeración directa de las barras (de la más antigua a la más reciente) con notificación de cambio en el número de barras


para resolver los problemas de incertidumbre, es poco probable que mejore el MQL actualizado. ¿Por qué necesitamos alertas para calcular después el número de la barra actual (barra cero)?

A pesar de la "cuenta atrás", la lógica para determinar la barra necesaria es clara y sencilla, en mi opinión.


Esto reduciría el problema de encontrar la barra correcta en el historial a especificar su índice "hacia atrás" y sería mucho más económico.

Eh, el entusiasmo y el optimismo de antaño han desaparecido :), pero añadiré mis 5 kopecks:

En el probador, en lugar del modo "puntos de control" añada el parámetro "todos los ticks" "número de inicios del Asesor Experto por barra". El modo "por precios abiertos" no debería anularse de todos modos, ya que para ello se utiliza un fxt más compacto. Sin embargo, no, es mejor sustituirlo por el modo "a precios cercanos" :)

Y otra vez:

-Añadir la vinculación de las variables globales a las variables del programa en el init.

-Para hacer un archivo exe para el probador.

-Para añadir a los búferes de los indicadores ( para cada tipo de variables) -para el intercambio efectivo de datos con el Asesor Experto.

 
También: añadir la capacidad de probar un archivo fxt dado con un nombre arbitrario. ¿Por qué la actual relación rígida entre el nombre del archivo fxt y el carácter?
 
Estos son mis deseos para el nuevo sistema que se me ocurren hasta ahora (en orden descendente):

Idioma
----

Convertir doble en cadena con la máxima precisión (> 8)

Compilación condicional (#ifdef, #ifndef, #define, #undefine)

Posibilidad de sustituir las palabras clave por #define (para la compilación condicional). El valor puede estar vacío.
Ejemplo:
//#define EXTERN extern // normal
#define EXTERN // concurso
EXTERN int opt = 0;

Comentarios anidados /* */.
No es ANSI, pero está implementado en casi todas partes (y deshabilitado). Permite comentar rápidamente un gran trozo de código con comentarios de texto normales.

Estructuras (prometidas)

Matrices multidimensionales, mejor gestión del din.

Depurador (¿prometido?)

Eventos

Excepciones

API

Punteros o similares, para listas, mazos, ...

Interfaz con la base de datos (SQL o ODBC). La base de datos no debe ser un servidor.

Funciones en línea

Sobrecarga de funciones

Ofuscación (difícil de descompilar).
Cifrado de cadenas con descifrado único en la inicialización de EA, cambio de flujo de código, mezcla de código, no eliminar el código no utilizado,
añadir código basura y datos...
Controlando todo esto con #pragma.


Terminal
--------
En la configuración, especifique el programa o el script MQL con las opciones (y meta variables) que se llamarán antes (¿y después?) de la compilación (para el preprocesamiento personalizado).


Editor
--------
Operaciones de comentario/descomentación (por botón y/o tecla de acceso directo)
 
1. Hacer el probador en un programa separado (como el editor MQL y el terminal).
2. Hacer un algoritmo genético más potente (para poder probar a un número de variantes de 10 a la 20ª potencia).
3. Acelerar el proceso de pruebas. (Apenas esperaré entre 15 y 30 horas, ¡y será una tarea mortal!
4. Introducir la función de inversión de posiciones (es decir, si tiene una posición de compra con 5 lotes, puede convertirla en venta de 5 lotes).
Eso es todo por ahora.
 

Otro deseo para el balancín. Sería bueno que, además del período de optimización, pudiéramos especificar el período de comprobación de los parámetros encontrados. Esta característica ahorra un poco el reentrenamiento del sistema comercial (o el reentrenamiento del NS).

 
Quiero una función. Los datos de entrada son los datos de optimización más un rango de valores devueltos. La salida es, por supuesto, los valores optimizados.
 
klot:

Otro deseo para el balancín. Sería bueno que, además del período de optimización, pudiéramos especificar el período de comprobación de los parámetros encontrados. Esta característica ahorra un poco el reentrenamiento del sistema comercial (o el reentrenamiento del NS).

Esto es lo que realmente necesitamos.
 
Integer:
drknn:
Bueno, tengo una modesta sugerencia. Propongo introducir una función en el lenguaje, que devolverá el número de celda del array, donde se encuentra el valor dado (o en caso de fallo devolverá menos uno). De lo contrario tenemos que organizar un bucle cada vez. La función ArrayBsearch() no es adecuada: devuelve un valor erróneo.

El valor devuelto por esta función seguirá siendo comprobado para la igualdad -1, por lo que puede comprobar el valor con índice devuelto por ArrayBsearch para la igualdad con el valor deseado. No hay gran diferencia

Citando la referencia.

int ArrayBsearch(...)
Devuelve el índice del primer elemento encontrado en la primera dimensión del array.
Si no hay ningún elemento con el valor especificado en la matriz, la función devolverá el índice del elemento más cercano (por valor).

Pues bien, cuando se busca el índice no sólo de un número en el array, sino de un ticket de la orden, esta función no conviene en absoluto -¡por qué necesito el índice del ticket similar más cercano, cuando necesito exactamente este ticket, y si está ausente, la orden no está entre las del mercado -está cerrada y deberíamos encontrarla en el historial! Cuando se trabaja con matrices desplazadas sincrónicamente, el índice es algo muy importante, y debe ser preciso, o no estar disponible.


Razón de la queja: