Wie man Objekte, die von XY gezeichnet werden, reibungslos ändern kann (MT4 vs MT5) - Seite 5

 
Dmitry Fedoseev:

Was machen Sie da? Wozu brauchen Sie eine solche Verknüpfung - zur Preisbildung über Pixel?

Der Versuch, die Welt zu erobern.)

Ich möchte nämlich einige Produkte auf MT5 übertragen. Sie sind so spezifisch, dass es ohne XY nicht funktionieren wird.

Aleksei Beliakov:

Versuchen Sie, die Leinwand nicht öfter als 30 Mal pro Sekunde auszugeben/zu aktualisieren.

Um das Prüfgerät zu beschleunigen? Nun, es ist noch nicht viel Zeit vergangen, ich werde in den Knöpfen herumstochern und verschiedene Manipulationen ausprobieren.

 
Vitaliy Kuznetsov:

...

Ich möchte eigentlich ein paar Produkte auf MT5 übertragen. Sie sind so spezifisch, dass es ohne XY nicht funktionieren wird.

...

Das ist es, worum ich bitte. ?

 
Nikolai Semko


Nikolai, ich habe eine Frage zu Kanvas. Ich habe auch ein Handels-Panel auf MT4.

Ich denke daran, die Grafiken so umzuschreiben, dass sie auf MT5 bei verschiedenen Bildschirmauflösungen gut aussehen. Das einzige Problem ist, dass fast alle Grafiken im bmp-Format vorliegen.

Ist es realistisch, die Schriftgröße zu überwachen und ein "Gummidesign" des Panels zu erstellen, das die Größe der BMP-Dateien ändert? Oder ist es einfacher, zwei Versionen von bmp-Grafiken zu erstellen - "normal" und 4k?

 
Übrigens, Vitaly, beachten Sie auch die Kanvas auf OBJ_BITMAP und nicht auf OBJ_BITMAP_LABEL implementiert .
https://www.mql5.com/ru/forum/364640/page12#comment_21305905
Ich habe nicht mit dieser Art von Kanvas noch experimentiert.
Hier könnte es eine idealere Lösung geben.

 
Vitaliy Kuznetsov:
Nikolai Semko


Nikolai, ich habe eine Frage zu Kanvas. Ich habe auch ein Handels-Panel auf MT4.

Ich denke daran, die Grafiken so umzuschreiben, dass sie auf MT5 bei verschiedenen Bildschirmauflösungen gut aussehen. Das einzige Problem ist, dass fast alle Grafiken im bmp-Format vorliegen.

Ist es realistisch, die Schriftgröße zu überwachen und ein "Gummidesign" des Panels zu erstellen, das die Größe der BMP-Dateien ändert? Oder ist es einfacher, zwei Versionen von bmp-Grafiken zu erstellen - "normal" und 4k?

Natürlich ist das möglich. Der Hauptvorteil von Kanvas ist die 100%ige Flexibilität und die Möglichkeit, alles zu machen und keine Einschränkungen. Das Wichtigste ist die Kreativität.
Sie können mein neuestes kostenloses Produkt herunterladen, das Panel öffnen und das MT5-Fenster skalieren.
Auch bmp kann in kanvas skaliert werden. Ich habe Ihnen irgendwo ein Beispiel genannt.
Hier ist er:
https://www.mql5.com/ru/forum/227736/page66#comment_20456641
können Sie meinen besseren (in Bezug auf das Bild) Algorithmus oder den einfacheren und schnelleren von Yuri verwenden.

Canvas - это круто!
Canvas - это круто!
  • 2021.01.29
  • www.mql5.com
Поставил себе задачу: коротким кодом эффектно продемонстрировать возможности пользовательской графики через класс CCanvas...
 
Vitaliy Kuznetsov:
Nikolai Semko


Ich denke daran, die Grafiken so umzuschreiben, dass sie auf MT5 bei verschiedenen Bildschirmauflösungen gut aussehen. Allerdings sind fast alle Grafiken im bmp-Format.

Vergessen Sie nur nicht den Parameter

TerminalInfoInteger(TERMINAL_SCREEN_DPI)
 
Nikolai Semko:

...

Ich danke Ihnen. Ich denke, wenn ich unter Zeitdruck stehe, ist es einfacher, als Freiberufler Grafiken mit Hilfe von Kanvas neu zu schreiben.

Übrigens, die Optimierung beginnt langsam zu funktionieren. Das Testgerät ist jetzt schneller als vorher. Es muss nur noch herausgefunden und behoben werden, warum sich das Histogramm während des Vorgangs nicht verschiebt.

Ich bin auch ein wenig verärgert über MT5 für das Laden von Kursen und den Effekt, den es dabei erzeugt. Hier ist eine Beschreibung und ein Prototyp -https://www.mql5.com/ru/forum/373465

Ich mache einen Querverweis, denn wer weiß, ob dieses Thema gesehen wird oder nicht, und es gibt hier starke Progger, und vielleicht werden sie aufmerksam.
Мигание линий и прямоугольников в момент прогрузки котировок
Мигание линий и прямоугольников в момент прогрузки котировок
  • 2021.07.16
  • www.mql5.com
Столкнулся со следующей проблемой в МТ5. Есть индикаторы, которые рисуют линии и прямоугольники на указанное кол-во свечей...
 
Vitaliy Kuznetsov:

Ich danke Ihnen. Ich denke, wenn die Zeit knapp ist, wäre es einfacher, als Freiberufler die Grafiken über Canvas neu zu schreiben.

Ich bezweifle, dass dies als Freiberufler möglich ist. Wenn Sie sicher sein wollen, dass der Eingang zum Grundstück bereits geöffnet ist und der Eingang zum Grundstück bereits geöffnet ist, dann ist der Eingang geschlossen.

Vitaliy Kuznetsov:

Bei MT5 stört mich auch das Laden von Kursen und der damit verbundene Effekt. Eine Beschreibung und einen Prototyp habe ich hier gegeben -https://www.mql5.com/ru/forum/373465

Ich mache einen Querverweis, denn wer weiß, ob sie diesen Thread sehen werden oder nicht, und es gibt hier starke Programmierer, und vielleicht werden sie aufmerksam.

Deshalb mag ich keine Objekte, denn sie haben ihr eigenes Leben in ihren Abläufen, über die man keine Kontrolle hat. Bei Kanvas hingegen liegt alles in Ihrer Hand. Deshalb muss ich zusätzlichen Code für den Tester mit Canvas schreiben, um nicht zu verlangsamen, wenn die Berechnung von Frames bei jedem Tick mehr als 30 Mal pro Sekunde.
Auch die Arbeit mit TFs und Geschichte Laden ist sehr unvernünftig und ineffizient in MT5. Nur M1 wird geladen, und zwar in ungepackter Form, während andere nur aus M1 berechnet werden. Wenn Sie also MN1 zum ersten Mal aktivieren, werden 100 Takte mehr als 10 Sekunden zum Laden benötigen. Ich musste die Bar Load selbst schreiben und M1 in gepackte Form umwandeln und alle berechneten TFs im Speicher haben. Alle meine TFs zusammen mit dem M1 benötigen nur einen Bruchteil des Platzes im RAM als nur der reguläre M1 im MT5.

 
Nikolai Semko:

Und die Arbeit mit TFs und dem Laden der Historie im MT5 ist furchtbar unvernünftig und ineffizient. Nur M1 wird heruntergeladen, und zwar in ungepackter Form, die anderen werden nur aus M1 berechnet. Wenn Sie also MN1 zum ersten Mal aktivieren, werden 100 Takte mehr als 10 Sekunden zum Laden benötigen. Ich musste die Bar Load selbst schreiben und M1 in gepackte Form umwandeln und alle berechneten TFs im Speicher haben. Alle meine TFs zusammen mit dem M1 benötigen viel weniger Platz im RAM als nur ein einfacher M1 im MT5.

Warum reagieren die Admins und Programmierer des Projekts nicht? Dies ist die wichtigste Grundlage. Ich habe gehört, dass es einigen Händlern schwer fällt, auf MT5 umzusteigen, weil der Wechsel der Zeitrahmen so langsam ist.

Aber ich habe es nicht verstanden, bis ich selbst damit konfrontiert wurde. Und jetzt stellt sich heraus, dass Programmierer aus Bequemlichkeit ihren eigenen Lader schreiben.


Aber ich habe ein Rechteck-Diagramm durch eine Leinwand geschrieben, die nicht blinkt, sondern bouncing links/rechts ist


 
Vitaliy Kuznetsov:

Aber die Balkenanzahl-Rechteck-Grafik, die über eine Leinwand geschrieben wird, blinkt nicht, sondern hüpft nach links/rechts


Dies ist ein Fehler im Code. Die Leinwand hat damit nichts zu tun.