Diskussion zum Artikel "Visualisierung! Eine grafische MQL5 Bibliothek ähnlich 'plot' der Sprache R" - Seite 5
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Alle Glättungsmethoden sind stark von der Liniendeckkraft abhängig. Bei etwa 50 % Deckkraft wird alles ungleichmäßig und weist Artefakte auf.
Jetzt gibt es Artefakte auch bei vollständig deckenden Linien.
Wir sprachen über den Versuch, einen vollständig opaken Kreis mit geglätteten Kanten (unter Verwendung des Wu-Algorithmus) zu zeichnen, ohne die Glätte zu verlieren.
Dies erfordert spezielle Methoden zum Füllen mit geglätteten Kanten.
Auch bei völlig undurchsichtigen Linien gibt es jetzt Artefakte.
Es ging um den Versuch, einen vollständig undurchsichtigen Kreis mit geglätteten Kanten (unter Verwendung des Wu-Algorithmus) ohne Verlust der Glätte zu zeichnen.
Dies erfordert spezielle Methoden zum Füllen mit geglätteten Kanten.
Ich verstehe, dass Sie das nicht selbst machen können?
Mir ist klar, dass ich es nicht alleine schaffe?
Warum eigentlich nicht? Versuchen Sie es doch mal! )
Sie können sogar den von Ihnen erwähnten Fall lösen:
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Diskussion des Artikels "Visualise it! Grafische Bibliothek in MQL5 als Analogon von plot aus R"
Artyom Trishkin, 2023.07.31 12:39 AM
Alle Glättungsmethoden hängen stark von der Linientransparenz ab. Bei etwa 50% Deckkraft wird alles nicht mehr glatt und es entstehen Artefakte.
Das heißt, dass das Zeichnen auf einer vollständig transparenten Leinwand (CCanvas) unter Berücksichtigung der unteren Ebene (Diagramm und andere Objekte) ohne Artefakte erfolgen kann.
Aber das scheint ziemlich umständlich und schwerfällig zu sein. Es ist auch unklar, wie sehr es die Leistung beeinträchtigen wird. Ich würde mir wünschen, dass die Entwickler des Terminals diesen Fehler noch beheben.
Warum nicht? Versuchen Sie es doch mal! )
Sie könnten sogar den von Ihnen erwähnten Fall lösen:
Das heißt, das Rendering auf einer vollständig transparenten Leinwand (CCanvas) kann unter Berücksichtigung der unteren Ebene (Diagramm und andere Objekte) durchgeführt werden und ist artefaktfrei.
Aber es scheint ziemlich umständlich und schwerfällig zu sein. Es ist auch unklar, wie sehr es die Leistung beeinträchtigen wird. Ich würde mir wünschen, dass die Entwickler des Terminals diesen Fehler noch beheben.
Ich würde eine solche Aufgabe (wenn nicht die Entwickler, sondern die Forumsmitglieder) an Nikolai @Nikolai Semko zur Lösung schicken ;)
Ich würde eine solche Aufgabe (wenn nicht Entwickler, sondern Forumsmitglieder) an Nikolai @Nikolai Semko zur Lösung schicken ;)
Er arbeitet mit nur einer Leinwand.
Und ich bin nicht bereit, meine Grafikbibliothek umzuschreiben, damit alles auf einer Leinwand funktioniert.
Es ist zwar interessant, aber da ich weiß, wie viel Zeit es in Anspruch nehmen könnte, kann ich mich im Moment nicht dazu entschließen, eine solche Herausforderung anzunehmen. Ich habe jetzt nicht mehr so viel Zeit wie früher.
Es funktioniert nur mit einer Leinwand.
Und ich bin nicht bereit, meine Grafikbibliothek umzuschreiben, damit alles auf einer Leinwand funktioniert.
Es ist zwar interessant, aber da ich weiß, wie viel Zeit es in Anspruch nehmen könnte, kann ich mich im Moment nicht dazu entschließen, eine solche Herausforderung anzunehmen. Ich habe jetzt nicht mehr so viel Zeit wie früher.
Nun, es ist ein Algorithmus. Was macht das für einen Unterschied - auf einer Leinwand oder auf mehreren?
Nun, es ist ein Algorithmus. Was macht es für einen Unterschied, ob er auf einer Leinwand oder auf mehreren ist?
Wir haben zwei Probleme diskutiert:
1. Wenn es das ist, von dem ich ursprünglich gesprochen habe, dann würde eine algorithmische Lösung für einige Fälle ausreichen.
2. Wenn es sich um das von Ihnen erwähnte Problem handelt, dann reichen ein paar Funktionen hier nicht aus. Sie brauchen ein Schema, bei dem alle Ebenen in Arrays gespeichert werden. Jede Ebene sollte unter Berücksichtigung dessen gezeichnet werden, was auf den Ebenen unter ihr gezeichnet wird. Außerdem sollten alle Methoden in der CCanvas-Klasse korrigiert werden. Die Farbe jedes Pixels sollte mit der des darunter liegenden Pixels unter Berücksichtigung der Transparenz gemischt werden. Dann gibt es keine Artefakte (Lücken, gezackte Kanten usw.). Wenn Sie es richtig machen, können Sie die Transparenz mit Unschärfe kombinieren. All dies lässt sich leicht auf einer einzigen Leinwand umsetzen. Wenn jedoch mehrere Leinwände verwendet werden, ist es viel schwieriger zu implementieren.
Es funktioniert nur mit einer Leinwand.
Und ich bin nicht bereit, meine Grafikbibliothek umzuschreiben, damit alles auf einer Leinwand funktioniert.
Es ist zwar interessant, aber da ich weiß, wie viel Zeit es in Anspruch nehmen könnte, kann ich mich im Moment nicht dazu entschließen, eine solche Herausforderung anzunehmen. Ich habe jetzt nicht mehr so viel Zeit wie früher.
Wir haben zwei Herausforderungen diskutiert:
1. Wenn es sich um die handelt, von der ich ursprünglich sprach, dann würde für einige Fälle eine algorithmische Lösung ausreichen.
2. Wenn es sich um die von Ihnen erwähnte handelt, dann reichen ein paar Funktionen nicht aus. Sie brauchen ein Schema, bei dem alle Ebenen in Arrays gespeichert werden. Jede Ebene sollte unter Berücksichtigung dessen gezeichnet werden, was auf den Ebenen unter ihr gezeichnet wird. Außerdem sollten alle Methoden in der CCanvas-Klasse korrigiert werden. Die Farbe jedes Pixels sollte mit der Farbe des darunter liegenden Pixels unter Berücksichtigung der Transparenz gemischt werden. Dann gibt es keine Artefakte (Lücken, gezackte Kanten usw.). Wenn Sie es richtig machen, können Sie die Transparenz mit Unschärfe kombinieren. All dies lässt sich leicht auf einer einzigen Leinwand umsetzen. Wenn jedoch mehrere Leinwände verwendet werden, ist es viel schwieriger zu implementieren.
Ich dachte, ich würde nur über den Glättungsalgorithmus sprechen. Ohne Rücksicht auf die Überlagerung von transparenten Leinwänden übereinander. Obwohl... Wenn man sie übereinanderlegt, tauchen sicher neue Probleme auf. Deshalb habe ich mich auf Nikolay bezogen - Sie sehen, er hat schon lange alle neuronalen Verbindungen, und sein Gehirn denkt wahrscheinlich schon von selbst und berücksichtigt alle möglichen Probleme mit der Leinwand).
Ich dachte, ich würde nur über den Glättungsalgorithmus sprechen. Ohne Bezug auf die Überlagerung von transparenten Leinwänden übereinander. Obwohl... Wenn man sie übereinanderlegt, tauchen sicher neue Probleme auf. Deshalb habe ich mich auf Nikolay bezogen - Sie sehen, er hat schon lange alle neuronalen Verbindungen, und sein Gehirn denkt wahrscheinlich schon von selbst und berücksichtigt alle möglichen Probleme mit der Leinwand).
Artem, das sind wirklich keine trivialen Aufgaben, die neue neuronale Verbindungen erfordern. In SVG gibt es zum Beispiel ein Konzept wie viewBox. Ich habe schon viele Videos darüber gesehen, wie es funktioniert, viel Dokumentation gelesen, viel Code geschrieben, und trotzdem bin ich manchmal ratlos. Ich habe immer noch nicht die notwendigen neuronalen Verbindungen, auch wenn es mehrmals so aussah, als hätte ich alles verstanden.