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

 
Georgiy Merts:

Vitaly, das Problem ist, dass Peter ein Titan des Auswendiglernens ist. Er vergisst nicht, wo und welche Indizes er hat, was sie bedeuten, welche Verbindungen sie haben und wo.

Bei einem so großen Speicher sind OOP-Erweiterungen nur unnötige Gesten und eine gewisse Leistungsverschlechterung. Und wozu?

OOP ist für diejenigen, die sich in einer Woche nicht mehr daran erinnern, warum sie die Variable an einer bestimmten Stelle ändern können und nicht an der benachbarten. Sie sind diejenigen, die Kapselung, öffentliche, geschützte und vorverschlüsselte Klassenabschnitte, virtuelle Schnittstellen, Polymorphismus... benötigen. Und wenn man alles im Speicher hat, wie ein Computer, ist es viel einfacher, auf jedes Objekt direkt zuzugreifen, ohne irgendwelche OOP-Erweiterungen.

Schlagen Sie Peter eine Klasse von Smartpointers vor, die bei der Übergabe von Objekten die Anzahl der Verweise berücksichtigen und diese dann löschen, wenn niemand mehr auf sie verweist! Peter wird sich wundern, denn er erinnert sich gut daran, wann jedes Objekt erstellt wird, wie viele Benutzer es hat, wie lange es existieren soll und wann es gelöscht werden soll. Was bringt es, sie zu benutzen?


Nein, das kann man auch machen. Die einzige Frage, die sich mir stellt, ist: für wen? Peter sagt, dass "es eine Schicht solcher Nutzer schaffen wird". Sieh an, sieh an... Wir werden sehen.

Ein gutes Gedächtnis ist sicherlich gut :) Aber das Gedächtnis hat die Eigenschaft, dass es mit dem Alter schlechter wird oder selektiv wird. Woran Sie sich sehr gut erinnern und was Sie für unbedeutend halten, fällt Ihnen sofort wieder ein. :)

 
Yury Kulikov:

Sie haben einen seltsamen Wettbewerbsgeist :)

Nur mal so aus Interesse: Könnten Sie mit Ihrer Benutzeroberfläche ein Analogon zu einem solchen Programm erstellen?


Das Programm wurde 2013 in zwei Monaten geschrieben, ein weiteres Projekt ist noch in Arbeit.

Das Programm wurde zuletzt im Jahr 2014 kompiliert, daher sind einige Fehler möglich :)

Es ist besser, das Programm auf börsengehandelte Instrumente anzuwenden.

Klarstellung für Moderatoren: Dieses Programm ist nicht auf dem Markt.

Gute, leistungsfähige GUI. Ich kann 85 % der Mechanik mit dem Konstruktor reproduzieren. Ich habe auch Drag&Drop und dynamische Fenster. Der Rest ist die Aufgabe des Programms (flackernde Zahlen in den Zellen, sogenannte Funktionen).

Was die Unterrichtsfenster betrifft, so ist auch dies reproduzierbar. Kurz gesagt, in meiner Version wird das Aussehen etwas anders sein, aber die Funktionalität wird fast die gleiche sein.

Aber die Skala und die Zahlen sind in meiner Version nicht implementiert. Und es gibt keine Skalierung.

Im Gegensatz zu dieser GUI werden meine Grafiken jedoch schöner sein. Farbverläufe, Icons, schöne Rahmen, Schatten... Die Elemente sind alle gezeichnet.

Aber für einen modernen Marktplatz ist Ihr Produkt sehr leistungsfähig. Wahrscheinlich eine der stärksten.

Und die Tatsache, dass es nicht viele Leute gekauft haben, verdanken wir den Tester-Grails. Sie haben alle Produkte außer für sich selbst bedeutungslos gemacht.

 
Igor Makanu:

und warum dieser neue Stil?

Sie schrieben, dass pro 30-100 Bestellungen eine Bestellung für das Entwicklungspanel kommt, öfter passiert das nicht, seltener passiert das

Wenn Sie freiberuflich arbeiten möchten, besuchen Siehttps://www.mql5.com/ru/search#!keyword=%D0%BF%D0%D0%B0%D0%BD%D0%B5%D0BB%D1%8C&module=mql5_module_jobs

das ist die ganze Nachfrage, und beachten Sie, dass Panels für den Handel erforderlich sind, und niemand ist an Analysen und Kalendern in einem Panel interessiert

ZS: Haben Sie gehört, den Witz über schwer fassbare Joe? Bei allem Respekt, aber Ihre GUI ist gut, aber nur sehr wenige Menschen sind daran interessiert, weniger Aufwand kann jedes Ergebnis mit einer dll zu bekommen, machen Sie ein Panel, das Ihrer Meinung nach Benutzer brauchen und im Markt, wird ein Monat Statistiken ...

PS: hatte nie den Wunsch, mit C# .Net umzugehen, aber da die Entwickler Unterstützung gemacht haben, musste ich eine Stunde damit verbringen, eine einfache C-Compiler mit einem Formular-Designer zu finden - SharpDevelop (14 Mb) und googeln, wie man ein Formular von .dll laufen, alles funktioniert und alles "spinnt", der Code selbst, die die Hände buchstäblich vorgeschrieben - 3 Zeilen!!!

Die MQL-Entwickler haben es einfach gemacht, mit .dll in C# zu arbeiten. Sie legen einfach eine fertige dll in den Libraries-Ordner und schreiben in die ersten Zeilen des Expert Advisors den Namen .dll - das ist alles ;)

Sie wollen es einfach nicht verstehen. Welchen Unterschied macht das? Ihre Variante ist nicht für die breite Masse gedacht.

Die Menschen sind auf der Suche nach Profit. Bei dieser Suche befinden sie sich auf ein und demselben Prüfpfad. Das heißt, Programme, die auf der Grundlage von Testergebnissen eine Bereicherung versprechen. Das war's. Von hier an ist es eine Sackgasse.

Wird es ewig halten? Werden sie dem Prüfer immer vertrauen? Werden sie nie enttäuscht sein, wenn sie Zehntausende von "toten" Robotern sehen?

Ich schlage einen Ausweg aus der Sackgasse vor. Halbautomatische Programme, bei denen der Benutzer für seine Handlungen selbst verantwortlich ist.

Sie glauben, niemand will das? Sie irren sich.

 
Алексей Тарабанов:

Peter, das ist es ja - es gibt nichts zu verwenden. Jedes Fenster ist entweder nur Dekoration oder ein Ort des Dialogs. Der Punkt des Dialogs impliziert die Notwendigkeit dieses Dialogs.

Stellen Sie sich vor, Sie sind ein Händler und das Programm fragt Sie etwas. Sie muss es von Ihnen erfahren. Was kann er Sie fragen, und Sie können diese Frage mit einer Schaltfläche oder einem Formular beantworten? Ich bin ernsthaft an Ihrer Meinung zu diesem Thema interessiert - antworten Sie mir, wenn es Ihnen nichts ausmacht.

Und die zweite Situation: Sie halten es für notwendig, in die Arbeit des Programms einzugreifen - welche Schaltfläche/welches Formular wird Ihnen erlauben, dies effizient zu tun?

Ich stimme Ihnen absolut zu, dass die Automatisierung einer Tätigkeit die Aufgabe derjenigen ist, die sie automatisieren, aber Sie tun so, als seien Sie ein Entwickler von Werkzeugen zur Entwicklung einer Mensch-Maschine-Schnittstelle in diesem Bereich. Eine Schnittstelle mit Schaltflächen und Formularen oder eine normale grafische Benutzeroberfläche, die die Arbeit mit allen grafischen Objekten von MT ermöglicht; eine Schnittstelle mit Objekten oder auch Unterbrechungen?

Sie beanspruchen, einen Standard zu schaffen; ich behaupte, indem ich etwas automatisiere, dass jede oder fast jede grafische Operation, die ich generiere, von Ihrer Schnittstelle akzeptiert wird. Sonst brauchen wir einander nicht.

Jedes Fenster kann mehrere mögliche Funktionen haben:

  1. Ein Dialogpunkt(Dialogfenster).
  2. Ein Einstellungsfenster.
  3. Ein Benachrichtigungsfenster.
  4. Ein Fenster zur Anzeige von Informationen (Tabellen).
  • Die Software kann z.B. nach einer Über-Optimierung der aktuellen Strategie fragen.
  • Anhalten der Ausführung des Handelsalgorithmus aufgrund schlechter Statistiken für die letzten Tage.
  • Die Einstellung von Parametern, wenn sich die Marktsituation ändert.
  • Sie können sich noch viele, viele andere Dinge ausdenken.
Ich denke, dass der Handel eine Verschwendung von Zeit und Geld ist. Aber wie andere denken - das ist ihre Sache. Wen interessiert das? Es wird immer diejenigen geben, die es für notwendig halten, sich in die Arbeit des Programms einzumischen, und diejenigen, die das nicht für notwendig halten. Warum sollten Sie sich mit diesen Fragen belasten? Es ist besser, Programme für Erstere und Letztere zu erstellen und sie zu verkaufen.
 
Реter Konow:

Jedes Fenster kann mehrere mögliche Funktionen haben:

  1. Ein Dialogpunkt (Dialogfenster).
  2. Ein Einstellungsfenster.
  3. Ein Benachrichtigungsfenster.
  4. Informationsausgabefenster (Tabellen).
  • Die Software kann z. B. nach einer Überoptimierung der aktuellen Strategie fragen.
  • Beendigung der Ausführung des Handelsalgorithmus aufgrund der schlechten Statistiken der letzten Tage.
  • Die Einstellung von Parametern, wenn sich die Marktsituation ändert.
  • Sie können sich noch viele, viele andere Dinge ausdenken.
Ich denke, dass der Handel eine Verschwendung von Zeit und Geld ist. Aber wie andere denken - das ist ihre Sache. Wen interessiert das? Es wird immer diejenigen geben, die es für notwendig halten, sich in die Arbeit des Programms einzumischen, und diejenigen, die dies nicht für notwendig halten. Warum sollten Sie sich mit diesen Fragen belasten? Es ist besser, Programme für Erstere und Letztere zu erstellen und sie zu verkaufen.

Das ist der Grund und die Antwort!

 
Vitalii Ananev:

Ein gutes Gedächtnis ist sicherlich eine gute Sache :) Aber das Gedächtnis neigt dazu, mit zunehmendem Alter nachzulassen oder selektiv zu werden. Woran Sie sich sehr gut erinnern und was Sie für unbedeutend halten, fällt Ihnen sofort wieder ein. :)

Das ist Ihre Erinnerung (und meine auch).

Peter hat ein anderes Gedächtnis und es wird mit dem Alter besser, wie ein guter Wein. Peter erinnert sich immer an alles, was er geschrieben hat, und wie und warum, und woran er gedacht hat. Er braucht also wirklich kein OOP.

Ich beneide Peter um sein Gedächtnis.

 
Реter Konow:

Ich kann 85 % der Mechanik mit einem Konstruktor reproduzieren.

Ich habe meine Zweifel :) Wenn nur Fenster, Schaltflächen, Regler ... Aber das ist das Mindeste, was es gibt.

Ihre Schnittstelle wird nicht einmal in der Lage sein, den Tumblr-Verkehr zu verarbeiten, und Sie müssen noch einige Indikatoren rendern.

Oh, und dies ist die erste Version der Gui-Bibliothek, mit minimaler Verwendung von Kanvas, alles ist bereits auf Kanvas jetzt, außer Texteingabe implementiert.

 
Реter Konow:

Die Menschen sind auf der Suche nach Profit. Bei dieser Suche sind sie auf die gleichen Tester-Grails fixiert. Das heißt, Programme, die auf der Grundlage von Testergebnissen eine Bereicherung versprechen. Das war's. Von hier an ist es eine Sackgasse.

Wird es ewig halten? Werden sie dem Prüfer immer vertrauen? Werden sie nie enttäuscht sein, wenn sie Zehntausende von "toten" Robotern sehen?

Warum sollte sie "tot" sein?

JEDER Roboter hat Verdienstzeiten. IRGENDEINE. Selbst die lahmsten meiner Liga-MUs haben eine kurze Verdienstspanne. Man kann sie also nicht als "tot" bezeichnen.

Es ist wie mit der Kleidung. Natürlich kurze Hosen, Flip-Flops und ein Panamakostüm für das Leben irgendwo in Archangelsk. Aber Sie werden nicht behaupten, dass es sich um "tote Kleidung" handelt. Außerdem kann man sie an manchen Tagen sogar in Archangelsk tragen.

Und umgekehrt - an der Schwarzmeerküste sehen Tulup und Fellstiefel im Sommer albern aus. Allerdings sind sie manchmal auch an der Schwarzmeerküste sehr notwendig.

Das Gleiche gilt für Handelsroboter: Jeder Markt hat seinen eigenen Handelsroboter. Und die Aufgabe des Händlers ist es, den Roboter auszuwählen, der zum Markt passt. Deshalb kann man nicht sagen, dass "die Leute enttäuscht sein werden", so wie niemand von Shorts oder Panamahosen enttäuscht ist und niemand von einem Regenmantel enttäuscht ist. Erstere muss man nur bei Hitze tragen und letztere bei Kälte.


Das Prüfgerät ist weder ein Hindernis noch ein Allheilmittel. Es zeigt Ihnen, wie der Markt in letzter Zeit gelaufen ist, und ermöglicht Ihnen, einen TS zu wählen, der dazu passt. Das heißt aber nicht, dass sich der Markt in den nächsten Tagen nicht verändern wird und der TS nicht mehr dazu passt. Ein Roboter, der in der Vergangenheit Gewinne erzielt hat, ist jedoch einem Roboter vorzuziehen, der in der Vergangenheit verloren hat.

Der manuelle Handel kann nur dann dauerhaft profitabel sein, wenn Sie über ein hohes Maß an Erfahrung verfügen. Nur um zu verstehen, wann und welche Technik man anwenden sollte. Glauben Sie, dass viele Menschen es haben?

 
Yury Kulikov:

Ich habe meine Zweifel :) Wenn nur Fenster, Schaltflächen, Regler ... Aber das ist das Mindeste, was es gibt.

Ihre Schnittstelle wird nicht einmal in der Lage sein, den Glasverkehr zu verarbeiten, und Sie müssen noch einige Indikatoren darstellen.

Ja, und dies ist die erste Version der Gui-Bibliothek, mit minimaler Verwendung von Kanvas, alles ist bereits auf Kanvas jetzt, außer Texteingabe implementiert.

Der Builder ist für generische Lösungen konzipiert. Ihr Programm wird für bestimmte Aufgaben angepasst.

Sie können einen Tumbler auf dem Konstruktor erstellen und ausführen und er wird funktionieren. Aber das Zeichnen aller Arten von Indikatoren gehört bisher nicht zu den Aufgaben des Konstrukteurs.

Dies kann der Benutzer in seinem Programm selbst tun.


Und was ist mit der Tatsache, dass es nicht den Verkehr des Glases ziehen wird:



Klicken Sie auf das Bild, um das Gif zu sehen. Wie Sie sehen können, ist die Rendering-Geschwindigkeit der Tabellenelemente schnell genug, um den Tumblr-Verkehr zu bewältigen (es gibt sogar mehr Zellen).

 
Реter Konow:

Und was die Tatsache angeht, dass sie nicht den Traffic von tumblr abziehen:

Klicken Sie auf das Bild, um das Gif zu sehen. Wie Sie darauf sehen können, ist die Rendering-Geschwindigkeit der Tabellenelemente schnell genug, um den Datenverkehr der Tasse zu bewältigen (es gibt sogar mehr Zellen).

Ich habe nicht über die Rendering-Geschwindigkeit gesprochen, sondern über den Datenverkehr zwischen Ihrer Benutzeroberfläche und dem Benutzerprogramm.

Natürlich ist jedes Programm auf eine bestimmte Aufgabe zugeschnitten, aber wenn man z.B. die Standardbibliothek verwendet, kann man ein animiertes Objekt in das Fenster einfügen, und in der Benutzeroberfläche muss man danach fragen :(