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

 

Ich habe seit zwei Jahren das Gefühl, dass ich nicht lebe, aber um ehrlich zu sein, weiß ich nicht, wo ich bin.

Ich habe meine Venen durchgeschnitten (der Länge nach, ich kann Ihnen Bilder schicken), und jetzt weiß ich nicht, ob ich noch lebe oder nicht - aber Peters Thema sagt, dass ich es nicht bin. :(

Ich bin in der Matrix :(
 
Vladimir Gribachev:

Ich habe seit zwei Jahren das Gefühl, dass ich nicht lebe, aber ich weiß nicht, wo ich bin.

Ich habe meine Venen durchgeschnitten (der Länge nach, ich kann Ihnen Bilder schicken), und jetzt weiß ich nicht, ob ich noch lebe oder nicht - aber Peters Thema sagt, dass ich es nicht bin. :(

Es muss schlimm sein - ich bin in der Matrix :(

Wladimir Gribatschow:

Ich weiß nicht, wie das ist.

aber ich habe davon geträumt - die Kernmaschine

Oh, Scheiße!

Ich muss zurück in die Klapsmühle, um mich auszuruhen.

Genosse, machen Sie nicht solche Witze.)

Ich hätte auch nichts dagegen, aber ich habe Angst vor gerechtem Zorn. Ich schätze, du bist es nicht. Ich bin erstaunt über Ihre Selbstbeschränkung, bei einer solchen Bewertung und Anzahl von Produkten auf dem Markt =))
 
Ilya Malev:
Ich hätte nichts gegen ein paar Fehler, aber ich habe Angst vor dem Zorn der Gerechten. Ich schätze, du bist es nicht. Ich bin erstaunt über Ihre Zurückhaltung, bei einer solchen Bewertung und der Anzahl der Produkte auf dem Markt =))

Die Wut der Admins - sie ist berechtigt.

Ich habe schon viele Verbote gesehen, aber wenn man den ganzen Mist liest, den sie schreiben, wird einem klar, dass es nicht reicht, um zu töten.

Was habe ich gesagt? Wenn ich mich in etwas irre, können Sie es gerne sagen.

 
Ilya Malev:

Genosse, machen Sie nicht solche Witze.

Danke, dass Sie die Geschichte lebendig halten. Glück, Gesundheit, Liebe, Wohlstand, viel Geld, zwei rote Porsches und ein Haus in Polen.

 
Vladimir Gribachev:

danke für die bewahrung der geschichte. glück, gesundheit, liebe, wohlstand, viel geld, zwei rote porsches und ein haus in polen.

Entschuldigung, berufliche Gewohnheit.

P.S. Und danke, dass Sie Beiträge gelöscht haben, auf die ich geantwortet habe, ohne sie zu zitieren

 

Wie versprochen, hier ist die zweite Demo der Engine. Diese Engine stellt eine Verbindung zu einem Testexpertenberater (Datei unten angehängt) her und leitet Benutzeraktionen an ihn weiter.

  1. Das Motorfenster hat zwei Registerkarten. Auf der Registerkarte "Gruppenordner" gibt es einen Eintrag zum Minimieren der Gruppe "G_FOLDER". Wenn Sie darauf klicken, wird die Tabelle ein- bzw. ausgeblendet.
  2. Auf der Registerkarte "Erscheinungsbildregler" gibt es zwei Schaltflächen. Jede davon steuert das Aussehen eines anderen Textes. Wenn Sie darauf klicken, erscheint ein Text und der andere verschwindet.
Einbau:
  1. Im Anhang finden Sie zwei Verbindungsdateien (Externe Verbindung und Verbindungseigenschaften). Sie müssen im Ordner inlud installiert werden. (anstelle der früheren, wenn sie vorhanden sind).
  2. Installieren Sie den Motor im Ordner "Indikatoren" (anstelle des alten Ordners, falls vorhanden), und legen Sie ihn auf der Karte ab.
  3. Installieren Sie den Test-Expert Advisor auf dem Chart. (Die Datei ist unten angehängt, falls sie nicht vorhanden ist. Installieren Sie es im Ordner "Experts", öffnen Sie es, speichern Sie es, kompilieren Sie es und fügen Sie es in die Karte ein).

Nach diesen Vorgängen können Sie die Verbindung des Test-EAs testen.

Wenn Sie auf Tabellenelemente klicken, Text eingeben oder eine Option auswählen, zeigt der Test Expert Advisor eine Warnmeldung mit Kommentaren zu dem Ereignis an.

Sie können die Struktur der Datei Externals Connection untersuchen. Es ist ganz einfach.

Die Datei mit den Verbindungseigenschaften sollte NICHT geöffnet oder geändert werden.



Am Ende der Seite befindet sich auch eine Datei mit dem Fenstercode für diejenigen, die ihn lernen möchten.

 
Dmitry Fedoseev:

Versuchen Sie, einen Satz von Steuerelementen erscheinen zu lassen, wenn Sie auf eine Schaltfläche klicken, und einen anderen Satz von Steuerelementen, wenn Sie auf eine andere Schaltfläche klicken. Zugleich kann das Fenster minimiert und maximiert werden. Es wird auch angenommen, dass es viele Varianten geben könnte.

Es wäre interessant, Peter zu fragen, wie er diese Aufgabe zu lösen vermag.

Hier, Dimitri, wirken in dem obigen Beispiel drei Prinzipien der Kontrolle von Elementarphänomenen auf einmal:

  1. Wechseln der Registerkarten.
  2. Ein-/Ausblenden von Gruppen von Elementen mit einem G_FOLDER-Element.
  3. Ein-/Ausblenden von Gruppen oder einzelnen Elementen mit einem Phänomen-Steuerelement.

DieStandardbibliothek verfügt (soweit ich weiß) nicht über solche Funktionen.

Registerkarten, Schaltflächen, Optionsfelder, Elemente und andere Elemente können mit SWITCH umgeschaltet werden.

SWITCH, "Элемент 1","Элемент 2","Элемент 3","Элемент 4",..., END,

Das Sperren von Gruppen von Elementen oder einzelnen Elementen erfolgt mit BLOCKS.

"Элемент 1",BLOCKS,"Элемент 2","Элемент 3","Элемент 4",..., END,

Das Gruppenphänomen wird durch das Element G_FOLDER gesteuert.

//Объявляем элемент G_FOLDER:
//----------------------------------------------------------------------------------
GROUP,A,

__,  G_FOLDER, "Group opener 1",  

END_GROUP,
//--------------------------------------------
i,IN,"V1",                       <------------- Устанавливаем канвас на котором рисуем группу элементов.
i, AT, LEFT_TOP, 1,20,           <------------- Устанавливаем позицию группы элементов.

//Устанавливаем свойства элементов типа G_FOLDERS внутри группы:
i,G_FOLDERS, N_COLOR, (int)C'245,245,245',   N_COLOR, (int)C'245,245,245',  AH_COLOR, (int)C'245,245,245',  NH_COLOR, (int)C'245,245,245', END,
//----------------------------------------------------------------------------------
//Делаем таблицу:
//----------------------------------------------------------------------------------
GROUP,A, IS_TABLE,  ROOT,"Group opener 1", <------------------- Устанавливаем привязку явления группы к элементу "Group opener 1", (который является G_FOLDER)


__,     T_HEADER, "The name of the table", H,30,   C_HEADER, "Text cells", C_HEADER, "Checkbox cells",  C_HEADER, "R button cells", C_HEADER, "C list cells",      C_HEADER, "Edit cells", 
__,     R_HEADER, "Row header 1",    T_CELL, "text 1", CHECKBOX, "Checkbox cell 1",    R_BUTTON, "R button cell 1", C_LIST, "C list cell 1",    EDIT, "Edit cell 1",     
__,     R_HEADER, "Row header 2",    T_CELL, "text 2", CHECKBOX, "Checkbox cell 2",    R_BUTTON, "R button cell 2", C_LIST, "C list cell 2",    EDIT, "Edit cell 2",  
__,     R_HEADER, "Row header 3",    T_CELL, "text 3", CHECKBOX, "Checkbox cell 3",    R_BUTTON, "R button cell 3", C_LIST, "C list cell 3",    EDIT, "Edit cell 3",       
__,     R_HEADER, "Row header 4",    T_CELL, "text 4", CHECKBOX, "Checkbox cell 4",    R_BUTTON, "R button cell 4", C_LIST, "C list cell 4",    EDIT, "Edit cell 4", 

END_GROUP,
//----------------------------------
i,  IN, "V1",
i, Y_GAP,-1,
i, X_GAP,-1,

//Устанавливаем свойства элементов типа CHECKBOXES, R_BUTTONS, EDITS внутри группы:
//---------------------------------------------------------------------------------
i, CHECKBOXES, POINTED,0, END, 
i, R_BUTTONS,  POINTED,0, END, 
i, EDITS, POINTED,0, END, 

//Устанавливаем переключение радио-кнопок внутри таблицы:
//---------------------------------------------------------------------------------
"Radio buttons option",SWITCH, "R button cell 1", "R button cell 2","R button cell 3","R button cell 4",  END,

i,IS_ZEBRA_STYLE, <-----------------------------------Устанавливаем стиль Зебра.
i, AT, _X2X, "V1", 4, _Y2H,"Group opener 1", 5,<-----------------------------------Устанавливаем позицию группы относительно сворачивателя.
//----------------------------------------------------------------------------------

Wie viel Code müssten Sie denn schreiben, um so etwas mit Hilfe der Standardbibliothek zu erstellen?

Dies ist der Unterschied zwischen einer Auszeichnungssprache und einer Bibliothek. Leichtigkeit und Geschwindigkeit.

 
Реter Konow:

Hier, Dimitri, wirken im obigen Beispiel drei Prinzipien der Kontrolle von Elementarphänomenen auf einmal:

  1. Wechseln der Registerkarten.
  2. Ein-/Ausblenden von Gruppen von Elementen mit dem Element G_FOLDER.
  3. Ein-/Ausblenden von Gruppen oder einzelnen Elementen mit einem Phänomen-Steuerelement.

DieStandardbibliothek verfügt (soweit ich weiß) nicht über solche Funktionen.

Registerkarten, Schaltflächen, Optionsfelder, Elemente und andere Elemente können mit SWITCH umgeschaltet werden.

Das Sperren von Gruppen von Elementen oder einzelnen Elementen erfolgt mit BLOCKS.

Das Gruppenphänomen wird durch das Element G_FOLDER gesteuert.

Wie viel Code müssten Sie denn schreiben, um so etwas mit Hilfe der Standardbibliothek zu erstellen?

Dies ist der Unterschied zwischen einer Auszeichnungssprache und einer Bibliothek. Leichtigkeit und Geschwindigkeit.

Registerkarten sind überhaupt kein interessantes Steuerelement - man kann auch gut ohne sie leben. Die Anzahl der Registerkarten ist zu gering.

Und 2 und 3 - je weiter im Wald, desto mehr Brennholz. Ich habe nicht die geringste Ahnung, was es ist und warum es gebraucht wird, und ich werde es auch nicht herausfinden. Denn eine Reihe wirklich notwendiger und essentieller Steuerelemente ist längst definiert und reicht für die Erstellung von Benutzeroberflächen mehr als aus. Aber das sieht aus wie eine Sekte - man erfindet seine eigenen Namen, Methoden, Definitionen... usw.

Ich möchte Sie noch einmal daran erinnern, dass eine solche separate Implementierung der Benutzeroberfläche in einem Indikator zur Steuerung eines EA keine Verbindung mit dem EA erfordert... auch wenn Arrays anstelle von OOP verwendet werden. Der Ansatz ist also schief. Es ist dort schief, wo es am perfektesten durchdacht sein sollte, denn das ist, wenn man so will, das "Gesicht des Produkts".

 
Dmitry Fedoseev:

Registerkarten sind überhaupt kein interessantes Steuerelement; man kann auch gut ohne sie leben. Die Anzahl der Registerkarten ist zu gering.

Und 2 und 3: Je weiter im Wald, desto größer das Brennholz. Ich habe keine Ahnung, was es ist und warum es gebraucht wird, und ich werde es auch nicht herausfinden. Denn eine Reihe wirklich notwendiger und essentieller Steuerelemente ist längst definiert und reicht für die Erstellung von Benutzeroberflächen mehr als aus. Aber das sieht aus wie eine Sekte - man erfindet seine eigenen Namen, Methoden, Definitionen... usw.

Ich möchte Sie noch einmal daran erinnern, dass eine solche separate Implementierung der Benutzeroberfläche in einem Indikator zur Steuerung eines EA keine Verbindung mit dem EA erfordert... auch wenn Arrays anstelle von OOP verwendet werden. Der Ansatz ist also schief. Es ist schief, wo es am perfektesten durchdacht sein sollte, denn es ist sozusagen das "Gesicht des Produkts".

Tabs wechseln die Leinwände komplett. Die zweite und die dritte sind so konzipiert, dass sie das Phänomen der Elemente ohne Umstellung der Kanvasen bewältigen. Dieselbe Leinwand wird also neu gezeichnet, und zwar jedes Mal mit einem anderen Satz von Elementen.

Was die Verbindung angeht, verstehe ich Ihre Idee nicht. Warum sollte sie nicht mit dem EA verbunden sein? Wie können Sie Parameter synchronisieren?

Die grafische Benutzeroberfläche befindet sich entweder vollständig im Expert Advisor oder sie wird von außen angeschlossen. Im Falle einer externen Verbindung müssen Sie die Verbindungseigenschaften einstellen und die Werte der Parameter auf beiden Seiten synchronisieren.

 

Das GUI von einem Expert Advisor zu einem Indikator zu machen ist eine fragwürdige Sache (gerade wegen der MT-Architektur - Indikatoren arbeiten im Interface-Thread und können ALLES verlangsamen. Für Indikatoren nicht zu verlangsamen, auch ein Teil ihrer Funktionen ist in MT verboten)

Das ist es nicht.

Wenn ein unglücklicher Benutzer ein paar (Drittanbieter-) Indikatoren und einen EA nimmt und sie alle GUI mit der Kernel-Engine aus dem Weg sind. Was wird geschehen?

PS/ Peter, Sie haben bereits mindestens kostenloses Hosting gefunden und dort Ihr Produkt eingestellt. Wenn die Code-Basis nicht gut ist. Die Veröffentlichung von Alpha-/Beta-/Preview-Versionen dauert nur ein paar Stunden. Können Sie keine Zeit finden?