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
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.
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?
Bueno, déjame escribir esta función yo mismo, entonces al menos permíteme pasar el array como parámetro a la subrutina.
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)
drknn, echa un vistazo aquí: https://docs.mql4.com/ru/basis/variables/formal. Se trata de transferir matrices.
Gracias. Voy a echar un vistazo.
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();
}
¿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.
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.
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.
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.
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.