Bibliotheken: Easy Canvas - Seite 6

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

Wurden die Ursachen für das Blinken ermittelt?

Welches Blinzeln?

Ich habe kein Blinzeln.

 
Ja, ich weiß es nicht.
 
Nikolai Semko:

was blinzeln?

Ich habe kein Blinzeln.

Ich denke, es ist Zeile 349, neu erstellen Leinwand, die jetzt auskommentiert ist
 

Habe die Bibliothek getestet - praktisch und funktionell!

zwei Fragen:

1. gibt es eine fertige Implementierung eines Segments, das mit einem Pfeil endet? (es gibt Beispiele unter C++ http://www.cyberforum.ru/qt/thread1534114.html es ist kein Problem zu portieren, aber vielleicht gibt es eine fertige Implementierung und ich habe sie nicht gefunden ;) )

2. wenn man das Diagramm ändert, wird die gesamte Leinwand gelöscht? - wenn ja, ist das sehr unpraktisch, wenn nicht - ich habe es nicht herausgefunden, ich brauche ein Beispiel

 
Oleksii Chepurnyi:
Ich glaube, es ist die Zeile 349, Leinwand neu erstellen, die jetzt auskommentiert ist.

Ich habe das behoben, als ich feststellte, dass es zu einem Einfrieren führte. Aber es gab kein Blinken, nur iCanvas aufgehört zu arbeiten.

 
neue Version 1.35.
Ein kleiner Fehler in Version 1.34, der dazu führte, dass das Sinus-Beispiel nicht funktionierte, wurde behoben.
 
Igor Makanu:

Ich habe die Bibliothek getestet - praktisch und funktionell!

zwei Fragen:

1. gibt es eine fertige Implementierung eines Segments, das mit einem Pfeil endet? (es gibt Beispiele unter C++ http://www.cyberforum.ru/qt/thread1534114.html es ist kein Problem zu portieren, aber vielleicht gibt es eine fertige Implementierung und ich habe sie nicht gefunden ;) )

2. wenn man das Diagramm ändert, wird die gesamte Leinwand gelöscht? - wenn ja, ist das sehr unpraktisch, wenn nicht - ich habe es nicht herausgefunden, ich brauche ein Beispiel

Danke, Igor.

1. Nein, ich habe es noch nicht implementiert. Mit ungeglätteten Linien ist es recht einfach zu machen. Es gibt eine Menge Dinge, die ich noch nicht implementiert habe, und eine Menge Dinge, die ich noch nicht gepostet habe.

2. Nein, natürlich nicht. Warum tun Sie es? Wenn ich in meinen Programmen den Chart ändere, zeichne ich zwangsweise alles neu, wenn die Koordinaten an die Zeit und den Preis gebunden sind, nicht an die Bildschirm-Pixel. Wie könnte es anders sein, wenn sich die Preis-Zeit-Koordinaten ändern.....

Das Schöne an dieser Bibliothek ist ihre Geschwindigkeit.
Wenn Sie versuchen, alles, was ich in iCanvas tue, in CCanvas zu tun, wird die Geschwindigkeit erheblich sinken.
Der Hauptgrund dafür ist, dass Sie furchtbar langsame asynchrone Funktionen verwenden müssen, wie ChartXYToTimePrice(), die etwa 5000 Mikrosekunden braucht. Das ist eine unglaublich lange Zeit.

Das Hauptziel von iCanvas war es, von diesen sehr teuren Funktionen wegzukommen.

https://www.mql5.com/ru/forum/1111/page2099#comment_6310826

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.01.06
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

Bitte beachten Sie, dass es besser ist, die Linienfunktion in CCanvas nicht zu verwenden, wenn die Koordinaten zweier Punkte nicht garantiert innerhalb des Bildschirms gebildet werden. Hier liegt ein schwerwiegender Fehler vor.

#include <Canvas\iCanvas.mqh> //https://www.mql5.com/de/code/22164

void OnStart() {
   Canvas.Erase();
   ulong t=GetMicrosecondCount();
   Canvas.LineD(-2000000000.0,-2000000000.0,800.0,800.0,0xFF0000FF);
   t=GetMicrosecondCount()-t;
   Print("Die Laufzeit von LineD ist " + string(t)+"Mikrosekunden".);
   Canvas.Update();

   t=GetMicrosecondCount();
   Canvas.Line(-2000000000,-2000000000,800,800,0xFFFF0000);
   t=GetMicrosecondCount()-t;
   Print("Line Run Time - " + string(t)+"Mikrosekunden".);
   Canvas.Update();
   Sleep(3000);
}

Ergebnis der Ausführung:

2020.02.07 19:08:28.030 TestLine (EURUSD,M1)    Время выполнения LineD - 4       микросекунд
2020.02.07 19:08:29.381 TestLine (EURUSD,M1)    Время выполнения Line  - 1349411 микросекунд
 
3D Moving Average
3D Moving Average
  • www.mql5.com
CSetFileReader Class to provide simple reading mechanism from MetaTrader set files. Trade Copier - Open Source - Multiplatform - Transmitter Side Trade Transmitter will Transmit Trades from MT5 Demo or Real accounts using CSV Files. Each trade request created manually or by other EAs on MT5 terminal will be...
Dateien:
iCanvas.mqh  45 kb
 
Nikolai Semko:

Ich habe das Problem behoben, als ich feststellte, dass das System deswegen eingefroren war. Aber es gab kein Blinken, sondern iCanvas funktionierte einfach nicht mehr.

Vielleicht war es in verschiedenen Situationen unterschiedlich) Ich habe die Leinwand neu erstellt und es sah aus, als würde sie blinken. Ich wollte auf diese Zeile achten, hatte aber keine Zeit)