Deseos para MQL5 - página 22

 

Entiendo que no habrá punteros sino referencias seguras, la pregunta es, ¿al usar la DLL estas referencias se interpretarán como punteros? De nuevo con la comparación de .NET tenemos un tipo de delegado, un puntero seguro a una función. Pero todos los tipos seguros pueden ser interpretados como inseguros, y viceversa, esa no es la manera de interactuar con la misma API, así que también la pregunta es, ¿se implementarán los delegados de la misma manera?

Y en cuanto al lenguaje, la cadena en MQL con terminación cero, además de exclusivamente ASCII, es decir Unicode adiós, habrá un cambio en este sentido, lo siento para comparar .NET pero aquí va, la cadena que tenemos en la memoria es longitud de bytes y longitud de caracteres, pero en realidad todas las cadenas en UTF16, tal vez en cinco años será la base ya UTF32. En realidad, si la cadena tuviera también una codificación en la cabecera, ambos parámetros de cabecera existentes estarían en demanda. Por ejemplo, a menudo tengo que lidiar con UTF8, así que ¿qué pasos va a dar en este sentido, o todo seguirá igual?

En cuanto a los tipos de datos, ¿se mantendrá como está o se añadirá un identificador de tipo como se hace en .NET, o los tipos personalizados serán drásticamente diferentes de los primitivos, no hablo de cómo lo usará el compilador, quiero saber cómo se verá para el usuario?

 
Hacemos MQL5 como "C con clases", no como C++ puro.

El tipo string es unicode puro, aunque todavía es posible utilizar el tipo char como arrays. Es decir, en MQL5 no hay soporte nativo para cadenas de un solo byte, sino sólo en forma de emulación a través de arrays. No habrá ningún esfuerzo explícito para integrarse con otros lenguajes que no sea el habitual DLL.
 
Renat:

Por cierto, hace poco compramos en Amazon un grueso libro en japonés dedicado por completo a la programación de MQL4. Autor: Hisamichi Toyoshima

Es muy interesante. ¿Puede explicarme en pocas palabras de qué trata este libro y cómo está estructurado? ¿Hay ejemplos de programas o bibliotecas completos?
 
Renat:
Korey:
Renat:

Lo llevamos directamente a la caja fuerte C++.


C++ crea seguridad para los vendedores de software, por ejemplo, ahora tienen miedo de vender y pasar los EA de código abierto, pero los objetos ciertamente comerciarán.
Sin embargo, el propio C++ es una de las herramientas más peligrosas.

Por algo dije "C++ seguro", no "C++". Es seguro porque no hay punteros de memoria (lo peor de C++) y el código es totalmente gestionado.
Para los que quieran usar C simple, todo sigue igual en MQL5. Es decir, no uses clases con objetos y sigue escribiendo funciones normales.

¡¡¡Gracias a su actividad desde MQL hasta MQL4 hay un renovado interés en C!!!
Se ha convertido en C para el consumidor. Muchas gracias.
Sin ti, C++ era la última moda, y la gente se pasaba al bando de Delphi.
Buena suerte en su beneficio y en el nuestro.
 
SK. писал (а):
Renat:

Por cierto, hace poco compramos en Amazon un grueso libro en japonés dedicado por completo a la programación de MQL4. Autor: Hisamichi Toyoshima

Es muy interesante. ¿Puede explicarme en pocas palabras de qué trata este libro y cómo está estructurado? ¿Existen ejemplos de programas ya hechos, bibliotecas?
El libro contiene 380 páginas, empezando por la descarga del terminal, la descripción de los indicadores estándar, el trabajo con el terminal, el libro de referencia MQL4 con explicaciones y la creación de Asesores Expertos. Muchas capturas de pantalla y fragmentos de código. Todo este libro está en japonés, me he orientado por capturas de pantalla, fuentes y nombres de funciones.

Página web del autor: http://forex.toyolab.com, puedes intentar leerlo en inglés con el traductor automático de google.
 

Por favor, asegúrese de que en el historial de la cuenta hay una barra con el saldo después de cada transacción cerrada.

Así - sin/incluyendo la comisión

O sólo incluye la comisión

Se lo agradezco de antemano.

Tengo mucho respeto por MQL.

 
Me gustaría mucho esto:
1. Matrices dinámicas multidimensionales. Al menos 6 dimensiones.
2. Aumenta el número de topes indicadores. Pero no es una cuestión de principios. Se puede prescindir de ellos en absoluto. Es muy conveniente.
3. Quiero usar DirectX para MT5, de lo contrario mis gráficos son muy lentos. Los gráficos son muy flojos.
4. La posibilidad de recoger variables externas y no sólo externas en arrays: Array[2] = {Qwe, Rty};
5. Posibilidad de cambiar el tamaño del array de esta manera: Array[n]; == ArrayResize (Array, n); (sólo otra entrada).
6. Capacidad para sintetizar o convertir variables de cadena en una variable y viceversa.
7. Me gustaría poder ampliar las ventanas con las propiedades de los indicadores, los scripts, los expertos. Y la memoria para el último tamaño de la ventana.
8. Para guardar en las plantillas en los nombres de los objetos un signo de salto de línea.
9. Para aumentar el número de caracteres en las ventanas emergentes con las propiedades de un objeto a un mínimo de 256.
10. Y una vez más sobre la conversión de tipos. Ya has hecho: int / double = double. Ve un paso más allá. Que sea: int / int = doble. Eso sería lógico.
11. Necesita una función que devuelva los nombres de los archivos en la carpeta ...expert/files.
12. Necesito una función que devuelva el número de archivos en la carpeta ...expert/files.
13. Subdirectorios en la carpeta ...expert/files. Y las posibilidades en ellos 11, 12 pt.
14. Me gustaría poder utilizar las herramientas de MT5 para crear y leer archivos en cualquier lugar.
15. ¡¡¡El historial de garrapatas es necesario al menos durante un par de días!!! Y un conjunto de funciones para trabajar con ticks.
16. Gráficos de ticks (velas de ticks). Y funciones para trabajar con estos gráficos.
17. La TF, si no es ninguna, es más. Y debe ser YR1.
18. Para corregir los problemas de visualización del objeto en diferentes TFs. Las coordenadas no coinciden.
 
Aquí surgió en el foro: hay que conocer las limitaciones del servidor, como el número máximo de pedidos.
 
Sería fácil, y nos parece muy conveniente, hacer que las matrices de indicadores calculados sean bidimensionales
por ejemplo:
doble buffer [][Const];
..............
SetIndexBuffer(3,buffer);
Con cada nueva barra, el puntero de la línea se desplaza por el número de bytes del elemento del array, sólo tenemos que multiplicar por el número de elementos de la cadena del array.
 

De acuerdo, el código sería "gestionado".

Sería genial tener "///<sumario>". Es muy práctico: mueve el ratón sobre una variable/tipo/campo/propiedad, etc., y una ventana emergente te dirá lo que has "comentado" allí.