Mi enfoque. El núcleo es el motor. - página 42

 
Maxim Kuznetsov:

La importación de la GUI del EA al indicador es algo cuestionable (sólo la arquitectura de MT - los indicadores trabajan en el hilo de la interfaz y pueden ralentizar TODO. Para evitar el frenado de los intermitentes en MT, se les prohíbe incluso parte de las funciones)

no sobre eso.

Si un miserable usuario tomó un par de indicadores (de terceros) y un EA y son todos GUI con el motor del núcleo fuera del camino. ¿Qué pasará?

PD/ Pedro, ya tienes por lo menos el alojamiento gratuito y pones ahí tu producto. Si el código base no es bueno. La publicación de las versiones alfa/beta/preview es un par de horas. ¿No puedes encontrar el tiempo?

Bueno, en primer lugar, voy a hacerlo. Y lo haré.

Me han acusado aquí en la promoción de productos, así que de hecho, esta es la promoción más inepta que se puede pensar. Porque si voy a empezar a ganar dinero, voy a ser el último. Cuando todo el mundo utilice la versión gratuita.


En cuanto a los indicadores, tienes razón. Los gráficos en ellos son lentos. Especialmente el desplazamiento. Ya he hecho algunos experimentos. El mismo código en el Asesor Experto (desplazamiento de la imagen), no causa ralentizaciones, y en el indicador - se ralentiza.

Por lo tanto, el motor se puede hacer como Asesor Experto que trabajará en cualquier gráfico libre, y la ventana se puede mover entre los gráficos utilizando botones especiales.

 
Реter Konow:

Las pestañas cambian todo el lienzo. La segunda y tercera opción están diseñadas para controlar el fenómeno de los elementos sin cambiar de kanvase. Es decir, se vuelve a dibujar el mismo kanvas y cada vez con un conjunto diferente de elementos.

Sobre la conexión, no entiendo tu idea. ¿Por qué no debería estar conectado a la EA? ¿Cómo se pueden sincronizar los parámetros?

La interfaz gráfica de usuario está completamente en el Asesor Experto o se conecta desde fuera. En el caso de conectarse externamente, es necesario establecer las propiedades de la conexión y sincronizar los valores de los parámetros en ambos lados.

¿A qué se llama aquí sincronización de parámetros? ¿Qué propiedades puede tener aquí la conexión?

 
Реter Konow:

Cuando todo el mundo utilice la versión gratuita.

por desgracia, no lo harán, su camino sólo cinta transportadora, la salida de los cuales es un montón de productos con los gráficos, a la cabeza y en el proceso, sólo usted)))

Parece que ya se ha comentado que tu planteamiento no lo entienden los que saben programar y los que no pueden programar sin tu ayuda, tienes 2 formas de hacerlo:

1. Mercado

2. Autónomo

SZZ: Repito mi opinión

a) para el comercio, los elementos básicos de los gráficos de la entrega de MT o puede utilizar los ejemplos de KB - todo esto está escrito en lenguajes de programación clásicos y no requiere tiempo adicional para la experimentación y la depuración, que acaba de tomar y utilizar. Todo esto se puede publicar en el Mercado

b) para escribir una plataforma analítica para uso personal, es mejor encontrar soluciones ya hechas y conectarlas a MT (.dll, Pythons, R, Matlab....) , en este caso, es mejor utilizar gráficos de terceros, por lo que MT sólo funcionará con el servidor

 
Dmitry Fedoseev:

¿A qué se llama aquí sincronización de parámetros? ¿Qué propiedades puede tener aquí la conexión?

Los controles tienen parámetros.

Por ejemplo Checkbox. Tiene un parámetro que tiene dos valores posibles: 1 y 0.

Si un usuario hace clic en una casilla de verificación y pone una marca, en el lado del motor, en la matriz de parámetros de los controles, se pone 1.

A continuación, se envía un mensaje a la aplicación del usuario con el número y el valor del parámetro de la casilla. Después, el nuevo valor se escribe en el análogo del array de parámetros de la aplicación y se llama a la función On_Gui_Event().

Así es como se sincronizan los valores entre el motor y la aplicación del usuario.


Propiedades de conexión:

Palabras clave, funciones de envoltura que establecen valores a elementos de la EA, funciones de envoltura que abren/cierran ventanas utilizables...

Inicialización de una copia de la matriz de parámetros en el Asesor Experto.

Eso es todo.

 
Igor Makanu:

por desgracia, no lo harán, su camino sólo una cinta transportadora con un montón de productos con gráficos, a la cabeza y en el proceso, sólo usted)))

Creo que ya hemos discutido (1)su enfoque es incomprensible para los que pueden programar y los que no pueden programar sin su ayuda, tiene dos opciones:

1. El mercado

2. Autónomo

SZZ: Repito mi opinión

a) para el comercio, los elementos básicos de los gráficos de la entrega de MT o puede utilizar los ejemplos de KB - todo esto está escrito en lenguajes de programación clásicos y no requiere tiempo adicional para la experimentación y la depuración, que acaba de tomar y utilizar. Todo esto se puede publicar en el Mercado

b) para escribir una plataforma analítica para uso personal, es mejor encontrar soluciones ya hechas y conectarlas a MT (.dll, Pythons, R, Matlab....) , (2) en este caso, es mejor utilizar gráficos de terceros, para que MT se ocupe sólo del servidor

1) Los que saben programar no necesitarán aprender mi enfoque. Sólo utilice el constructor y conecte la GUI creada a su aplicación.

2. esto es sólo para profesionales. Ya he demostrado que utilizar gráficos de terceros es mucho más difícil. Es una muleta que requiere un alto nivel de formación. Contra la ligereza de mi constructor, se convierte en algo sin sentido.

En definitiva, su solución no es para las masas. El mío es para las masas.

 
Igor Makanu:

Parece que ya se ha discutido que tu planteamiento es incomprensible para los que saben programar, y los que no pueden programar sin tu ayuda, tienes 2 caminos:

El constructor de gráficos a la salida crea un motor que lleva la GUI del usuario + los archivos de conexión.

A continuación, el usuario conecta el motor a su aplicación (como se ha descrito anteriormente), y rellena el archivo de conexión.

En este punto, eso es todo.

Nadie tiene que aprender mi enfoque. Sólo domina el lenguaje fácil del constructor.

 
Реter Konow:

Los controles tienen parámetros.

Por ejemplo Checkbox. Tiene un parámetro que tiene dos valores posibles: 1 y 0.

Si el usuario hace clic en la casilla de verificación y la marca, el lado del motor pone 1 en la matriz de parámetros de control.

A continuación, se envía un mensaje a la aplicación del usuario con el número y el valor del parámetro de la casilla. Después, el nuevo valor se escribe en el análogo de los parámetros de la matriz en la aplicación y se llama a la función On_Gui_Event().

Así es como se sincronizan los valores entre el motor y la aplicación del usuario.


Propiedades de conexión:

Palabras clave, funciones de envoltura que establecen valores a elementos de la EA, funciones de envoltura que abren/cierran ventanas utilizables...

Inicialización de una copia de la matriz de parámetros en el Asesor Experto.

Eso es todo.

¿En qué matrices está escrito? ¿En matrices regulares? Reinicié el terminal y todo se restableció...

El usuario ha pulsado un botón o una casilla de verificación - se ha producido un evento y el Asesor Experto ha reaccionado a este evento. ¿Qué más hay que sincronizar y por qué? En caso de reiniciar por separado el Asesor Experto o el indicador con un gui?

Tengo mucha curiosidad por saber cómo reaccionará al reiniciar el terminal. ¿Se guardarán los parámetros establecidos por el usuario?

 
Dmitry Fedoseev:

¿En qué matrices está escrito? ¿Las matrices normales? He reiniciado el terminal y todo se ha restablecido...

El usuario pulsó un botón o una casilla de verificación - se produjo un evento, el Asesor Experto reaccionó a este evento. ¿Qué más hay que sincronizar y por qué? En caso de reiniciar por separado el Asesor Experto o el indicador con un gui?

Tengo mucha curiosidad por saber cómo reaccionará al reiniciar el terminal. ¿Guardará los parámetros establecidos por el usuario?

El reinicio de la terminal conduce al reinicio del Asesor Experto. ¿No es así?

Se sincronizan dos matrices de tipo cadena (un tipo universal, adecuado para almacenar cualquier valor de parámetro).

Los elementos del motor representan los valores de sus parámetros.


Por ejemplo, una celda de una tabla. Almacena el último valor que se le ha pasado en una matriz de valores de parámetros.

Este array almacena las propiedades de los parámetros.

O las propiedades del parámetro del deslizador: valor mínimo, valor máximo, paso de valor, valor actual.

Cuando el usuario cambia el valor de una caja de entrada con botones (+/-), el cambio de valor se realiza en el motor y luego se pasa al EA.

Es decir, el Asesor Experto no necesita hacer un seguimiento de los cambios de valor de los elementos. Recibe valores listos y reacciona a ellos.

 
Dmitry Fedoseev:

...

El usuario pulsó un botón o una casilla de verificación - se produjo un evento, el Asesor Experto reaccionó a este evento. ¿Qué más hay que sincronizar y por qué? ¿En caso de reiniciar por separado el Asesor Experto o el indicador con gui?

...

¿Dónde se almacenan los valores de los elementos?

Inicialmente, los valores de los elementos se pueden fijar en el diseñador y también pueden ser fijados por el Asesor Experto en Inite.

El motor está obligado a almacenar los valores de los parámetros de los elementos. De lo contrario, no podrá procesarlos cuando el usuario interactúe con los elementos.

Es decir, cuando se mueva el mango del deslizador, el valor no cambiará en el lado del motor, y entonces, el usuario tendrá que seguir el valor por sí mismo.

Hay un gran número de otros matices.

Por ejemplo, la sincronización de los valores de los parámetros entre los elementos. Tiene que ser establecido en el nivel del constructor.

(Pregúntale a Oleg Papkov. Implementé la sincronización de sus elementos. Cambia la posición del deslizador, y en los campos de entrada de las diferentes ventanas los valores cambian. Y todo esto funciona a nivel de motor).

De lo contrario, todo esto lo tiene que hacer el propio usuario.

Y esto no es para las masas.

 
Реter Konow:

(Pregúntale a Oleg Papkov. He implementado la sincronización de sus elementos. Cambia la posición del deslizador, y los campos de entrada de las diferentes ventanas cambian de valor. Y todo esto funciona a nivel de motor).


¡Oh! Dame dos...

Nunca había visto esto antes y aquí está de nuevo :-)

Es el milagro de los milagros: cuando cambia uno, cambia el otro.

Al menos piensa de qué estás presumiendo :-)