Biblioteca de clases genéricas - errores, descripción, preguntas, características de uso y sugerencias - página 11
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
El último ejemplo de hoy y aparentemente de esta semana: la correspondencia entre el número de operación y el número de orden que la inició:
Para mi caso, en el que hay más de 10.000 operaciones en la cuenta, el resultado es el siguiente:
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Biblioteca de clases genéricas - errores, descripción, preguntas, peculiaridades de uso y sugerencias
Vasiliy Sokolov, 2017.12.08 13:30
Si N es muy pequeño, simplemente normalizamos el número obtenido por la función hash, de forma que siempre esté en el límite de N:
que he leído hasta ahora. Vasily, gracias, todo está claro, excepto el resaltado. En mi opinión, tomar el residuo como una normalización es un error. Parece más lógico
Esa es la cuestión: a menudo se desconoce el tamaño del diccionario. Un ejemplo sencillo, digamos que tenemos un asesor que comercia. Hace un seguimiento de las operaciones realizadas. Cuando aparece una operación en el historial, tenemos que conectar esta operación con el Medjack del Asesor Experto. Para ello es lógico utilizar el diccionario. Donde el número de operación se utiliza como clave (identificador único), y el número mágico del Asesor Experto se utiliza como valor. El problema es que al inicio del EA no podemos determinar de antemano si tendremos 100 operaciones, 1000 o ninguna. Independientemente de la cantidad de memoria que se asigne de antemano, seguirá siendo poca o demasiada.
Obviamente no me he devanado los sesos todavía. ¿Podría explicar qué es lo que se asigna? No lo entiendo en absoluto.
Parece una burla.
HashFunction.mqh sin un inlude. Esto no está bien.
¿Para qué sirve esta función?
Creo que no me he roto del todo el cerebro. ¿Podría aclarar lo resaltado? No lo entiendo en absoluto.
Personalmente, he entendido que cuando se hacen operaciones, el EA debe escribir el número de un magik en el diccionario (array) por el número de la operación, que en este caso es un índice de celda.
El número de operaciones futuras no se conoce de antemano, y ya deberíamos tener un array declarado para escribir las mayores. La tarea consiste en asignar por adelantado la cantidad de memoria necesaria para el array.
Es imposible asignar la cantidad exacta de memoria por adelantado. Por lo tanto, podríamos escribir una cadena con cadenas, obtener el número de subcadenas, inicializar la matriz y escribir todas las subcadenas (panales) allí.
Entonces se accederá a cada medjack por número de oficio.
A grandes rasgos, así es como yo lo veo.
El último ejemplo de hoy y aparentemente de esta semana: la correspondencia entre el número de operación y el número de orden que la inició:
Para mi caso, en el que hay más de 10.000 operaciones en mi cuenta, el resultado es el siguiente:
¿Cuánto devuelve la versión clásica en su caso?
¿Para qué sirve esta función?
No sólo compilará para struct y union.Se ha añadido otra sobrecarga
Se ha tropezado con él.
Se ha añadido otra sobrecarga
A mí me parece que si un objeto no implementa alguna interfaz o método, es mejor generar explícitamente una excepción que callarse y luego buscar el origen del problema sin más.
Devuelve números negativos, lo que se deduce lógicamente de dicho código. ¿Está bien?
Absolutamente normal.
El hash no te garantiza nada, sólo es un número que caracteriza en cierta medida a tal o cual objeto.
Si necesitas un entero, utiliza uint.
Para mí, si un objeto no implementa alguna interfaz o método, es mejor generar explícitamente una excepción que guardar silencio y luego buscar el origen del problema durante un tiempo desconocido.
¿MqlTick?
¿MqlTick?
¿Entiendes qué hace el código si no hay una implementación explícita de la especialización de la función de plantillaGetHashCode para el tipo T?
Respuesta: es patético porque glosa la falta de aplicación. Todos los objetos de la misma clase devolverán el mismo valor hash.