Errores, fallos, preguntas - página 2501
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
Esto es lo que ocurre.
lo intentó así:
2019.07.07 18:31:02.708 tst (EURUSD,H1) 4294967295 4294967295 4294967295 4294967295
2019.07.07 18:31:02.708 tst (EURUSD,H1) A
2019.07.07 18:31:02.708 tst (EURUSD,H1) 0 4294967295 4294967295 4294967295
2019.07.07 18:31:02.708 tst (EURUSD,H1) B
2019.07.07 18:31:02.708 tst (EURUSD,H1) 0 4294967295 4294967295 4294967295
2019.07.07 18:31:02.708 tst (EURUSD,H1) sizeof(A) = 4 , sizeof(B) = 4
seguimos poniendo a cero los primeros 4 bytes
lo intenté de otra manera:
todavía no hay resultado - sólo borra los primeros 4 bytes
todavía no hay resultado - sólo borra los primeros 4 bytes
Porque físicamente la estructura es de 4 bytes.
Porque físicamente la estructura es de 4 bytes.
Sí, ya nos hemos dado cuenta de que pack() no funciona dentro de MQL - no tengo más opciones para comprobarpack()
Pensé en comprobar en .dll en C# pero hay un problema allí también - MQL ve la firma de la función llamada (recuerde la llamada const en las firmas no funcionó para C# )
y al transferir los datos a C# ¿se podrá hacer la conversión de tipos?
ZS: a lo sumo, escribe una .dll en C++ - puedes recibir / enviar datos "limpios" allí
No recuerdo si está en la documentación.
Gracias, lo he encontrado. En mi opinión, todo funciona. Como en tu ejemplo sólo hay un tipo en la estructura, no tiene sentido la alineación. Por eso sólo da el tamaño del tipo. Y aquí tenemos
Esta es la estructura
La documentación lo explica muy claramente en imágenes.
Gracias, lo he encontrado. En mi opinión, todo funciona. Como en tu ejemplo sólo hay un tipo en la estructura, no tiene sentido la alineación. Por eso sólo da el tamaño del tipo. Y aquí tenemos
Y esta estructura
La documentación lo explica muy claramente en imágenes.
Sí, así es como funciona:
2019.07.07 19:16:27.100 tst (EURUSD,H1) 4294967295 4294967295 4294967295 4294967295
2019.07.07 19:16:27.100 tst (EURUSD,H1) A
2019.07.07 19:16:27.100 tst (EURUSD,H1) 0 0 0 4294967295
2019.07.07 19:16:27.100 tst (EURUSD,H1) B:
2019.07.07 19:16:27.100 tst (EURUSD,H1) 0 0 0
2019.07.07 19:16:27.100 tst (EURUSD,H1) sizeof(A) = 12 , sizeof(B) = 16
total: pack() realiza la alineación de los datos en la estructura por el tamaño del campo sizeof() máximo de la estructura
resumen: pack() alinea los datos de la estructura por el tamaño del campo sizeof() máximo de la estructura
No exactamente.
El campo máximo es de 8 bytes; fijamos la alineación en 4 y obtenemos 16. Es decir, 2+2|4|2+2+addshort doubleint
O 2+adición|4|4|4
No exactamente.
El campo máximo es de 8 bytes, si se ajusta la alineación a 4 se obtienen 16. Así que 2+2|4|2+2|2+add short doubleint
O 2+adición|4|4|4
Sí, eso debería sonar bien:
en resumen: pack() realiza la alineación elemento a elemento de los datos de la estructura; cada elemento se anexará con un valor múltiplo de pack() teniendo en cuenta el sizeof() máximo del elemento de la estructura (no más que el valor máximo, menos puede ser en appending)
paquete(4) :
short = 2 + 2 appended = 4=pack(4)
doble =8 - no colapsar
int =4 - no alineado
sizeof()=16 bytes
Sí, así es como debería sonar:
total: pack() realiza la alineación de los datos en la estructura elemento por elemento, cada elemento será un múltiplo de pack() teniendo en cuenta el tamaño máximo de sizeof() del elemento de la estructura (no más que el valor máximo, menos puede ser además)
paquete(4) :
short = 2 + 2 appended = 4=pack(4)
doble =8 - no colapsar
int =4 - no alineado
sizeof()=16 bytes
Suena enrevesado, pero para mí tiene sentido).
Suena enrevesado, pero para mí tiene sentido))).
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2019.07.07 15:03
Elorden de los campos afecta al consumo de memoria y, aparentemente, al rendimiento.
Todavía no he podido entenderlo del todo.