Crowdsourced GUI. Offene Betatests. - Seite 18

 
Реter Konow:

Handelt es sich bei diesen "Knoten" um dynamische und interaktive Objekte sowie um die Verbindungen zwischen ihnen? Es ist nicht nur ein Schema, oder? Wenn ja, dann habe ich etwas Ähnliches in Andrei Barinovs grafischem Strategy Builder gesehen. Ist es das, was Sie meinen?

Ist die Logik der Verknüpfungen zwischen den Knoten unveränderlich und folgt sie vordefinierten Regeln, oder ist sie ein frivoles Schema, das nach Belieben erstellt wird?

Im Prinzip sehe ich keine Schwierigkeiten bei der Erstellung. Das sind zwei bis drei Tage Arbeit. Ich benötige keinen zusätzlichen Code. Ich werde es selbst tun, nach den wichtigsten Dingen, die im Moment Priorität haben.

Ja, dies ist eine Darstellung der Strategie, nur nicht die von Andrei Barinov, sondern meine eigenen Entwicklungen.

Eine visuelle Bearbeitung wird nicht erwartet. Es wird eine automatische Erzeugung geben.

"Kein zusätzlicher Code erforderlich." - Es darf also keine Strategie in Form einer Datei geben. Sie wollen also einen Parser erstellen? Wir haben bereits eine, warum brauchen Sie sie :) ? Ich kann Ihnen Beispiele schicken, wie Sie mit der Strategie arbeiten können, das ist einfach und bequem.

Hier ist ein Beispiel:

#include <Greshnik\\Strategy.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   cStrategy *st=new cStrategy();
   st.Read_from_file("Strategy\\Test\\1.txt");  //Читаем с файла
   st.Print_strategy();                         //Вывести в лог
   int count_top_nodes=st.Get_top_nodes_count();//Количество узлов на вершине
   int my_node=-1;
   for(int i1=0; i1<count_top_nodes; i1++)
     {
      int node_id=st.Get_top_node(i1);
      if(node_id<0)
        {
         Print("Узла на вершине нету по индексу:",i1);
        }
      else
        {
         my_node=node_id;
        }
     }
   if(my_node>=0)
     {
      Print("Тип узла: ",EnumToString(st.Get_node_type(my_node)));
      Print("Количество родительских узлов: ",st.Get_parents_nodes_count(my_node));
     }
   delete st;
  }

Wenn ein Fehler auftritt, müssen Sie sich das Protokoll ansehen, dort steht alles auf Russisch.

Und im Quellcode ist alles beschrieben.

 
Aliaksandr Hryshyn:

Ein solches Beispiel spiegelt nicht wider, wie ich es haben möchte, es zeigt die Struktur und einige Merkmale. Die Knoten haben auch einige Informationen zu zeigen. Richtung von unten nach oben.

Es gibt keinen Weg ohne zusätzlichen Code, der es erlaubt, diese Art von Struktur aus einer Textdatei zu lesen und alle Informationen darüber zu erhalten.

Ich möchte eine schöne Präsentation dieser Struktur.

Sie erfordert eine dynamische Erstellung von grafischen Elementen.

Hier ist ein Beispiel für eine Datei mit dieser Art von Struktur, Sie können sehen, wozu die Struktur dient :)

Diese Datei kann vom Code gelesen werden, und es besteht ein einfacher Zugang zu allen Parametern der Struktur. Nicht alle Arten von Knoten sind hier vertreten.

Ich bestehe nicht auf Hilfe, ich weiß, dass es einige Anstrengungen erfordert. Es ist ein Problem der optimalen Platzierung von Knoten erforderlich, denn die Platzierung nach Listen ist wegen der schlechten Lesbarkeit der Struktur nicht sinnvoll.

Die Struktur hat keine Schleifen. Um den Graphen zu durchlaufen, können Sie ausgehend von einem Knoten eine Rekursion durchführen und Knoten markieren, an denen Sie bereits waren. Dann wählt man einen beliebigen nicht markierten Knoten aus und definiert von ihm aus alle Knoten, die einen weiteren Graphen bilden, der nicht mit dem Hauptgraphen verbunden ist, usw.

Ich hätte das alles selbst machen können, aber es gibt jetzt eine Menge anderer Aufgaben.

Das ist nicht mehr für Peter. Lenken Sie ihn nicht ab, bitte.
Es ist mehr für Sie.

 
Aliaksandr Hryshyn:

Ja, dies ist eine Präsentation der Strategie, nur nicht von Andrei Barinov, sondern sein eigenes Werk.

Eine visuelle Bearbeitung ist nicht vorgesehen. Es wird eine automatische Erzeugung geben.

"Wir brauchen keinen zusätzlichen Code." - Es darf also keine Strategie in Form einer Datei geben. Sie wollen also einen Parser erstellen? Wir haben bereits eine, warum brauchen Sie sie :) ? Ich kann Ihnen Beispiele schicken, wie Sie mit der Strategie arbeiten können, das ist einfach und bequem.

Hier ist ein Beispiel:

Wenn ein Fehler auftritt, müssen Sie sich das Protokoll ansehen, dort steht alles auf Russisch.

Und in der Quelle ist alles beschrieben.

Ich kann eine allgemeine Lösung für alle derartigen interaktiven und flexiblen Schemata schaffen, aber das ist nicht so bald. In Ihrem Fall brauchen Sie eine spezifische Lösung, die zu einer bestimmten Idee passt. Ich bin mir nicht sicher, ob ich dabei helfen kann. Sie müssen zunächst die grafische "Mechanik" der Knoten und Verknüpfungen erstellen und diese dann für spezifische Ideen optimieren. Ich kann die Mechanik erstellen, aber weitere "Feinabstimmungen" werden den Anwendungsbereich einschränken und es zu einem individuellen Projekt machen. Vielleicht kann Nikolay helfen. Ich bin im Moment sehr beschäftigt.

 
Реter Konow:

Ich könnte eine allgemeine Lösung für alle Arten von interaktiven und flexiblen Schemata entwickeln, aber das ist weit hergeholt. In Ihrem Fall brauchen Sie eine spezifische Lösung, die zu einer spezifischen Idee passt. Ich bin mir nicht sicher, ob ich dabei helfen kann. Sie müssen zunächst die grafische "Mechanik" der Knoten und Verknüpfungen erstellen und diese dann für spezifische Ideen optimieren. Ich kann die Mechanik erstellen, aber weitere "Feinabstimmungen" werden den Anwendungsbereich einschränken und es zu einem individuellen Projekt machen. Vielleicht kann Nikolay helfen. Ich bin im Moment sehr beschäftigt.

Gut.

 
Nikolai Semko:

Das ist nicht mehr für Peter. Lenken Sie ihn nicht ab, bitte.
Es ist eher deine Wohnung.

Ja, das ist es.

 
Aliaksandr Hryshyn:

Ein solches Beispiel spiegelt nicht wider, wie ich es haben möchte, es zeigt die Struktur und einige Merkmale. Die Knoten haben auch einige Informationen zu zeigen. Richtung von unten nach oben.

Es gibt keinen Weg ohne zusätzlichen Code, der es erlaubt, diese Art von Struktur aus einer Textdatei zu lesen und alle Informationen darüber zu erhalten.

Ich möchte eine schöne Präsentation dieser Struktur.

Sie erfordert eine dynamische Erstellung von grafischen Elementen.

Hier ist ein Beispiel für eine Datei mit dieser Art von Struktur, Sie können sehen, wozu die Struktur dient :)

Diese Datei kann vom Code gelesen werden, und es besteht ein einfacher Zugang zu allen Parametern der Struktur. Nicht alle Arten von Knoten sind hier vertreten.

Ich bestehe nicht auf Hilfe, ich weiß, dass es einige Anstrengungen erfordert. Es ist ein Problem der optimalen Platzierung von Knoten erforderlich, denn die Platzierung nach Listen ist wegen der schlechten Lesbarkeit der Struktur nicht sinnvoll.

Die Struktur hat keine Schleifen. Um den Graphen zu durchlaufen, können Sie ausgehend von einem Knoten eine Rekursion durchführen und Knoten markieren, an denen Sie bereits waren. Dann wählt man einen beliebigen nicht markierten Knoten aus und definiert von ihm aus alle Knoten, die einen weiteren Graphen bilden, der nicht mit dem Hauptgraphen verbunden ist, usw.

Ich könnte alles selbst machen, es gibt nur noch eine Menge anderer Aufgaben.

Es gibt klassische Werkzeuge zur Graphenvisualisierung: http: //www.graphviz.org/documentation/ aka https://en.wikipedia.org/wiki/DOT_(graph_description_language)

d.h. Sie müssen eine .dot-Datei Ihres Graphen entsprechend Ihrer Struktur erstellen und den Renderer ausführen (es gibt mehrere zur Auswahl)

Wenn ich mich nicht irre, kann die .dot-Datei in yEd(https://www.yworks.com/products/yed) geöffnet werden, um sie mit der Maus zu korrigieren :-)

PS. Die Visualisierung von Graphen ist gelinde gesagt keine leichte Aufgabe :-) Es wird immer noch in der Welt gelöst...

 
Ich hätte also gerne eine MMS-Lösung. OK, dann muss ich es eben selbst tun :).
 

Wir können nur spekulieren, wie der von Peters Tool generierte Code mit dem Rest des Programms verknüpft wird.

"Kernel, Markup" ..... kein Kommentar.

Ich verstehe die folgenden Arten von Markup: xml, html, json, xaml usw.

Ich verstehe die Vererbung, die es ermöglicht, sowohl Quellsteuerelemente zu ändern als auch ihre Ereignisse zu abonnieren, ohne in den Quellcode der Steuerelemente einzutauchen.

Peter arbeitet mit prozeduraler Programmierung, so dass es unmöglich ist, ein Steuerelement als Objekt zu bezeichnen, da es in Peter a priori keine Objekte gibt.

Das heißt, man kann sie nicht spontan ändern, geschweige denn mit Daten verknüpfen...

Wir warten... Wir sind gespannt, wie sich das Ganze entwickelt. Aber es wäre besser, wenn Peter ex4 statt mqh generieren würde, damit wir nicht in ... herumwühlen müssen. Kernel.

 
Алексей Барбашин:

Wir können nur spekulieren, wie der von Peters Tool generierte Code mit dem Rest des Programms verknüpft wird.

"Kernel, Markup" ..... kein Kommentar.

Ich verstehe die folgenden Arten von Markup: xml, html, json, xaml usw.

Ich verstehe die Vererbung, die es ermöglicht, sowohl Quellsteuerelemente zu ändern als auch ihre Ereignisse zu abonnieren, ohne in den Quellcode der Steuerelemente einzutauchen.

Peter arbeitet mit prozeduraler Programmierung, so dass es unmöglich ist, ein Steuerelement als Objekt zu bezeichnen, da es in Peter a priori keine Objekte gibt.

Das heißt, man kann sie nicht spontan ändern, geschweige denn mit Daten verknüpfen...

Wir warten... Wir sind gespannt, wie sich das Ganze entwickelt. Aber es wäre besser, wenn Peter ex4 statt mqh generieren würde, damit wir nicht in ... herumwühlen müssen. Kernel.

Das ist lustig :) Der gesamte Kernel ist mit Objekten vollgestopft.

Alexey, du hast versprochen, mir beim Testen zu helfen. Es ist Ihr Verdienst, dass dieser Editor das Licht der Welt erblicken wird. Sie haben mich motiviert, die Arbeit zu beenden.

Sobald ich den Editor aufgesetzt habe (am Dienstag), werden wir gemeinsam ein einfaches Panel mit Schaltflächen, Kontrollkästchen und Eingabefeldern erstellen und es mit einem einfachen Expert Advisor verbinden. Und alle Fragen werden sofort beantwortet.)

 
Aliaksandr Hryshyn:
Ich hätte also gerne eine Lösung in MQL. OK, dann muss ich es eben selbst tun :).

es ist Zeit, aus dem Sandkasten zu kommen :-) ein Babyspatel reicht nicht aus...

unterschiedliche Aufgaben erfordern unterschiedliche Werkzeuge

Andererseits: Schrauben kann man mit einem Hammer einschlagen (auch mit einem Mikroskop)

Grund der Beschwerde: