Mein Ansatz. Der Kern ist der Motor. - Seite 30

 
Georgiy Merts:

Man hat Ihnen schon oft gesagt, dass Ihr Code nicht leicht zu verstehen ist. Auch für diejenigen, die schon viel Erfahrung haben. Es ist sogar noch schwieriger, alle Funktionen zu nutzen (nur weil eine Reihe von Dingen überall über den globalen Bereich verfügbar ist). Personen mit geringen Programmierkenntnissen werden dazu nicht in der Lage sein.

Was hat mein Code damit zu tun?

Offensichtlich versteht die Öffentlichkeit das überhaupt nicht. Sie sollten mir ein Beispiel geben.

Ja. Ich werde eine einfache Fenstermaschine erstellen und sie mit einer Verbindungsdatei und Anweisungen versehen.

Diejenigen, die daran interessiert sind, werden den Test Expert Advisor an den Motor anschließen.

Danach sollten wir die Kommunikation auf einer anderen Verständigungsebene fortsetzen.

 
Реter Konow:

Es gibt den manuellen Handel. Es gibt den algorithmischen Handel. Es gibt fast keinen halbautomatischen Handel.

Wenn wir einen halbautomatischen Handel schaffen, wird er uns gehören. Das heißt, es wird zur Nische des Algotrading gehören.

Wenn ein Unternehmen einen halbautomatischen Handel für Benutzer einführt, die manuell auf einer Plattform handeln, dann wird der Übergang vom manuellen Handel zum halbautomatischen Handel dort erfolgen.

Kurz gesagt, es geht darum, manuelle Händler in der ganzen Welt für den halbautomatischen Handel zu interessieren.

Und für uns alle, damit wir damit Geld verdienen.

Ihr GUI ist also für Entwickler gedacht, richtig?
 
Реter Konow:

Offensichtlich hat die Öffentlichkeit überhaupt nichts verstanden". Sie sollten uns ein Beispiel geben.

Dies ist Seite 30.

vielleicht fangen Sie ab Seite 100 an, konstruktiv zu werden.)

 

Hier ist die Engine mit der einfachsten GUI, der Test-EA-Datei und den Verbindungsdateien.

1. Legen Sie die Dateien Externe Verbindung und Verbindungseigenschaften in den Einschlussordner. Legen Sie die DateiTestApp v1.0.mq4 in den Ordner Experts.

2. Legen Sie den Motor in den Ordner "Indikatoren".

3. Öffnen Sie die Datei TestAppv1.0.mq4.

Öffnen Sie die Datei Externe Verbindung.

5. Legen Sie das Plug-in auf die Karte.

6. Kompilieren und speichern Sie den Test EA. Wenden Sie es dann auch auf das Diagramm an.

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

Es erscheint ein Fenster mit einer großen Schaltfläche. Wenn Sie die Taste drücken, wird die Meldung angezeigt.

Der Alert befindet sich in der Datei Externe Verbindung. Sie können den Text darin ändern. Die Benutzerfunktion kann bei Push/Push-Ereignissen aufgerufen werden.

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

Die Datei mit den Verbindungseigenschaften kann nicht geändert werden. Es ist nicht notwendig, sie zu öffnen.

 

Es sollte ein Fenster wie das folgende erscheinen.

Die Schaltflächen auf der Taskleiste haben keine Funktion und sind lediglich dekorativ.

Es gibt auch ein Kontextmenüfenster. Es öffnet sich mit einem Doppelklick. Daraufhin wird ein Fenster mit einer Schaltfläche geöffnet.

Ein Testberater symbolisiert eine benutzerdefinierte Anwendung. Die Engine ist eine steckbare GUI.

 

Dieser nennt sich "eine einfache Möglichkeit, eine fertige Benutzeroberfläche zu Ihrem EA hinzuzufügen":

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);
      //------------------------------------
     } 
   //******************************************************************************************************
}

====

Im Allgemeinen ist es kein Problem, die Benutzeroberfläche vom Expert Advisor zu trennen. Aber wenn Sie es tun wollen, können Sie es absolut normal machen - in OnChartEvent() werden nur benutzerdefinierte Ereignisse abgefangen und nichts anderes. Mit anderen Worten, all diese hundert Dateiketten sind unnötig. Das hat übrigens nur indirekt mit der Benutzeroberfläche zu tun, es geht eher um die Fähigkeiten des Terminals. Und die Benutzeroberfläche wird nicht auf diese Weise angezeigt. Es wird überhaupt nicht gezeigt, wie es zustande kommt.

 
Dmitry Fedoseev:

Dieser nennt sich "eine einfache Möglichkeit, eine fertige Benutzeroberfläche zu Ihrem EA hinzuzufügen":

====

Im Allgemeinen ist es kein Problem, die Benutzeroberfläche vom Expert Advisor zu trennen. Aber wenn Sie es tun werden, könnten Sie auch machen es ganz normal - OnChartEvent() sollte nur benutzerdefinierte Ereignisse und nichts anderes zu fangen.

Wissen Sie, ich bin erstaunt. Es ist wie ein Kindergarten. Ich spreche von einer Möglichkeit, den Bereich des manuellen Handels zu erobern, und biete an, ein zu diesem Zweck entwickeltes Tool zu verwenden, während das Publikum mir beweisen will, dass ich ein schlechter Programmierer mit schlechten Grafiken und schlechten Lösungen bin.

Es sieht aus wie Erwachsene, aber das Verständnis ist überhaupt nicht erwachsen.

Richten Sie es entsprechend der Anleitung ein und probieren Sie es aus. Dann kann alles erweitert werden, und es können GUIs und Funktionen hinzugefügt werden.

 
Dmitry Fedoseev:

... Sie brauchen also nicht all diese hundert Seildateien.

Ohne etwas über die Technologie zu wissen und ohne sie ausprobiert zu haben, erklären Sie also sofort, was gebraucht wird und was nicht... Raffiniert.

 
Dmitry Fedoseev:

... Das hat übrigens nur indirekt mit der Benutzeroberfläche zu tun, es geht eher um die Fähigkeiten des Terminals. Und die Benutzeroberfläche ist nicht wirklich auf diese Weise dargestellt. Es wird überhaupt nicht gezeigt, wie es zustande kommt.

GUI wird in meinem Konstruktor erstellt. Ich wollte zeigen, wie er mit dem Expert Advisor verbunden ist und mit ihm interagiert.

 
Реter Konow:

Wissen Sie, ich bin erstaunt. Es ist wie der Garten eines Kindes. Ich spreche von der Möglichkeit, das Feld des manuellen Handels zu erobern und biete an, das zu diesem Zweck geschaffene Tool zu nutzen, während die Öffentlichkeit das Ziel verfolgt, mir zu beweisen, dass ich ein schlechter Programmierer bin und schlechte Grafiken und Lösungen habe.

Es sieht aus wie Erwachsene, aber das Verständnis ist überhaupt nicht erwachsen.

Richten Sie es entsprechend der Anleitung ein und probieren Sie es aus. Dann kann das Ganze erweitert werden, und es können GUI und Funktionalität hinzugefügt werden.

Das ist die Sache, es ist ein Kindergarten. Mit diesem Köder werden Sie keinen einzigen Fisch fangen.

Und was ist mit Ihrer Programmierung? Schließen Sie selbst - Sie versuchen immer noch zu beweisen, dass OOP scheiße ist und meine Arrays die Avantgarde der Welt sind... der hier über den Kindergarten sprechen würde.

Jedenfalls ist noch kein Wunder geschehen.