![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Sí? ¿No crea un objeto nuevo e independiente?
Comprobemos ahora: insertaré líneas como ésta:
así como
y un script de prueba:
Resultado:
Se crea un objeto, luego un SEGUNDO (resulta que no hay recreación - se crea uno nuevo), se abre la posición BUY con magia "0" - es decir, el segundo objeto "trade" lo abrió.
Entonces vemos que los dos objetos se destruyen en orden inverso: primero el segundo (con magia "0") y luego el primero (con magia "123").
¿Sí? ¿No crea un objeto nuevo e independiente?
sí, será una nueva instancia de la claseCTrade
yaún más, el destructor de CTrade será llamadoal salir del void OnTick() y en el siguiente OnTick() el constructor de CTrade será llamado de nuevo
sí, habrá una nueva instancia de la claseCTrade
Si se sale del void OnTick(), se llamará al destructor de CTrade, y en el siguiente OnTick() se volverá a llamar al constructor de CTrade.
Sí, me di cuenta inmediatamente después de la respuesta de Artem.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
OOP para escolares.
Artyom Trishkin, 2019.10.08 20:23
Es exactamente lo mismo que con las variables.
Y el enfoque:
En mi opinión, mql tiene un conjunto muy estrecho de tareas que necesitan ser resueltas a través de OOP. El lenguaje en sí me parece que no es más que un OOP en C++ o algo así. Y esta POO se ofrece en forma de biblioteca estándar. Y a esta OOP se sugiere añadir, si no, no diría, otra OOP. Y luego otro paso... Bien dicho Warlock, aunque enfadado, pero benévolo, para mis tareas OOP es como un plato giratorio para perros. Y de qué sirve plantear un problema y su posterior realización mediante POO si ese problema sin problemas se puede resolver en estilo procedimental.
Aquí por ejemplo para tomar .mqh de fxsaber`a para escribir códigos para MT5 así como para MT4. Tal vez alguien lo necesite, pero mira quién. Los que no quieren o no pueden dominar mql5. O tomar el iCanvas de Nikolay... olvido su apellido. Parece ser una biblioteca útil, pero no es fácil entenderla, y no hay documentación, ni siquiera una mínima descripción. No es una queja, lo siento Nikolay, es un hecho. Así que, cuando decidí intentar escribir una etiqueta gráfica, fue más fácil escribirla sin referencia a la biblioteca estándar ni a la biblioteca de Nikolai.
En realidad, Alexey, puedes obtener suficiente información sobre iCanvas en la página de descripción en KB.https://www.mql5.com/ru/code/22164. Hay que estudiar bien los comentarios del código. El significado de todas las funciones se intuye a partir de sus nombres.
Pero puede que tengas razón. Debería grabar un vídeo escribiendo algún indicador sencillo pero útil usando iCanvas y explicar visualmente algunas características de esta clase. Todavía hay algunas sutilezas.
Francamente, no me gusta cómo está escrito iCanvas ahora mismo. Quiero arrugarlo, tirarlo a la basura y reescribirlo con un estilo más correcto.
El 70% del código de esta biblioteca consiste en acelerar algunas de las funciones regulares que se necesitan para manejar las coordenadas y el acceso a los datos.
Así, si aplicas esta clase, los gráficos serán más rápidos que si lo haces "de frente" con CCanvas. Esa es su principal característica y ventaja. Y, por supuesto, es realmente más fácil formar gráficos, figuras, comentarios.
También me gustaría añadir, Alexey, que el propósito de muchas publicaciones en CodeBase, incluyendo fxsaber y mis publicaciones es un desinteresado "sólo para compartir - quien lo necesite, lo entenderá". Así que, a menudo, dedicar tiempo a las instrucciones detalladas es simplemente un fastidio.
Especialmente en el foro, he publicado muchos ejemplos cortos e ilustrativos utilizando iCanvas.
Aquí, por ejemplo:
https://www.mql5.com/ru/code/25929
https://www.mql5.com/ru/code/25113
https://www.mql5.com/ru/code/25414
https://www.mql5.com/en/code/24798
https://www.mql5.com/ru/forum/227736/page41#comment_13259627
https://www.mql5.com/ru/forum/227736/page24#comment_12836622
https://www.mql5.com/en/forum/323629#comment_13442470
https://www.mql5.com/ru/forum/321704#comment_13131995
https://www.mql5.com/ru/forum/317257/page3#comment_12341593
https://www.mql5.com/en/forum/229521/page2#comment_10258148
En realidad, Alexey, puedes obtener suficiente información sobre iCanvas en la página de descripción de KB. https://www.mql5.com/ru/code/22164 Hay que estudiar bien los comentarios del código. El significado de todas las funciones se deduce intuitivamente de sus nombres.
Nikolai, no prestes atención a mis palabras. Hay tan poca gente como yo entre los que estudian programación, si es que no soy el único, que no merece la pena prestarles ninguna atención.
Para aprender los comentarios en el código, primero hay que aprender Aglitsky)).
Si tuviera una necesidad urgente, podría dedicar tiempo a traducir todos los comentarios, tratar de entender la traducción automática y hacer correcciones. Pero no hay tal necesidad.
Por ejemplo, tome .mqh de fxsaber`a para escribir códigos para MT5 así como para MT4. Tal vez alguien lo necesite, pero mira quién... Los que no quieren o no pueden dominar mql5.
Creo que conozco MQL5 bastante bien, pero tengo la necesidad de una biblioteca de comercio. No me refiero a un estilo MT4, sino a una librería de trading para MT5, que sea cómoda y rápida de trabajar. Y esta librería no tiene fallos durante el comercio real.
Como esa biblioteca no estaba disponible (y no sé si existe) en el dominio público, tuve que desarrollar la mía propia. Para ello tuve que decidir qué tipo de herramienta en forma de conjuntode funciones comerciales iba a inventar. Pedir prestado el conjunto de MT4, como uno bastante bueno. Lo que, como ventaja, permitió no escribir la documentación a la biblioteca y estudiarla. Y otras cosas buenas.
Así que el conocimiento de MQL5 es a veces de alto nivel entre los usuarios.