En una aplicación de la OOP - página 5

 
Dmitry Fedoseev:

¿Hay alguna diferencia si se escribe así siempre?

SymbolInfoDouble(Symbol(),SYMBOL_ASK) 

o así:

s.Ask() 

?

¿Hay alguna diferencia entre:

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

Y hay más interesantes, por ejemplo:

c <- b*a

donde todos los identificadores son matrices y esta operación matricial se realiza utilizando el código más eficiente para Windows.

??????

No se trata de eso

Cuando MQL4 era un lenguaje perfectamente equilibrado entre la simplicidad y las posibilidades, muchos codificadores empezaron a discutir todas las "bondades" y no pudieron asentarse. Y así es como tienen el culo y el SUCESO de las pérdidas.

 
СанСаныч Фоменко:

¿Hay alguna diferencia entre:

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

Y hay más interesantes, por ejemplo:

c <- b*a

donde todos los identificadores son matrices y esta operación matricial se realiza utilizando el código más eficiente para Windows.

??????

No se trata de eso

Cuando MQL4 era un lenguaje perfectamente equilibrado entre la simplicidad y las posibilidades, muchos codificadores empezaron a discutir todas las "bondades" y no pudieron asentarse. Y así es como tienen el culo y el SUCESO de las pérdidas.

Es incorrecto comparar los lenguajes que operan con matrices y números.
 
СанСаныч Фоменко:

¿Hay alguna diferencia entre:

a<- b

и

for(i = 1; i < 1000; i++)

{

a[i] = b[i]

}

Y hay más interesantes, por ejemplo:

c <- b*a

donde todos los identificadores son matrices y esta operación matricial se realiza utilizando el código más eficiente para Windows.

??????

No se trata de eso

Cuando MQL4 era un lenguaje perfectamente equilibrado entre la simplicidad y las posibilidades, muchos codificadores empezaron a discutir todas las "bondades" y no pudieron asentarse. Así que tienen un gilipollas y una gran cantidad de pérdidas.

Lo que fue, todo queda. Si no quieres, no uses OOP. No puedes tocar la OLP, no pensar en ella, vivir como antes.

Después de su "con <- b*a" antes de abrir una posición todavía hay que realizar una serie de acciones, si las realiza utilizando OOP, la vida se vuelve más agradable y divertida.

Por qué no te quejas a los creadores de R o matlab de que es imposible abrir posiciones desde estos programas y en general, de que no están ligados directamente a la ejecución de las operaciones? Se puede llegar a cualquier lenguaje de programación de la misma manera, casi ningún lenguaje tiene acción con las matrices, etc. Estás comparando cosas de diferentes categorías.

 
Dmitry Fedoseev:

Lo que había, está todo ahí. Si no quieres, no uses OOP. No hay que tocar la OOP, no hay que pensar en ella, se vive como antes.

Después de su "con <- b*a" antes de abrir una posición todavía hay una serie de acciones a realizar, si las realiza utilizando OOP la vida se hace más agradable y más divertida.

Por qué no te quejas a los creadores de R o matlab de que es imposible abrir posiciones desde estos programas y en general, de que no están ligados directamente a la ejecución de las operaciones? Se puede llegar a cualquier lenguaje de programación de la misma manera, casi ningún lenguaje tiene acción con las matrices, etc. Estás comparando cosas de diferentes categorías.

Permítanme añadir, utilizando OOP, si es necesario, puede crear una clase CMatrix que implementa las operaciones de la matriz y anular + - * / = en ella.

Y todo sería tan sencillo como eso. Ni siquiera necesito crear una CMatrix, todo está ya implementado en cualquiera de las bibliotecas.

CMatrix m1, m2;
// заполняем матрицы
CMatrix m3 = m1 + m2;

Por cierto, voy a molestar a San-Sanych )). Estimado señor, ¿sabe que su favorito R también tiene dos sistemas OOP? )))))))) Pero no te emborraches de pena ))

R. Este lenguaje para el análisis de datos estadísticos también cuenta con 2 sistemas de programación orientados a objetos, S3 y S4. Ambos son heredados del lenguaje S (lo cual no es sorprendente dado que R es una implementación de código abierto del S comercial). S4 es, en su mayor parte, consistente con las implementaciones de POO de los lenguajes modernos de la corriente principal. S3 es una variante más ligera, implementada elementalmente mediante el propio lenguaje: se crea una función general que despacha las peticiones por el atributo "clase" del objeto recibido.

 
Alexey Volchanskiy:

Además, utilizando OOP, si es necesario, puede crear una clase CMatrix que implementa las operaciones de la matriz y anular + - * / = en ella.

Y todo será igual de fácil. Ni siquiera necesito crear CMatrix, todo está ya implementado en cualquiera de las bibliotecas.

Se puede, pero SanSan8 responderá que no se haría de la mejor manera, ya que en esta R, como cree SanSan8, estas operaciones matriciales se hacen de la mejor manera, probablemente codificando en ensamblador puro.

La diferencia con R es que en R todo está preparado, sólo tienes que cogerlo y usarlo, mientras que aquí tienes que hacerlo todo tú.

 
Dmitry Fedoseev:
Se puede, pero SanSan8 responderá que no se haría de la mejor manera, es como en este R, como piensa SanSan8, estas operaciones matriciales se hacen de la mejor manera, probablemente codificando en el ensamblador puro.

He añadido a mi post anterior - resulta que R tiene OOP. (Terrible)).

Por cierto, he probado esta R - es un freno raro. No es de extrañar: es un intérprete. Así que, no Asm.

 
Alexey Volchanskiy:

He añadido a mi post anterior - resulta que R tiene OOP. (Terrible)).

Por cierto, he probado esta R - es un freno raro. No es de extrañar: es un intérprete. Así que, no Asm.

Si no sabes cocinar gatos, guarda silencio...

R. Este lenguaje para el análisis de datos estadísticos también cuenta con 2 sistemas de programación orientados a objetos

¿Y qué? Hay muchas más cosas que MQL no tiene. ¿Y qué?

Esa no es la cuestión. La superioridad algorítmica de un idioma sobre otro no importa en absoluto a partir de un determinado umbral de capacidad con respecto a la materia.

Aquí se mascan los gustos de los codificadores, y personalmente estoy aquí por el bien del comercio.

PS.

Sus clases matriciales tendrán que utilizar la biblioteca de Intel para las operaciones matriciales, entonces tal vez se iguale a R en este asunto.

 
Vasiliy Sokolov:

Aquí tienes. Jerarquía de clases comerciales en la biblioteca estándar:

Implica que el módulo de gestión monetaria es un Asesor Experto. El Trailing Stop también es un Asesor Experto. El Asesor Experto incluye otros Asesores Expertos. Esta herencia incoherente se debe a que tanto el trailing stop como la gestión monetaria necesitan acceder a algunos datos y métodos privados del Asesor Experto base.

Bueno, esto es sólo un sistema de clases mal concebido.

Por otro lado, mi plantilla de Asesor Experto se basa completamente en las clases de la Biblioteca Estándar, y no veo ningún problema en particular. La ideología de la fábrica de piezas del Asesor Experto está implementada. Para el usuario de las clases, escribir un EA consiste en escribir esta misma fábrica, que sabe crear un generador de entradas, filtros, definidores de SL-TP, y otros componentes del TS.

 
СанСаныч Фоменко:

Había MQL4 - un lenguaje perfectamente equilibrado entre la simplicidad y las características, pero no, un montón de codificadores comenzaron a hablar de "bondades" y no pueden establecerse. Y eso es lo que tenemos: un gilipollas y una pérdida de pérdidas.

Hay algo que no entiendo... Bueno, no uses las innovaciones de MQL5, eso es todo.

Me gusta mucho la herencia y las funciones virtuales. Pero cuando quiero hacer algo sencillo y con prisa, no los uso. Al mismo tiempo, cuando se requiere un procesamiento complejo de datos complejos, con la programación orientada a objetos (OOP) se hace de manera mucho más conveniente y, lo que es importante, el mantenimiento posterior también es muy fácil.

 
George Merts:

No lo entiendo... Bueno, no uses las innovaciones de MQL5, eso es todo.

Me gusta mucho la herencia y las funciones virtuales. Pero cuando quiero hacer algo sencillo y con prisa, no los uso. Al mismo tiempo, cuando se requiere un procesamiento complejo de datos complejos, es mucho más conveniente utilizar OOP y, lo que es importante, el mantenimiento posterior también es muy fácil.

Estaría completamente de acuerdo contigo, si no fuera por una desagradable circunstancia: MQL NO tiene ninguna herramienta para el análisis estadístico de las cotizaciones. Esto se nota especialmente cuando se trata de R. Toda nimiedad requiere una programación. Y hasta me callo al hablar de modelos.

Pero eso no es todo.

Las bibliotecas externas están prohibidas, de ahí el mercado de R. Si no fuera por esta restricción simplemente me haría rico sin ningún riesgo vendiendo indicadores de muy alta calidad.

Pero eso no es todo.

El sitio cuenta con un grupo de codificadores de batalla que defienden a capa y espada que este es un sitio de programación, por lo que las publicaciones relacionadas con el comercio son inapropiadas.

Ese es el telón de fondo de la OOP. Por lo demás, es cuestión de gustos.