Il mio approccio. Il nucleo è il motore. - pagina 30

 
Georgiy Merts:

Vi è stato detto molte volte che il vostro codice non è facile da capire. Anche per chi ha molta esperienza. Fare uso di tutte le caratteristiche è ancora più difficile (solo perché un sacco di roba è disponibile ovunque attraverso l'ambito globale). Le persone con poca conoscenza della programmazione non saranno in grado di farlo.

Cosa c'entra il mio codice?

A quanto pare, il pubblico non lo "capisce" affatto. Dovresti farmi un esempio.

Ok. Farò un semplice motore a finestre e lo fornirò con file di connessione e istruzioni.

Chi è interessato collegherà il test Expert Advisor al motore.

Dopo di che, continuiamo a comunicare su un altro livello di comprensione.

 
Реter Konow:

C'è il trading manuale. C'è il trading algoritmico. Non c'è quasi nessun commercio semi-automatico.

Se creiamo un trading semi-automatico, apparterrà a noi. Cioè apparterrà alla nicchia dell'algotrading.

Se il trading semi-automatico sarà creato da qualche azienda per gli utenti che fanno trading manuale su qualche piattaforma, allora la transizione dal trading manuale al trading semi-automatico sarà eseguita lì.

In breve, il compito è quello di interessare i commercianti manuali di tutto il mondo al trading semi-automatico.

E per tutti noi di fare soldi con questo.

Quindi la vostra GUI è per gli sviluppatori, giusto?
 
Реter Konow:

A quanto pare, il pubblico non lo "capisce" affatto. Dovresti darci un esempio.

questa è la pagina 30.

forse a pagina 100 comincerai a diventare costruttivo).

 

Ecco il motore con l'interfaccia grafica più semplice, il file EA di prova e i file di connessione.

1. Mettete i file delle proprietà di External Connection e Connection nella cartella di inclusione. Metti il fileTestApp v1.0.mq4 nella cartella Experts.

2. Metti il motore nella cartella degli indicatori.

3. aprire il file TestAppv1.0.mq4.

Aprite il file External Connection.

5. Mettete il plug-in sul grafico.

6. Compila e salva il test EA. Poi applicatelo anche al grafico.

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

Apparirà una finestra con un grande pulsante. Se lo premete, apparirà l'avviso.

L'avviso si trova nel file External Connection. Potete cambiare il testo al suo interno. La funzione utente può essere chiamata su eventi push/push.

//=====================================================================================================================
//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;
  
   }

Il file delle proprietà di connessione non può essere modificato. Non è necessario aprirlo.

 

Dovrebbe apparire una finestra come questa.

I pulsanti sulla barra delle applicazioni non hanno alcuna funzione e sono semplicemente decorativi.

C'è anche una finestra di menu contestuale. Si apre con un doppio clic. Questo aprirà una finestra con un pulsante.

Un consigliere di prova simboleggia un'applicazione personalizzata. Il motore è una GUI collegabile.

 

Questo si chiama "un modo semplice per aggiungere un'interfaccia grafica pronta all'uso al tuo 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);
      //------------------------------------
     } 
   //******************************************************************************************************
}

====

In generale, non è un problema separare la gui da Expert Advisor. Ma se vuoi farlo, puoi renderlo assolutamente normale - in OnChartEvent() solo gli eventi personalizzati sono catturati e nient'altro. In altre parole, tutte queste cento stringhe di file non sono necessarie. E a proposito, questo è molto indirettamente legato alla gui, è più sulle capacità del terminale. E la gui non è davvero mostrata in questo modo. Non viene mostrato affatto come viene creato.

 
Dmitry Fedoseev:

Questo si chiama "un modo semplice per aggiungere un'interfaccia grafica pronta all'uso al tuo EA":

====

In generale, non è un problema separare la gui da Expert Advisor. Ma se hai intenzione di farlo, potresti anche renderlo completamente normale - OnChartEvent() dovrebbe catturare solo eventi personalizzati e nient'altro.

Sai, sono stupito. È come un asilo. Sto parlando di un'opportunità per conquistare il campo del trading manuale e mi sto offrendo di usare uno strumento creato per questo scopo mentre il pubblico vuole dimostrarmi che sono un cattivo programmatore con una pessima grafica e scarse soluzioni.

Sembrano adulti, ma la comprensione non è affatto adulta.

Impostatelo secondo le istruzioni e provatelo. Poi tutto può essere esteso e si possono aggiungere GUI e funzionalità.

 
Dmitry Fedoseev:

... Quindi non avete bisogno di tutti quei cento file di corda.

Così, senza sapere nulla della tecnologia e senza averla provata, si dichiara immediatamente ciò che è necessario e ciò che non è necessario... Intelligente.

 
Dmitry Fedoseev:

... E a proposito, questo è molto indirettamente legato alla gui, è più sulle capacità del terminale. E la gui non è davvero mostrata in questo modo. Non viene affatto mostrato come viene creato.

La GUI viene creata nel mio costruttore. Volevo mostrare come è collegato e interagisce con l'Expert Advisor.

 
Реter Konow:

Sai, sono stupito. È come il giardino di un bambino. Sto parlando della possibilità di conquistare il campo del trading manuale e di offrire l'uso dello strumento creato per questo scopo, mentre il pubblico persegue l'obiettivo di dimostrarmi che sono un cattivo programmatore e ho una cattiva grafica e cattive soluzioni.

Sembrano adulti, ma la comprensione non è affatto adulta.

Impostatelo secondo le istruzioni e provatelo. Poi tutto può essere ampliato e si possono aggiungere GUI e funzionalità.

Questo è il punto, è l'asilo. Non prenderete un solo pesce con questa esca.

E che dire della sua programmazione. Concludete voi stessi - ancora cercando di dimostrare che OOP fa schifo e che i miei array sono l'avanguardia del mondo... che parlerebbe di asilo qui.

Comunque, nessun miracolo è ancora avvenuto.