Charla sobre el probador de estrategias de MT5 - página 9

 
Andrey Dik:

Lo siento, ¿qué es? ¿Precios excesivos?
Trabajo con hosting especializado que puede alojar VPS donde sea conveniente para el cliente, NY4, LD4, tan caro pero rápido (ping 0-1ms).

El precio es excesivo.

Juegue con nuestro visualizador de VPS: hay una red mundial y tiempos precisos con la topología de los servidores de todos los brokers de MetaTrader

Cuesta 10 dólares y todos los núcleos físicos están disponibles. Una aclaración importante es que mostramos el tiempo neto en el protocolo del servidor, no el ping de la red, que casi siempre es inferior al ping real.

 
Yuriy Zaytsev:

Se trata de leer el historial de un área - de una carpeta para un grupo de terminales, el historial no está cambiando, sólo se resuelve sin problemas. Acerca de la cartografía personalizable se conoce desde hace mucho tiempo.

No es eso, has descargado el historial de un terminal y luego has hecho referencia a él desde otros terminales, nada del otro mundo... ese no es el problema.

¿Por qué te echas atrás? :)))

¿O es que no lo has leído con atención? ¿La única manera de conseguir un argumento sin apostar dinero? Yuri, eres como un niño, de verdad.

 
Andrey Dik:

Ves, Yuri, ¡hay soluciones! ¡Y se puede sacar todo de la caja en MT!

Es sólo ideología de MT, no implica varias copias de terminales en funcionamiento, por lo que no hay tarea para tener acceso a la base de datos única.

Escribe 100 ticks de 100 terminales en un archivo... en un momento dado.

Vasiliy Sokolov:


Lo hice una vez:https://www.mql5.com/ru/articles/1316#c4_1

Está claro que sin DB, la única manera de intercambiar adecuadamente entre terminales sin dll, es bloquear un archivo y competir por el acceso a él como esta lata:

Hay artesanos que organizan la sincronización del entorno comercial a través de WebRequest y del servidor intermedio (ver copiadores de acuerdos en Market).

Está claro que todo esto es lento y hace agujeros en los discos duros de los usuarios, pero qué podemos hacer si la base de datos no nos la han dado (ni nos la van a dar).

¡Está todo claro!

Estamos hablando de un terminal estándar - que recoge los ticks en un punto ... y si 100 terminales empiezan a escribir el mismo tick en un archivo ! qué pasará ?

No es un problema leer el historial general de un recurso mapeado (carpeta). (y este historial debe formarse a partir de un terminal, no de 100 a la vez)

Andrey quizás confundes la lectura de un HISTORIAL común - y la escritura en un archivo?

 
Renat Fatkhullin:

Un precio excesivo es un precio innecesariamente alto.

Juegue con nuestro visualizador de VPS: hay una red mundial y tiempos precisos con la topología de los servidores de todos los brokers de MetaTrader

Cuesta 10 dólares y todos los núcleos físicos están disponibles. Una aclaración importante es que mostramos el tiempo neto en el protocolo del servidor, no el ping de la red, que casi siempre es inferior al ping real.

Tu hosting es una gran solución específica cuando necesitas configurar un EA, enviarlo al hosting y olvidarte de él. La mejor solución para estas tareas.

Pero desgraciadamente no es adecuado cuando se necesita que varios terminales accedan entre sí. Esto se debe en parte a que el terminal MT no tiene la capacidad de conectarse a varias cuentas al mismo tiempo. Hay otras tareas que no son compatibles con su VPS.

Por cierto, su visualizador VPS se utiliza activamente, gran cosa.

 
Andrey Dik:

¿Por qué te echas atrás? :)))

¿O es que no lo has leído con atención? ¿Sólo para discutir y no apostar dinero en una discusión? Yuri, eres como un niño, de verdad.

¡dar una respuesta sensata!

¿Cómo se escribe el TICK de una herramienta en la base de datos! que debe ser almacenado en la base de datos por un registro con un ID

Tienes 100 terminales haciendo INSERT ...

 
Yuriy Zaytsev:

Registra 100 ticks de 100 terminales en un archivo... en un momento dado.

Eso es exactamente de lo que estamos hablando.

Hablamos de un terminal estándar - que recoge los ticks en un punto... y si 100 terminales empiezan a escribir el mismo tick en un archivo ! qué pasará ?

realmente no es un problema leer el historial de un recurso mapeado ( carpeta). (además este historial debe formarse a partir de un terminal y no de 100 a la vez)

Andrew y tal vez usted confunde la lectura de la historia común - y escribir en el archivo?

No nos hagamos los tontos, ¿vale? No tiene barba, pero ya está calvo. Lo he dejado claro: se ha creado una carpeta compartida con datos históricos y los terminales funcionan bien con ella a través de un enlace, sin problemas de acceso. Realmente ahorra espacio en el disco, que es muy limitado.
 
Yuriy Zaytsev:

¡dar una respuesta sensata!

CÓMO SE ESCRIBE EL TICK A LA BASE desde una herramienta! que debe ser almacenada en la base de datos por UNA entrada con un ID!

Tienes 100 terminales haciendo INSERT ...

¡No quieres discutir! ¿Por qué tengo que explicar una y otra vez lo mismo, y gratis?

Un recordatorio y una advertencia: está adoptando una posición equivocada y perjudicial para el desarrollo de la MT.

 
Andrey Dik:
No hagamos el ridículo, ¿vale? No le sienta bien a los hombres con barba pero ya calvos. Lo he dejado claro: se ha creado una carpeta compartida con datos históricos y los terminales funcionan bien con ella a través de un enlace, sin problemas de acceso. Realmente ahorra espacio en el disco, que es muy limitado.

¿tiene usted 100 terminales escribiendo la historia al mismo tiempo?

--

Por favor, no se haga el tonto, sólo queremos una respuesta.

CÓMO SE ESCRIBE EL TICK de una herramienta en una BASE DE DATOS - debe almacenarse en la base de datos como UN registro y con UN ID.

tienes 100 terminales escribiendo INSERT en la misma tabla al mismo tiempo para esta herramienta ...

p.d.

Tengo una solución - la suya es interesante

 
Yuriy Zaytsev:

¿tiene usted 100 terminales escribiendo la historia al mismo tiempo?

--

Por favor, no haga el ridículo: ¡sólo queremos una respuesta!

CÓMO SE ESCRIBE un TICK de una herramienta en una BASE DE DATOS - debe ser almacenado en la base de datos como UN registro con un ID

tienes 100 terminales escribiendo INSERT en la misma tabla al mismo tiempo ...

Yo responderé por Andrei. Si estamos trabajando con archivos, entonces el INSERT simultáneo está fuera de lugar. El INSERT se realiza sólo por el hilo que tiene acceso al archivo primero. El resto obtendrá INVALID_HANDLE y no podrá escribir. El hilo que obtenga el handle podrá comprobar si su registro ya existe en el fichero o no (suponiendo que sepamos determinar la unicidad de cada registro). Si no hay registro, lo escribimos, si el registro ya fue hecho por alguien, cerramos el mango.

Otra cuestión es que hacer 100 escritores y 100 lectores a la vez no es como mínimo racional y puede causar problemas. A ser posible, debería haber un solo escritor. Averiguar a quién asignar como escritor de entre 100 hilos también es muy posible.

p.d. No vamos a discutir la cuestión del acceso competitivo a los SGBD durante más de una docena de páginas. Teniendo en cuenta que no hay DB en MQL, tampoco vamos a discutir el tema de la discusión.

 
Vasiliy Sokolov:

Yo responderé por Andrei. Si estamos trabajando a través de archivos, no estamos hablando de un INSERT simultáneo. El INSERT será realizado sólo por el hilo que tenga acceso al archivo primero. El resto obtendrá INVALID_HANDLE y no podrá escribir. El hilo que obtenga el handle podrá comprobar si su registro ya existe en el fichero o no (suponiendo que sepamos determinar la unicidad de cada registro). Si no hay registro, lo escribimos, si el registro ya fue hecho por alguien, cerramos el mango.

Otra cuestión es que hacer 100 escritores y 100 lectores a la vez no es como mínimo racional y puede causar problemas. A ser posible, debería haber un solo escritor. También es posible averiguar a quién asignar como escritor de entre 100 hilos.

¡ese es mi punto! y que

Vasily, es comprensible que se pueda competir por el expediente desde 100 terminales.

otra cosa es que se puedan copiar las operaciones de un terminal a otro mediante el copiador


La cuestión es que el propio terminal (si es MT4) escribe los ticks en el archivo ticks.raw...

pero si trata de escribir 100 terminales a la vez en el archivo {TERMIN}\history\ {{broke}\tisks.raw - se producirá un error

Eso es lo que no creo que Andrei entienda.


Vuelvo a oír el chirrido del sofá teórico debajo de Andrei.

p.d.

Andrei, ¿fuiste a buscar grasa para el sofá?