MQL: seguridad frente a oportunidades - página 7

 
Renat:

Todo son tonterías. No es que estés corriendo gigabytes todo el tiempo.

El sistema operativo y los procesos del sistema tienen órdenes de magnitud más que ver con el disco.

Hubo una pregunta

komposter:

... ¿o hay algún tipo de software para comprobarlo?

...

Y por lo que sé, no es el tamaño, sino la ubicación del archivo.

Si el archivo reescribible permanentemente está siempre en un lugar (se puede fijar el intercambio allí) - la unidad comenzará a desmoronarse físicamente en este mismo lugar.

(Una desfragmentación semanal programada lo solucionará).

En definitiva, no es realmente estúpido.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
 
Renat:

Todo son tonterías. No es que estés corriendo gigabytes todo el tiempo.

El sistema operativo y los procesos del sistema trabajan mucho más con el disco.

Hola Renat, me gustaría aclarar mi pregunta sobre la noción de un sandbox de archivos en MT y qué papel se le asigna.

El sandbox de archivos es un permiso para que el Asesor Experto escriba o lea algo sólo en un lugar limitado.
Esto se hace explícitamente con el propósito de la seguridad de los datos informáticos.
Significa que restringimos el Asesor Experto a una caja de arena, de modo que es imposible que un troyano pueda FileOpen cualquiera de los datos privados del cliente fuera de la caja de arena.
De lo contrario, se requeriría elpermiso explícito de una DLL para el Asesor Experto.
DE ACUERDO.


¿Y si permite que el Asesor Experto no escriba en el disco, sino al menos en los archivos de la memoria?

¿Pierde la seguridad del usuario / MK?

 
sergeev:


¿Y si permitimos que el Asesor Experto no escriba en el disco, sino al menos en los archivos de la memoria?

¿Pierde esto la seguridad del usuario / MC?

¿Cuál es la necesidad de esto?

Hemos dado archivos, pips y variables globales, todos los expertos en un terminal pueden comunicarse entre sí normalmente y sin problemas. Pero la tarea de "comunicarse con alguien de fuera en modo libre" no está delante de nosotros. Por el contrario, nuestra tarea es no dejar que la información salga nunca.

ps: busca soluciones al método de comunicación entre terminales - no lo haremos.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 

Bien. Gracias.

y algunas preguntas más:

1. ¿puede poner planes de desarrollo - transferir información de EA a los agentes locales durante una prueba?

2. ¿se certificará una aplicación de mercado que utilice Pipes?

 
sergeev:


1. ¿puede poner en marcha planes de desarrollo - transferir información del experto a los agentes locales durante la prueba?


Para empezar, justifique la necesidad de este tipo de intervención.

En nuestra opinión, es metodológicamente incorrecto pasar alguna información adicional al EA probado además de la información proporcionada por el probador (conjunto de parámetros y archivos de datos, e incluso indicadores personalizados que ahora proporcionamos a petición).

Por cierto, los agentes locales tienen acceso a la carpeta compartida de todos los terminales de cliente en este ordenador.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
stringo:

Para empezar, justifique la necesidad de este tipo de intervención.

En nuestra opinión, es metodológicamente incorrecto dar cualquier información adicional al probador más allá de lo que éste proporciona (conjunto de parámetros y archivos de datos, e incluso indicadores personalizados que ahora proporcionamos a petición).

como ejemplo - su GA

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias de comercio

dll y el mercado.

joo, 2013.04.18 21:51

Has dado en el clavo. <...> y sobre lo que se ha discutido 100 veces - la transferencia de información a los agentes y la "estrechez de miras" en el número de parámetros optimizados.

<...>

1. Limitar el número de parámetros optimizables.

2. Monocriterio de optimización (perdón por la nueva combinación de palabras).

Imposibilidad de controlar el proceso de evaporación de la arena.

Esto no es un reproche a los desarrolladores, en absoluto. Por el contrario, ¡es una fantasía para los desarrolladores de programas MQL5!

<...> si aparece la transferibilidad bilateral - los problemas están resueltos. No será necesario poner en práctica los tres puntos anteriores: todo crecerá por sí solo.



Por cierto, los agentes locales tienen acceso a la carpeta compartida de todos los terminales de cliente en este ordenador.

Sí. Por eso me gustaría acelerar el intercambio de información sin cambiar el paradigma de la seguridad.
 
Su AG implica ante todo la generación de conjuntos de parámetros de entrada. Por lo tanto, en este caso, no se necesita ninguna información adicional
 
Renat:

A título informativo, nuestros servidores en la nube MQL5 Cloud Network generan normalmente unos 5 terabytes de tráfico al día , a veces hasta 10 Tb.

Si se deja entrar en esta red un tráfico personalizado sin restricciones con la garantía de llegar a cada agente, la red no se sentirá muy bien.

1. Me atrevo a decir que el 99,9% del tráfico consiste ahora en datos históricos.

2. No es necesario dirigirse a cada agente. A continuación le mostraré cómo hacerlo.

Renat:

...

Hemos dado archivos, tuberías y variables globales,todos los expertos en un terminal pueden comunicarse entre sí normalmente y sin problemas. Pero la tarea de "comunicarse con alguien de fuera en modo libre" no está delante de nosotros. Por el contrario, nuestra tarea es no dejar que la información salga nunca.

ps: No es necesario buscar soluciones al método de comunicación entre terminales, no lo haremos.

No sé nadie, pero antes he dejado muy claro que necesitamos un intercambio de información bidireccional entre los programas de la carta y los agentes. El exterior no es necesario. Es decir, dentro de una sola terminal (y los agentes que gestiona). En el intercambio de información no interviene ninguna otra copia en funcionamiento de los terminales (con fines diferentes).

estrangulamiento:

Creemos que es metodológicamente incorrecto pasar cualquier información adicional a un Asesor Experto bajo prueba además de la proporcionada por el probador(un conjunto de parámetros y archivos de datos, e indicadores personalizados).

Por cierto, los agentes locales tienen acceso a la carpeta compartida de todos los terminales de cliente en este ordenador.

Es exactamente a petición. Esto no es la dirección del agente con la transferencia de información a él, pero el propio agente tomará un paquete dirigido sólo a él (y en consecuencia sólo enviar este paquete por el probador a la nube).


Entonces, necesitas algo como esto:

#property  expert_opt_param 600


void OnTesterInit(const double &CustomData[])
{
   
}

donde expert_opt_param es una propiedad estándar de programas como EA.

Si CustomData resulta no estar inicializado, se salta el pase.

En consecuencia, el paquete de datos dirigido al agente debe ser creado previamente por el Asesor Experto en el gráfico para que el agente pueda recibirlo:

bool OptDataSend(double CustomData, int AgentId);

donde bool OptDataSend() - función estándar del lenguaje

double CustomData - datos del usuario

int AgentId - id de agente, en otras palabras - número de pase en el modo "fuerza bruta" del optimizador.


Y - ¿cómo se romperá la seguridad en este caso? Todo ello de forma estricta y en serie, dentro de un único sandbox terminal.

 
sergeev:

dentro de un EA se resuelve con CFastFile (en la carpeta MQH\Ctrl, búsquelo).

pero como la prueba mostró la salida de mapa de bits a la gráfica en comparación con los objetos es una pérdida de tiempo. CView manda :)

Supongo que la prueba no es muy correcta.

En primer lugar, no se utilizó OpenCL para crear el mapa de bits (discutible, por supuesto, para grandes volúmenes puede ser una ventaja para los pequeños, pero es dudoso),

en segundo lugar escribir en el archivo y leer del archivo son mucho más lentos que acceder a la memoria (y aquí con el recálculo frecuente, por ejemplo 24 veces por segundo las mayores pérdidas, escribir y leer el archivo 24 veces por segundo y medir el tiempo), eso es sólo la pérdida de 1-th bitmap vs 26 etiquetas.

Por eso estoy a favor de los archivos virtuales. Es una solución versátil. Se puede utilizar en muchos algoritmos.

 

Urain:

Supongo que la prueba no es muy correcta.

Escribir y leer de un archivo es un orden de magnitud más lento

No hubo escritura en el archivo. Fue ResourceCreate.

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5