Cualquier pregunta de un PROFI a un SUPER PROFI - 1. - página 32

 

Y sí, no es UB en C++ después de todo.

Pero en cualquier caso, combinar cosas de funciones dependientes en parámetros es un mal estilo de programación.

 

Hay un EA que opera en un ordenador de sobremesa. Pregunta: ¿cómo, sin acceso a un ordenador, puedo impedir que el EA funcione?

P.d. Sólo he encontrado una opción: añadir al EA un bloque que compruebe la presencia de una orden limitada en algún par exótico... si encuentra una, la borra y detiene el EA. Y la orden de Límite puede establecerse por teléfono en caso de emergencia... ¿Pero tal vez haya otras opciones?

 

con una hoja de límite es una opción fiable, utilícela.

A veces añaden información adicional para el experto al precio o al comentario sobre el límite.

 

¿Simplemente terminar el EA, por condición interna?
Acabo de dejar este hilo, podría encajar... ))

https://www.mql5.com/ru/forum/112689

 
sergeev:

A veces se añade información adicional al precio o al comentario del límite para el examinador.

Sí, magik + comentario.
 
TheXpert:
Sí, magik + comentario.

Andrey, te digo la verdad. Hace tiempo tuve un encargo en el que una persona me pidió que hiciera tres límites.

- uno para activar/desactivar un EA
- en el segundo, los últimos 4 precios contenían la hora actual dada por el EA. es decir, se comprobaba si el EA estaba funcionando o no
- en el tercero, cada cifra de precio contenía 5 parámetros, según los cuales el EA debía funcionar.

El Magik se ha utilizado como siempre para la adhesión a las órdenes.

 
sergeev:

magik sirvió como siempre para pertenecer a sus órdenes.

Utilizaría el magik para determinar la asignación, y escribiría información adicional en el comentario.
 

El tema de redimensionar el mapeo de archivos abiertos hacia arriba se ha planteado en algún lugar, posiblemente aquí.

El tamaño se cambia llamando de nuevo a CreateFileMapping() con el mismo nombre y un nuevo tamaño, ¡pero no puede ser superior a 8196 bytes! Obtenido experimentalmente.

Es decir, no es posible cambiar el tamaño de un mapa más grande. Pero, de 0 a 8196 funciona.

Tal vez alguien sabe, hay una manera de cambiar el tamaño sin volver a abrir la asignación de archivos?

 

http://www.delphisources.ru/pages/faq/base/filemapping.html


function CreateFileMapping(hFile: THandle; lpFileMappingAttributes: PSecurityAttributes; flProtect, dwMaximumSizeHigh, dwMaximumSizeLow: DWORD; lpName: PChar): Manejar;

dwMaximumSizeHigh - el valor máximo de 64 bits del tamaño de la memoria asignada para el acceso compartido (más de 4 Gbt) - no necesitamos tanto :) - Asignemos el valor 0 a este argumento.

dwMaximumSizeLow - ¡Gracias a los amables habitantes del Reino que señalaron el error en la descripción de este argumento! Especialmente el Sr. Uno, que lo ha explicado muy bien. (ver comentario al artículo) - el valor inferior de 64 bits del tamaño de la memoria compartida - si dwMaximumSizeHigh es igual a 0, el tamaño de este argumento debe ser al menos SIZE OF DATA para ser colocado en el archivo de intercambio. Tenga en cuentaque el tamaño de la "página" de Intel es de 4 KBt, es decir, si especifica 1 byte, obtendrá un "bolsillo para compartir" :) 4 KBt, si especifica 4001, podrá poner hasta 8Kbt de datos en el objeto de asignación de archivos, etc.

 

en general la página es de 64 kb. no está claro por qué hace 8. no deljon.

http://wm-help.net/books-online/book/59464/59464-10.html