Fehler, Irrtümer, Fragen - Seite 2802

 
Mihail Matkovskij:

Das bestreitet niemand. Es ist nur so, dass es ein Konzept gibt, bei dem es einen Bildschirm als Leinwand gibt. Im Gegenzug wird dieselbe benutzerdefinierte Leinwand (ein Array von Pixeln) auf die Leinwand des Fensters (das Diagramm) gezeichnet. Genauer gesagt, wird sie zunächst mit ResourceCreate (in OBJ_BITMAP oder OBJ_BITMAP_LABEL) an das Diagramm übergeben (kopiert). Im Diagrammfenster wird alles über die Win-API gezeichnet (wenn ich mich nicht irre). Es kann aber auch mit anderen APIs durchgeführt werden. Aber die CCanvas-Klasse hat ihre eigenen Methoden zum Zeichnen auf Elementen des m_pixels-Arrays.

Es stellt sich heraus, Zeichnung ein kleines Rechteck, dann müssen Sie noch eine Menge von Pixeln mitResourceCreate übergeben(spart Zeit auf Zeichnung nur). Auf diese Weise können SieOBJ_BITMAP_LABEL einfachim Diagramm verschieben, ohne das m_pixels-Array zu verarbeiten und es dann in OBJ_BITMAP_LABEL zu kopieren.

Das Problem ist, dass die Klasse CCanvas keine Methode zum Verschieben der Leinwand hat, was sehr seltsam ist.
In der Klasse iCanvas ist dies bereits implementiert.

ZZZ Es tut mir leid, ich habe gerade gesehen, dass die aktuelle Version von iCanvas in KB diese Methode nicht implementiert, sondern nur ihre Deklaration. Ich werde es jetzt korrigieren.

bool iCanvas::MoveCanvas(const int x,const int y) {
   if(ObjectSetInteger(m_chart_id,m_objname,OBJPROP_XDISTANCE,x) && ObjectSetInteger(m_chart_id,m_objname,OBJPROP_YDISTANCE,y))  return(true);
   else return(false);
}

Korrigiert


Dateien:
iCanvas.mqh  45 kb
Movement.mq5  2 kb
 
Nikolai Semko:

Das Problem ist, dass die CCanvas-Klasse keine Methode zum Verschieben der Leinwand hat, was ziemlich seltsam ist.
In der Klasse iCanvas ist dies bereits implementiert.

ZZZ Es tut mir leid, ich habe erst jetzt gesehen, dass die aktuelle Version von iCanvas in KB diese Methode nicht implementiert, sondern nur ihre Deklaration. Ich werde es jetzt korrigieren.

Korrigiert


Die Tatsache, dass es in CCanvas keine Verschiebung gibt, ist keine große Sache. Jeder aufmerksame Benutzer kann verstehen, dass die Leinwand durch Verschieben des Diagrammobjekts bewegt wird. Und dies ist eine Standardfunktion. Daher kann man die fehlenden Methoden hinzufügen. Oder schreiben Sie seine eigenen Methoden der Zeichnung und andere... Alles ist machbar. Der CCanvas-Quellcode kann studiert werden.

 
Kommentare, die sich nicht auf dieses Thema beziehen, wurden nach "Fragen von MQL4 MT4 MetaTrader 4 Anfängern" verschoben.
 

Die portable Version von MetaEditor funktioniert nicht mehr (/portable in den Verknüpfungseigenschaften). Das ist mit dem heutigen Update passiert. Entfernt /portable aus den Eigenschaften, der Editor startet, aber mit den Einstellungen des installierten Terminals undMetaEditor. Außerdem werden die Arbeitsverzeichnisse aus meinem Ordner mit der portablen Version nicht verwendet. Das Terminal scheint mit der Option/portable normal zu starten, aber MetaEditor wird auch nicht gestartet, wenn ich F4 drücke. Es wird weiterhin in das Protokoll geschrieben:

2020.07.14 20:00:17.560 Error MetaEditor not found

Wie kann die portable Version des Terminals und des Editors so angepasst werden, dass sie jetzt richtig funktioniert?

 
Mihail Matkovskij:

Die portable Version von MetaEditor funktioniert nicht mehr (/portable in den Verknüpfungseigenschaften). Das ist mit dem heutigen Update passiert. Entfernt /portable aus den Eigenschaften, der Editor startet, aber mit den Einstellungen des installierten Terminals undMetaEditor. Außerdem werden die Arbeitsverzeichnisse aus meinem Ordner mit der portablen Version nicht verwendet. Das Terminal scheint mit der Option/portable normal zu starten, aber MetaEditor wird auch nicht gestartet, wenn ich F4 drücke. Es wird weiterhin in das Protokoll geschrieben:

Wie kann ich nun die portable Version des Terminals und des Editors so einstellen, dass sie richtig funktioniert?

Ein weiteres Update ist erschienen. Ich beschloss,MetaEditor zu überprüfen.Ich fügte/portable zu den Verknüpfungseigenschaftenhinzu, führte es aus und es funktionierte. Alle Einstellungen und Arbeitsverzeichnisse sind nach wie vor vorhanden.

 

Ist es möglich, das Folgende auf normalem Wege zu tun?


  1. Einsehen des Protokolls über PCM->Ansicht. Ich verwende dort einen Filter.
  2. In diesem Ergebnis finde ich die gewünschte Linie.
  3. Ich möchte sehen, was vor und nach dieser Zeile im Protokoll stand, wenn ich den Filter deaktiviere.
Ich habe keine Möglichkeit, das zu tun. Ich muss mir die Zeit und den ungefähren Inhalt der Zeile merken und dann den Filter deaktivieren und manuell nach ihr suchen.
 
fxsaber:

Ist es möglich, das Folgende auf normalem Wege zu tun?


  1. Zeigen Sie das Protokoll über PCM->Ansicht an. Ich verwende dort einen Filter.
  2. In diesem Ergebnis finde ich die gewünschte Linie.
  3. Ich möchte sehen, was vor und nach dieser Zeile im Protokoll stand, wenn ich den Filter deaktiviere.
Ich habe keine Möglichkeit, das zu tun. Ich muss mir die Zeit und den ungefähren Inhalt der Zeile merken und dann den Filter deaktivieren und manuell nach ihr suchen.

Der eingebaute Log-Viewer ist sehr unpraktisch (auch für den angegebenen Anwendungsfall), ich muss externe Programme verwenden.

 
Bitte geben Sie einige Hinweise (Links, Vorschläge), wie der allgemeine Zustand des Algorithmus im Tester im Mathematikmodus gespeichert und aktualisiert werden kann. Die Idee der gemeinsamen Datei scheint nicht überzeugend zu sein. Frames gehen nur in eine Richtung (vom Agenten zum Terminal).
 

Hallo.

Irgendetwas ist im Autovalidator des mt4-Marktplatzes kaputt.

Ich habe 5-6 Mal versucht, mit verschiedenen EAs automatisch zu entwerten.

Immer dieser Fehler.

ь

Selbst der EA, der sich gestern selbst entwertet hat, kann sich heute nicht selbst entwerten.

Hier ist eine Nachricht über die erfolgreiche Validierung gestern

т

Irgendetwas ist wirklich kaputt.

 
Denis Nikolaev:

Hallo.

Irgendetwas ist im Autovalidator des mt4-Marktplatzes kaputt.

Ich habe 5-6 Mal versucht, mit verschiedenen EAs automatisch zu entwerten.

Immer dieser Fehler.

Selbst der EA, der sich gestern selbst entwertet hat, kann sich heute nicht selbst entwerten.

Hier ist eine Nachricht über die erfolgreiche Validierung gestern


Irgendetwas stimmt wirklich nicht.

Vielen Dank für diese Nachricht. Korrigiert.