Ein Crowdsourced-Projekt auf Canvas durchführen - Seite 3

 
o_O:

Ich würde sagen, es ist eine Schönheit.)

Die Geschwindigkeit ist sehr gut. In Bezug auf die Rendering-Zeit und die Kontrolle ist alles angemessen.

Sie sehen das Problem: Es ist alles cool und toll, aber nicht alle Leute können so schreiben wie in den beigefügten Codes.

Ich würde gerne mitmachen, aber ich habe keine Kenntnisse, und sie tun es nicht, nicht weil ich nicht lerne und nicht lernen will, sie tun es nicht, weil es nirgends gut zu lehren ist.

Ich habe schon oft die Frage nach einer guten, kompetenten Ausbildung gestellt, wie man richtig programmiert und wie man nicht richtig programmiert, was OOP ist und wie man es benutzt.

Nun, nur diejenigen, die an Instituten Programmieren studiert haben und viel Wissen haben und viel verstehen, können Ihren Anruf beantworten, aber wie viele von ihnen sehen Sie?

Ich zum Beispiel verstehe solche Dinge überhaupt nicht:

class A { public:
              A *operator<<( int )       { return &this; }
        const A *operator>>( int ) const { return &this; }
};
void OnStart()
{
        A a;
        a >> 0 << 0;                       //нет сообщения об ошибке
        a.operator>>( 0 ).operator<<( 0 ); //error: правомерно

Zeigen Sie mir in der Dokumentation oder irgendwo anders, wo ich lernen und verstehen kann, wo dies anzuwenden ist und wie es im Allgemeinen zu verstehen ist ...

Du willst coole und nützliche Dinge schreiben und das ist sehr gut, aber wer wird es schreiben, hast du vorbereitet? Haben Sie Menschen unterrichtet? Oder eine gute Idee geht wieder einmal unter, weil 1,5 Leute daran teilnehmen...

Wenn ich laut nachdenke, wäre das am meisten benötigte Projekt ein Projekt, das (gutes, einfaches, nützliches, kompetentes) Programmieren von den Grundlagen bis hin zu Beispielen lehrt, wie ich es oben gezeigt habe. Ich würde es tun, aber ich bin kein Profi, ich weiß nicht, wie man es richtig macht!

Und der Nutzen für alle wird hunderttausendmal größer sein als bei dem Projekt, bei dem 1,5 schlaue Jungs sich (ihrer Meinung nach) coole Sachen ausdenken ...

 
o_O:
hmm, was ist das Problem mit editieren?
Ist das Hauptproblem der begrenzte Eingabebereich oder hat sich etwas geändert?
 
Vladimir Pastushak:
Du willst coole und nützliche Dinge schreiben und das ist sehr gut, aber wer wird es schreiben, hast du vorbereitet? Haben Sie Menschen unterrichtet? Oder aber eine gute Idee geht unter, weil 1,5 Personen daran teilnehmen ...

Manchmal reichen 0,5 Personen aus, wenn sie ein Genie in der Entwicklung sind.)


Wenn ich laut nachdenke, wäre das am meisten benötigte und benötigte Projekt ein Ausbildungsprojekt...

Das ist ein Thema für einen anderen Thread.

Und der Nutzen für alle wird hundert- oder tausendmal größer sein als bei einem Projekt, bei dem 1,5 kluge Köpfe (ihrer Meinung nach) coole Sachen schreiben...


Es wird keine coole Sache sein. Es wird einfach ein Muss sein. Und es ist nicht für kluge Leute gemacht, sondern für Leute wie Sie, für Freiberufler, für den Markt.
 
Zorro:
Das wichtigste und größte Problem ist die begrenzte Eingabekette, oder hat sich etwas geändert?

(-), damit wir kein grafisches Objekt aus MT verwenden.

Wir müssen unseren eigenen Schnitt machen, mit Blackjack usw.
Gezeichnet auf einer generischen Bitmap der Anwendung,

 

Ein Label und eine Fahrt mit einer unbegrenzten Schnur ist an sich schon ein Plus)

Und ja, es ist Anatoly, der in diesem Thread erscheinen sollte.

 

Nun, da wir mehr oder weniger herausgefunden haben, was zu tun ist, schlage ich vor, eine grundlegende Klassenarchitekturklausel zur ersten Aufgabe hinzuzufügen (für alle zukünftigen Steuerelemente, nicht nur Schaltflächen)

----
Generell sehe ich das gesamte Projekt in der folgenden Richtung

1. Wir werden eine Schaltfläche schreiben und sie auf der Leinwand darstellen. Mit seinen Veranstaltungen. Deshalb steigen wir in den Anfang ein und testen das Bitmap-Gui-Modell.

2. Erstellen Sie eine Klasse, die eine Gruppe von GUI-Elementen mit Ereignissen kombiniert (dies ist für Zorder beim Rendern und Ereignisse zu berücksichtigen)

Das sind zwei komplizierte Schritte, hoffentlich gibt es ein paar Optionen, wir werden eine auswählen.
Danach werde ich das Open-Source-Projekt in Bitbucket ausführen. Und gehen Sie zur dritten Stufe über.

3. Wenn die Architektur klar wird, dann kann jeder sie bereits übernehmen und grundlegende Steuerelemente erstellen: Edit, Static, Droplist, etc. Ich beschränke mich vorerst auf diese Elemente, da sie für die erste praktische Aufgabe ausreichen werden.

Ich bestreite nicht, dass in der Phase der Kontrollentwicklung einige architektonische Anpassungen erforderlich sein werden. Dieses Problem wird in einigen Iterationen gelöst werden

 
o_O:

Es wird keine coole Sache sein. Es wird einfach ein Muss sein. Und es ist nicht für kluge Leute gemacht, sondern für Leute wie Sie, für Freiberufler, für den Markt.

1 - Ich vertraue nicht auf Dinge/Codes, die ich nicht verstehe

2 - Soweit ich mich erinnere, funktioniert Kanvas nicht im Strategietester, was für viele ein großer Nachteil ist, vor allem, wenn sie kostenpflichtige Produkte vom Markt testen, sie funktionieren einfach nicht.

3 - Ich wünsche Ihnen viel Glück...

ZS: Und ich verstehe nicht, was"haben müssen" bedeutet...

 
Vladimir Pastushak:
...

ZS: Und ich verstehe nicht, was"haben müssen" bedeutet ...

Einfach "must have" ...
 
Комбинатор:

Ein Label und eine Fahrt mit einer unbegrenzten Schnur sind an sich schon ein Plus)

Und ja, Anatoly ist angeblich zum Thema berufen

Ursprünglich wollte ich meine Bibliothek in die gleiche Richtung entwickeln, wie in diesem Thread vorgeschlagen. Ich habe absichtlich mit einfachen Standardprimitiven begonnen, um ein Schema auszuarbeiten, weil es anfangs einfacher ist. Inzwischen ist praktisch das gesamte Material in Artikeln veröffentlicht worden. Die erste Etappe in Bezug auf meinen ursprünglichen Plan ist fast abgeschlossen. Es wird einen weiteren Hauptartikel geben sowie einige Artikel mit Aktualisierungen auf Anfrage von interessierten Benutzern. Außerdem habe ich einige Code- und Schaltplanoptimierungen vorgenommen, die den CPU-Ressourcenverbrauch etwas reduziert haben.

Der Schaltplan sieht derzeit so aus wie in der folgenden Abbildung dargestellt. Dies ist nicht die endgültige Version, und sie wird während der Entwicklung der Bibliothek immer wieder geändert werden. Ich schließe aber auch starke Veränderungen nicht aus, wenn eine Variante gefunden wird, die Vorteile und neue Funktionen bietet, die in der aktuellen Version nicht vorhanden sind.

Alle veröffentlichten Materialien stehen Ihnen zur Verfügung und Sie können sie in Ihren eigenen Projekten oder in Versionen ähnlicher Bibliotheken verwenden. Das ist der Grund, warum alles veröffentlicht wurde. Mit jedem veröffentlichten Teil der Reihe können Sie die Entwicklung der Bibliothek verfolgen.

Ich hatte vor, alle Steuerelemente vollständig auf der Leinwand gezeichnet zu implementieren (einige von ihnen wurden bereits implementiert). Dies ist die zweite Phase der Entwicklung der Bibliothek. Das heißt, für jedes Steuerelement gibt es ein eigenes Objektvom Typ OBJ_BITMAP_LABEL. Die Anzahl der grafischen Objekte wird deutlich geringer, was wiederum auch die CPU-Ressourcen reduziert. Auch hier hängt alles davon ab, wie es umgesetzt werden soll. Es gibt immer ein paar Varianten. Es ist ratsam, sie alle auszuprobieren, wenn Sie sich zum ersten Mal in dieser Umgebung befinden und nicht sicher sind, ob die gewählte Option eindeutig die beste ist.

Und erst danach war geplant, zur dritten Stufe überzugehen, in der alle grafischen Oberflächenelemente auf derselben Leinwand gezeichnet werden sollten. Was die Bibliotheken für die Erstellung von grafischen Oberflächen betrifft, so sind diese erstklassig. Und es ist eine sehr große Aufgabe für eine Person. Völlige Abstraktion und Eintauchen in das Projekt. Maximale Konzentration über einen langen Zeitraum. Und ich denke, wenn Sie vorhaben, ein professioneller Programmierer zu werden, müssen Sie dies durchlaufen. Die Sache ist die, dass diese Erfahrung später in jeder Programmierumgebung von Nutzen sein kann. Aber wenn Sie ein Team zusammenstellen, kann die Entwicklung vielleicht viel schneller abgeschlossen werden.

Ich denke, dieses Projekt ist sehr interessant und nützlich, sowohl für andere als auch für mich selbst. Mit großem Interesse werde ich die Entwicklung verfolgen und die hier veröffentlichten Materialien studieren. Ich werde auf jeden Fall meine Version der Bibliothek weiter entwickeln und Artikel veröffentlichen. Mir gefällt das Format, in dem ich derzeit arbeite. Das soll meine Teilnahme sein. Die Ideen und Codes werden für alle zugänglich sein und können genutzt werden. Ich habe sehr strenge Anforderungen an die Gestaltung und Beschreibung des Codes. Alles muss detailliert, übersichtlich, in Schemata dargestellt, für jeden verständlich und möglichst perfekt sein. Andernfalls wird nichts funktionieren und es besteht die Gefahr, dass am Ende nichts dabei herauskommt, wie es in diesem Forum bei vielen verschiedenen und sehr interessanten Ideen wiederholt der Fall war, obwohl an den Diskussionen die professionellsten Entwickler auf dieser Website beteiligt waren. Ich hoffe, dass dies nicht der Fall ist und wir eine gute Bibliothek für die Erstellung von grafischen Oberflächen für MetaTrader-Terminals bekommen werden, und die endlose Zeit ihres Fehlens wird wie ein schlechter Traum vergessen sein.

 
o_O:

Grüße Codierer.

Es ist eine interessante Aufgabe, etwas wirklich Nützliches zu machen...

----

Also, Aufgabe eins und grundlegend.

1. Wir müssen eine Klasse von Schaltflächen erstellen (sagen wir GButton, mit dem Präfix G, um sie nicht mit den bereits vorhandenen zu verwechseln).

Ich denke, dass es nach den Artikeln von Anatoly zumindest ein seltsamer Zeitvertreib ist, wieder dieselben Eier im Profil anzulegen. Grafik ist für MT überhaupt kein Thema.

  • Die Benutzer brauchen keine grafischen Schnittstellen. Infolgedessen ist es unmöglich, die GUI zu überwachen, und ihre Entwicklung wird sich nie auszahlen.
  • Wenn Sie Ihre Fähigkeiten verbessern wollen, ist es besser, wenn Sie sofort einen Job als Junior bekommen. So können Sie wenigstens gleich etwas Geld verdienen und Ihre Fähigkeiten langsam verbessern.
  • Eine zu enge Zielgruppe. Wer braucht schon Bibliotheken? - Absolut niemand, außer einer Handvoll Programmierer, und die haben schon längst alle Bibliotheken geschrieben, die sie brauchen. Ich habe zum Beispiel zwei eigene Grafikbibliotheken.

Ich möchte hier niemanden belehren, aber ich kann euch einen Rat geben: Leute, riecht das Pulver. Lernen Sie, wie man mit Benutzern arbeitet. Lernen Sie ihre Psychologie kennen. Lernen Sie, wie Sie ihre Ideen überwachen können. Dann kommen Sie schnell auf den Boden der Tatsachen zurück, und Sie werden ganz anders denken. Auch ich habe einmal an einige besondere und schöne Ideen geglaubt, aber dieser ganze Unsinn funktioniert nicht. Was Sie hier erörtern, nützt niemandem außer Ihnen.