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

 
Georgiy Merts:

Le han dicho muchas veces que su código no es fácil de entender. Incluso para los que tienen mucha experiencia. Hacer uso de todas las características es aún más difícil (sólo porque un montón de cosas están disponibles en cualquier lugar a través del ámbito global). Las personas con pocos conocimientos de programación no podrán hacerlo.

¿Qué tiene que ver mi código con esto?

Por lo visto, el público no lo "entiende" en absoluto. Deberías darme un ejemplo.

De acuerdo. Haré un motor de ventana simple y lo proporcionaré con el archivo de conexión y las instrucciones.

Los interesados conectarán el Expert Advisor de prueba al motor.

Después, sigamos comunicándonos en otro nivel de entendimiento.

 
Реter Konow:

Existe el comercio manual. Existe el comercio algorítmico. Casi no hay comercio semiautomático.

Si creamos el comercio semiautomático nos pertenecerá. Es decir, pertenecerá al nicho de algotrading.

Si alguna empresa creará la negociación semiautomática para los usuarios que operan manualmente en alguna plataforma, entonces la transición de la negociación manual a la semiautomática se realizará allí.

En definitiva, se trata de interesar a los operadores manuales de todo el mundo en el comercio semiautomático.

Y para que todos ganemos dinero con ello.

Así que su interfaz gráfica de usuario es para los desarrolladores, ¿verdad?
 
Реter Konow:

Por lo visto, el público no lo "entiende" en absoluto. Debería darnos un ejemplo.

esta es la página 30.

quizás en la página 100 empieces a ser constructivo).

 

Aquí está el motor que lleva la GUI más simple, el archivo EA de prueba y los archivos de conexión.

1. Coloque los archivos de conexión externa y de propiedades de conexión en la carpeta de inclusión. Coloque el archivoTestApp v1.0.mq4 en la carpeta Experts.

2. Coloca el motor en la carpeta de indicadores.

3. Abra el archivo TestAppv1.0.mq4.

Abra el archivo de conexión externa.

5. Coloca el complemento en el gráfico.

6. Compilar y guardar el EA de prueba. A continuación, aplíquelo también al gráfico.

//----------------------------------------------

Aparecerá una ventana con un botón grande. Si lo pulsa, aparecerá la alerta.

La Alerta se encuentra en el archivo de Conexión Externa. Puedes cambiar el texto dentro de él. La función de usuario puede ser llamada en eventos de empuje/empuje.

//=====================================================================================================================
//WINDOW:   Simple button | element: BUTTON  | name: Hello world!  |  Location: Window's Main Frame
//=====================================================================================================================
case BUTTON3___Hello_world_:
               //------------------------------------------------------------------------------------------------------
               //What to do when button pressed or released?
               //------------------------------------------------------------------------------------------------------
               switch((int)action)
               {
                case pressed:  Alert("Button pressed!");   break;  <------ Здесь можно установить любой польз.код, который сработает на событии нажатия.
  
                case released: Alert("Button released!");  break;  <------ Здесь можно установить любой польз.код, который сработает на событии отжатия.
               }
               //------------------------------------------------------------------------------------------------------
               //Your comment:
               //------------------------------------------------------------------------------------------------------
               break;
  
   }

El archivo de propiedades de conexión no puede ser modificado. No es necesario abrirlo.

Archivos adjuntos:
 

Debería aparecer una ventana como ésta.

Los botones de la barra de tareas no tienen ninguna función y son meramente decorativos.

También hay una ventana de menú contextual. Se abre con un doble clic. Esto abrirá una ventana con un botón.

Un asesor de pruebas simboliza una aplicación personalizada. El motor es una interfaz gráfica de usuario enchufable.

 

Este se llama "una forma fácil de añadir una gui a su EA":

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {

   //******************************************************************************************************
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + DRIVE_IS_READY)EventChartCustom(0, INIT_GUI,   0,0,NULL);
   //------------------------------------------------------------------------------------
   if(id == CHARTEVENT_CUSTOM + SYNC_P_CORE)
     {
      
      P_CORE[lparam][_NEW_VALUE]      = sparam;
      P_CORE[lparam][_LAST_VALUE]     = P_CORE[lparam][_CURRENT_VALUE];
      P_CORE[lparam][_CURRENT_VALUE]  = sparam;
      //------------------------------------ 
      On_Gui_Event(lparam,sparam);
      //------------------------------------
     } 
   //******************************************************************************************************
}

====

Por lo general, no es un problema separar el gui del Expert Advisor. Pero si quieres hacerlo, puedes hacerlo absolutamente normal - en OnChartEvent() sólo se capturan los eventos personalizados y nada más. En otras palabras, todas estas cien cadenas de archivos son innecesarias. Y por cierto, esto tiene una relación muy indirecta con la gui, se trata más bien de las capacidades de la terminal. Y el gui no se muestra de tal manera. No se muestra en absoluto cómo se crea.

 
Dmitry Fedoseev:

Este se llama "una forma fácil de añadir una gui a su EA":

====

Por lo general, no es un problema separar el gui del Expert Advisor. Pero si lo vas a hacer, mejor que sea completamente normal - OnChartEvent() debería atrapar sólo eventos personalizados y nada más.

Sabes, estoy sorprendido. Es como un jardín de infancia. Hablo de una oportunidad para conquistar el área del trading manual y ofrezco utilizar una herramienta creada para ello mientras el público quiere demostrarme que soy un mal programador con malos gráficos y malas soluciones.

Parecen adultos, pero el entendimiento no es adulto en absoluto.

Configúralo según las instrucciones y pruébalo. Luego se puede ampliar todo y se pueden añadir interfaces gráficas de usuario y funcionalidades.

 
Dmitry Fedoseev:

... Así que no necesitas todos esos cientos de archivos de cuerda.

Así que, sin saber nada de la tecnología y sin haberla probado, declaras inmediatamente lo que se necesita y lo que no se necesita... Inteligente.

 
Dmitry Fedoseev:

... Y por cierto, esto tiene una relación muy indirecta con la gui, se trata más bien de las capacidades del terminal. Y el gui no se muestra realmente así. No se muestra en absoluto cómo se crea.

GUI se crea en mi constructor. Quería mostrar cómo está conectado e interactúa con el Asesor Experto.

 
Реter Konow:

Sabes, estoy sorprendido. Es como el jardín de un niño. Hablo de la posibilidad de conquistar el campo del trading manual y de ofrecer el uso de la herramienta creada para ello, mientras el público persigue el objetivo de demostrarme que soy un mal programador y que tengo malos gráficos y malas soluciones.

Parecen adultos, pero el entendimiento no es adulto en absoluto.

Configúralo según las instrucciones y pruébalo. Luego se puede ampliar todo y añadir la interfaz gráfica de usuario y la funcionalidad.

Esa es la cuestión, es el jardín de infancia. No pescarás ni un solo pez con este cebo.

Y qué decir de su programación. Concluye tú mismo - sigue intentando demostrar que la POO es una mierda y que mis arrays son la vanguardia del mundo... que hablaría de la guardería aquí.

De todos modos, aún no se ha producido ningún milagro.

Razón de la queja: