Deseos para MQL5 - página 4

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

El valor devuelto por esta función seguirá comprobando que es igual a -1, por lo que puede comprobar que el valor con el índice devuelto por ArrayBsearch es igual al valor que está buscando. No hay gran diferencia

Cito 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, sino de un billete en la matriz, esta función no conviene en absoluto: ¿por qué necesito el índice del billete similar más cercano, cuando necesito exactamente este billete, y si está ausente, el pedido no está entre los del mercado - ¡está cerrado y deberíamos encontrarlo 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.



Una vez más, lee lo que te escribí

"El valor devuelto por esta función seguirá siendo comprobado para la igualdad a -1, por lo que puede comprobar el valor con el índice devuelto por ArrayBsearch para la igualdad al valor buscado. No es una gran diferencia".

Busca el billete más cercano, compáralo con el que buscabas, si no es igual, no está en la matriz.

 
Integer:

Vuelve a leer lo que te escribí

"El valor devuelto por esta función seguirá siendo comprobado para la igualdad a -1, por lo que puede comprobar el valor con el índice devuelto por ArrayBsearch para la igualdad al valor que está buscando. No es una gran diferencia".

Encontramos el billete más cercano, lo comparamos con el billete, si no es igual, significa que no está en la matriz.

¿Por qué tienes que dar vueltas todo el tiempo? Muéstrame un lenguaje de programación normal que no tenga una función que devuelva el índice del elemento del array requerido. Bien, escribiré la función yo mismo, entonces al menos déjame pasar el array a una subrutina como parámetro.

Las desventajas de MQL4 son numerosas. La flexibilidad de este lenguaje es insignificante. Escuchemos nuestras necesidades y guardemos el código del Asesor Experto. А? ¿O los desarrolladores no se preocupan por nadie más que por ellos mismos?

 
drknn:

Bueno, déjame escribir esta función yo mismo, entonces al menos permíteme pasar el array como parámetro a la subrutina.

En MQL4 es fácil pasar un array a un subprograma e igualmente fácil de aceptar.
Hay muchas desventajas en MQL4. Escuchemos lo necesario y guardemos el código del Asesor Experto. А? ¿O es que los desarrolladores no se preocupan por todo el mundo menos por ellos mismos?
Sí, las desventajas son bien conocidas. Los desarrolladores no han dicho nada en contra, ¿verdad? Llevamos mucho tiempo trabajando en el lenguaje MQL5.
 
drknn, echa un vistazo aquí: https://docs.mql4.com/ru/basis/variables/formal. Se trata de transferir matrices.
 
xenon13:

Con todo el respeto, el MQL4 sigue siendo el mejor MTS del mercado, pero le faltan las siguientes cosas

1. API o posibilidad de llamar a las funciones de EA desde la DLL (Mister Developers - realmente lo necesita !!!! )

Manejadores de eventos - al menos uno, evento del sistema (un CallBack o algo con un número de mensaje, por ejemplo el mensaje - la negociación en este símbolo se detiene)

3. Estructuras, asignaciones en registro a = b = d = e, conversiones de tipo implícitas.

Pido a los demás que se unan y continúen con la lista de deseos en este hilo.

P.D. una vez más sobre el primer punto, puede dejar todo como está - pero hacer la llamada de DLL.


Me gustaría ver un lenguaje orientado a objetos cercano a C++

Si nos acercamos al comercio

Me gustaría conseguir

1 llamar a esta función con un temporizador personalizable (sería una característica muy agradable)

2 PÉRDIDA TOMAR ACCIÓN ( Aunque entiendo que esto puede ser rastreado programáticamente usando diferentes manejadores)

3 sería bueno tener algún tipo de depurador visual ( aunque estoy satisfecho con el check print)

 
Mathemat:
drknn, echa un vistazo aquí: https://docs.mql4.com/ru/basis/variables/formal. Se trata de transferir matrices.

Gracias. Voy a echar un vistazo.
 
Renat:
Sí, las deficiencias son conocidas. Los desarrolladores no han dicho nada en contra, ¿verdad? Llevamos mucho tiempo trabajando en el lenguaje MQL5.

Lo siento, tal vez exageré. El problema es que no existe una guía adecuada del idioma. Si hubiéramos tenido una ayuda adecuada, los usuarios habrían tenido menos preguntas.
 
MQ publicará una lista de las nuevas características del lenguaje MQL5. Habría sido posible discutir algunos puntos por adelantado: las nuevas propiedades de la lengua. Los promotores habrían modificado sus planes. Incluso podríamos votar las novedades o las que, por ejemplo, se suprimen.

Por cierto, sería bueno añadir la ordenación de las pestañas con código en el meta-editor. A menudo uno quiere agrupar algunos módulos uno al lado del otro para no tener que desplazarse constantemente para encontrar el que se necesita.
Hubo un problema en un lenguaje cuando pasé una variable de carácter de cadena que era un parámetro de otra función.
No funcionó así:

func(Símbolo());

void func(string symbol) {
mql_func(símbolo);
}

Pero funciona así

void func() {
mql_func(símbolo();
}
 
drknn писал (а):


¿Por qué tienes que dar vueltas todo el tiempo? Muéstrame un lenguaje de programación normal que no tenga una función que devuelva el índice del elemento del array requerido. Bien, escribiré la función yo mismo, entonces al menos déjame pasar el array a una subrutina como parámetro.


Delphi no tiene esa función. :) Y tal vez exista en algún módulo aparte. Si existe, no sé nada de él, porque es más fácil escribirlo yo que buscarlo o no.

Por cierto, implementar los algoritmos tú mismo no es una "solución". "Solución" es cuando utilizas componentes, procedimientos, bibliotecas y piezas de código de terceros. Esto es un bypass. El término científico para esto es "lamerismo". :)
Los desarrolladores ya dijeron que hacían un lenguaje para programadores, no para programadores cojos. :)

Cualquier función que mucha gente quiera, la puedes hacer tú mismo en media hora, en lugar de esperar 3 años a que los desarrolladores lo hagan por ti. Luego las metes en una librería aparte y simplemente las insertas en cada nuevo Asesor Experto con un inlude habitual. ¿Es tan difícil pensarlo? Es un jardín de infancia. El lenguaje es genial, hay muchas oportunidades para la creatividad. Pero si una persona no es creativa, este lenguaje le está contraindicado en muchas cosas, incluido el comercio. :) Perdón por la posible brusquedad, no he podido soportarlo.



Sólo me gustaría que se hubiera añadido un operador de transición. El resto me parece bien.

Si quisiera cambiar el parámetro OrderLots en el comercio real, no querría tener que borrarlo y establecer uno nuevo. Tengo todos mis estados llenos de órdenes pendientes. Creo que no debería ser difícil de implementar. Renat, si estás leyendo esto, por favor responde.
 
Bauleken:
drknn escribió (a):


Hombre, ¿por qué tienes que dar vueltas todo el tiempo? Muéstrame un lenguaje de programación normal, que no tenga una función que devuelva el índice del elemento del array requerido. Vamos, que voy a escribir esta función yo mismo, entonces al menos déjame pasar el array a una subrutina como parámetro.


No existe esta función en Delphi. :) Si existe, no sé nada de ello, porque es más fácil escribirlo uno mismo que buscarlo o no.

Por cierto, implementar los algoritmos tú mismo no es una "solución". "Solución" es cuando utilizas componentes, procedimientos, bibliotecas y piezas de código de terceros. Esto es un bypass. El término científico para esto es "lamerismo". :)
Los desarrolladores ya dijeron que hacían un lenguaje para programadores, no para programadores cojos. :)
¿Debemos entonces programar en código máquina en general? ¿Por qué todos estos lenguajes de alto nivel e incluso el ensamblador? Con una cosa tan única como el código máquina puedes hacer lo que quieras :)


Cualquier función que mucha gente quiera, la puedes hacer tú mismo en media hora, en lugar de esperar 3 años a que los desarrolladores lo hagan por ti. Luego las metes en una librería aparte y simplemente las insertas en cada nuevo Asesor Experto con un inlude habitual. ¿Es tan difícil pensarlo? Es un jardín de infancia. El lenguaje es genial, hay muchas oportunidades para la creatividad. Pero si una persona no es creativa, este lenguaje le está contraindicado en muchas cosas, incluido el comercio. :) Perdón por la posible brusquedad, no he podido soportarlo.
:))))))))))) Me ha animado - me ha hecho reír a carcajadas :))))))))) gracias. No, en serio :)))))
Sólo me gustaría que se hubiera añadido un operador de transición. El resto me parece bien.

Si quisiera cambiar el parámetro OrderLots en el comercio real, no querría tener que borrarlo y establecer uno nuevo. Tengo todos mis estados llenos de órdenes pendientes. Creo que no debería ser difícil de implementar. Renat, si estás leyendo esto, por favor responde.
Si lo lees, por favor, contéstame, pero ¿podrías contarme algo más? ¿Se puede modificar una posición de venta o no entiendo algo?