¿Cómo ve a Metatrader X en 2030? - página 2

 
Igor Makanu:
...

habrá una manera de intercambiar datos entre los EAs que se ejecutan en diferentes gráficos

Ya lo he puesto en práctica y funciona. Cualquiera que entienda lo que significa la herencia múltiple debería ser capaz de hacerlo. Por lo demás, es una pena lo que sabe.

 
Igor Makanu:

Cualquier función estándar que envíe un array de bytes a las variables globales del terminal (aunque preferiblemente un array int, para que haya menos preguntas sobre cómo convertirlo) y, en consecuencia, la función inversa que permita leer este array en otro Expert Advisor

Las Variables Globales no son suficientes para intercambiar datos - hay un campo grande para el nombre de la variable y un campo pequeño para los datos, necesita lo contrario ;)

SZZ: hay muchos ejemplos en la red para analizar gráficos de decisión, sobre todo debido a que las interfaces logran una estructura de código flexible, las interfaces están en todas partes, en MQL no (

Estoy completamente de acuerdo. Las variables globales de la terminal son cojas. Pero hay que guardar instancias de clases, no arrays, como en WCF. Esta característica me sorprendió mucho en su momento. En lugar de rozar el flujo de bytes a través de la red, podría simplemente enviar la instancia de la clase, y todo lo haría .NET, y rápidamente, si lo envío en binario.

Hmm, mientras pulsaba el teclado, se me ocurrió hacer una libu como esta...

---

Sobre los gráficos de decisión e interfaces simplemente no me he encontrado, el mundo de la programación es inmenso ))

 
Реter Konow:

Ya lo he puesto en práctica y funciona. Cualquiera que entienda lo que significa la herencia múltiple debería ser capaz de hacerlo. De lo contrario, sus conocimientos carecen de valor.

¿Y sin la pompa y circunstancia baratas?

 
Реter Konow:

Ya lo he puesto en práctica y funciona.

и?

La KB tiene desde hace tiempo soluciones preparadas, ¿has añadido también tu propia solución? o simplemente... ¿pasas de largo?

 
Igor Makanu:

и?

la KB tiene soluciones preparadas desde hace mucho tiempo, ¿también has añadido tu propia solución? o simplemente... pasas por ahí?

a juzgar por la mención de la herencia múltiple, vacía...

 
Alexey Volchanskiy:

como en WCF, las instancias de clase

no se puede tener una solución complicada, no habrá uso masivo, cualquiera puede leer y escribir un array, si se necesita algo más complicado, no habrá necesidad en el intercambio de datos como escribí arriba, pero imho, GlobalArrayWrite(string name, int out[]) y GlobalArrayRead(string name , int &in[]) - eso es todo, no hay necesidad de usuarios

 
Alexey Volchanskiy:

¿Y sin la pompa y circunstancia?

Recursos. Declare una unión con arrays de varios tipos en ambos programas EA (o indicadores, o EA e indicador), que desea colocar en diferentes gráficos. En cada programa se escribe la dirección del lado opuesto en una variable de cadena (carpeta, subcarpeta, nombre del programa). Para comunicarse se utilizan dos funciones: la primera es la de leer el mensaje, la segunda es la de escribirlo. Las funciones se llaman en ambos programas a la frecuencia del temporizador.

La funcionalidad de cada programa debe escribir todos los datos a transferir a una variable de cadena. A continuación,se llamará a lafunción de paso de mensajes al final de la función del temporizador, que almacenará la cadena recogida en el recurso. Otro programa en otro gráfico, en el siguiente periodo del temporizador, llamará a la función de lectura del recurso situado en la dirección del otro programa y desempaquetará el mensaje. A continuación, puede componer su mensaje al primer programa de la misma manera y transmitirlo, simplemente escribiendo los datos necesarios en su recurso.

 
Alexey Volchanskiy:

Me preguntaba, he estado operando en forex durante unos 13 años, empecé con MT4 en 2006. Sólo me metí en este tema porque mi novia de entonces me pidió ayuda para entender el terminal, y descubrí felizmente un lenguaje parecido a C, el MQL4, y me enganché. Es curioso recordar que yo trabajaba en inglés en la terminal y estaba seguro de que era un desarrollo occidental. Cuando me enteré de que lo habían hecho los chicos de Kazan, me dio una disonancia cognitiva)).

Así, transcurridos 13 años, puedo marcar varias etapas en el desarrollo de los terminales MT*.

1. El comienzo del desarrollo de MT5, creo que fue en 2009. El desarrollo de MT5 se inició, creo que fue en 2009. En ese momento solía visitar el foro alp, todavía recuerdo cómo Renat lo visitó con su propaganda, y solía argumentar que el esquema de netting está muerto comercialmente en forex.

2. un hito muy importante para mí, a principios de 2013, el lanzamiento de la nueva MT4 build > 600. Hombre, yo estaba encantado, había estructuras, incluso clases, nuevas definiciones normales como en C++. Por fin se han corregido todos los errores, el editor no se cae al copiar y pegar, y también se han corregido otros errores. Desde antes escribía todas mis estrategias en C# a través de un puente a C++, y ahora empecé a portar mi código a MQL4, ya que se hizo posible trabajar normalmente en lugar de barajar.

3. No recuerdo el año aquí, ¿puede ser que sea 2016? Por favor, corrige. Mi idea era utilizar la versión de cobertura de MT5, por eso decidí cambiar a MT5.

4. tampoco recuerdo el año, ¿alrededor de 2018? Compilador único y posibilidad de escribir un proyecto multiplataforma en MT5. Así es como he estado escribiendo para mí desde entonces. Cuando ofrezco esta oportunidad a mis Clientes, el 90% de ellos la aceptan de inmediato, absolutamente todos ellos ni siquiera lo saben. Para la multiplataforma recomiendo la libu MT4Orders de fxsaber, puedes encontrarla en kodobase.

5. Esto es una mezcolanza de cosas, ya que MT5 está en constante evolución, esto es muy agradable.

He esbozado a grandes rasgos la evolución de la plataforma a lo largo de 13 años, pero ¿qué ocurrirá dentro de 10 años más? Tal vez, algunas fantasías se vean reflejadas en futuros desarrollos ))

Esa es otra cosa... Una vez tuve 10 amigas que me rogaban a la vez, de rodillas, que averiguara el terminal... Les contesté: Qué vergüenza, no soy un hombre libre, ya tengo 50 novias bajo mi tutela, sólo tengo un piso de tres habitaciones en San Petersburgo, y no me sobra el tiempo: tengo que mear a los chechenos día y noche...

Y MT lo es y lo será.

 
Igor Makanu:

и?

La KB tiene desde hace tiempo soluciones preparadas, ¿has añadido también tu propia solución? o simplemente... ¿pasas de largo?

Entonces, ¿por qué lo esperas en la década de los 30? Si ya está ahí...
 
Igor Makanu:

No se puede tener una solución compleja, no habrá masas, cualquiera puede leer y escribir el array, si algo más complicado no será demandado. Como escribí arriba, hay buenas soluciones para el intercambio de datos en KB, pero imho, GlobalArrayWrite(string name, int out[]) y GlobalArrayRead(string name , int &in[]) - eso es todo, no se necesita más para el usuario

Mira, incluso las operaciones de archivo han estado disponibles durante mucho tiempo

uintFileWriteStruct(
intfile_handle,//manejador de archivo
const void&struct_object,// referencia del objeto
inttamaño=-1// tamaño de la escritura en bytes
);


Es mucho más conveniente leer y escribir estructuras u objetos de clase que analizar un flujo de tipos simples. ¿Quizás me he vuelto perezoso con la edad? Sí, prefiero hacer más cosas mientras aporreo menos el teclado ))