Bibliotheken: Easy Canvas - Seite 7

 
Oleksii Chepurnyi:
Vielleicht war es in verschiedenen Situationen anders ) Ich hatte eine neu erstellte Leinwand und es sah aus wie ein Blinken. Ich wollte auf diese Linie achten, aber ich hatte keine Zeit )

Wenn es Probleme gibt, ist es besser, mich zu informieren. Aus irgendeinem Grund sind alle still. Es ist einfacher für mich, mich mit meiner eigenen Kreation zu beschäftigen.

 
Nikolai Semko:

Wenn es ein Problem gibt, lassen Sie es mich besser wissen. Aus irgendeinem Grund schweigen alle. Es ist einfacher für mich, mit meiner eigenen Kreation umzugehen.

Ich sage dir, ich wollte es melden, aber ich hatte keine Zeit - es kam eine neue Version heraus, in der es bereits behoben war.
 
Oleksii Chepurnyi:
Ich sage dir, ich wollte dich informieren, aber ich hatte keine Zeit - es kam eine neue Version heraus, in der das Problem bereits behoben war.

Ah, ich verstehe :)))

 

Version 1.36
Jetzt funktioniert es im Tester besser.
Aber Sie sollten verstehen, dass im Tester die Ereignisse zum Neuzeichnen des Bildschirms nicht richtig funktionieren.
Deshalb ist es im Testmodus besser, das Neuzeichnen in OnCalculate durchzuführen und die Funktion ChartChanged() zwangsweise aufzurufen.

Zum Beispiel:

int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[]) {
   if (rates_total!=prev_calculated && MQLInfoInteger(MQL_TESTER)) {
      ChartChanged();    //  функция находится внутри iCanvas.mqh
      ReDrawMyCanvas();  // Ihre Leinwand
   }
   return(rates_total);
}
Probieren Sie diesen Indikator im Testmodus zusammen mit der aktualisierten Bibliothek aus.
Dateien:
3DMa.mq5  12 kb
 

Es gibt eine große Anfrage. Wenn Sie können, natürlich )

Dieses Array:

class iCanvas : public CCanvas
  {
private:
   datetime          T[1];

Benennen Sie es um, zum Beispiel in Tm.

In einem der Projekte in der Form wie es jetzt ist, bewirkt es solche Wunder.

'[' - name expected     iCanvas.mqh     112     20
declaration of '_Period' hides predefined variable      iCanvas.mqh     112     38
'(' - name expected     iCanvas.mqh     112     46
variable '_Period' not used     iCanvas.mqh     112     38
'[' - name expected     iCanvas.mqh     113     22
'[' - name expected     iCanvas.mqh     114     47
declaration of '_Period' hides predefined variable      iCanvas.mqh     114     65
'(' - name expected     iCanvas.mqh     114     73
variable '_Period' not used     iCanvas.mqh     114     65
'[' - name expected     iCanvas.mqh     115     13

Ich konnte den Grund nicht finden, habe versucht, es umzubenennen, alles ging gut ) Jetzt benenne ich es jedes Mal in einer neuen Version um.

 
Oleksii Chepurnyi:

In einem der Projekte, wie es jetzt ist, bewirkt es solche Wunder.

Ich konnte den Grund nicht finden, habe versucht, es umzubenennen, und alles ging gut.) Jetzt benenne ich es jedes Mal in eine neue Version um.

Du solltest nach #define T in diesem Projekt suchen ;)

 
Andrey Khatimlianskii:

Ich sollte nach #define T in diesem Projekt suchen ;)

Nun, es gibt keine T's genau, es gibt T's, die mit T beginnen. Es ist in dem Scanner )

 
Oleksii Chepurnyi:

Nun, es gibt keine T's, es gibt T's, die mit T beginnen. Es ist im Scanner.)

Nun, es gibt keine Wunder!

Brechen Sie das Projekt ab, während der Fehler reproduziert wird. Lokalisieren Sie die Stelle, verstehen Sie, was der Grund ist.

Es ist ein privates Mitglied derKlasse, es kann nichts beeinflussen. Es ist wahrscheinlicher, dass es von anderen Defines beeinflusst wird.

 
Andrey Khatimlianskii:

Nun, es gibt keine Wunder!

Brechen Sie das Projekt ab, während der Fehler reproduziert wird. Lokalisieren Sie die Stelle und finden Sie heraus, was die Ursache ist.

Es ist ein privates Mitglied einerKlasse, es kann nichts beeinflussen. Vielmehr sind es andere Definitionen, die es beeinflussen.

Die Ursache zu finden ist interessant, aber es ist einfacher, es umzubenennen)

Wenn ich mich nicht irre, tauchten diese Tricks in neuen Builds mit neuen Kompilierungsregeln auf.

 
Oleksii Chepurnyi:

Es ist interessant, die Ursache zu finden, aber es ist einfacher, sie umzubenennen.)

Wenn ich mich nicht irre, tauchten diese Tricks in neuen Builds mit neuen Kompilierungsregeln auf.

Das Umbenennen ist nicht schwierig. Es gibt die Tastenkombination Strg+H


Aber ich stimme mit Andrei überein. Suchen Sie nach #define T oder #include <Canvas\iCanvas.mqh> setzen Sie es zuerst in das Projekt