Wie kann ich die Ausgabe in einem Diagramm in einer einzeiligen Schriftart gestalten? - Seite 4

 
Alexey Volchanskiy:

Diese Messungen sind unbedeutend. Wir sollten getrennte Zyklen von mehreren zehntausend Durchläufen für Comment und Canvas machen, dann können wir etwas beurteilen. Und der zu druckende Text soll sich ändern, z.B. soll der Zählerstand gedruckt werden.

Könnten Sie es auf diese Weise wiederherstellen?

Wiederholte Ausgabe ist korrekt, Kommentar tötet Geschwindigkeit in mt5. Ich habe es vor langer Zeit überprüft und ausgeschlossen, dass es bei den Tests angezeigt wird.

Ich habe nicht überprüfenCHART_COMMENT, gerade daran erinnert, wird Zeit haben - überprüfen Sie die Geschwindigkeit

//+------------------------------------------------------------------+ 
//| Функция получает текст комментария в левом верхнем углу графика. | 
//+------------------------------------------------------------------+ 
bool ChartCommentGet(string &result,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- получим значение свойства 
   if(!ChartGetString(chart_ID,CHART_COMMENT,result)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  } 
//+------------------------------------------------------------------+ 
//| Функция устанавливает текст комментария в левом верхнем углу     | 
//| графика.                                                         | 
//+------------------------------------------------------------------+ 
bool ChartCommentSet(const string str,const long chart_ID=0) 
  { 
//--- сбросим значение ошибки 
   ResetLastError(); 
//--- установим значение свойства 
   if(!ChartSetString(chart_ID,CHART_COMMENT,str)) 
     { 
      //--- выведем сообщение об ошибке в журнал "Эксперты" 
      Print(__FUNCTION__+", Error Code = ",GetLastError()); 
      return(false); 
     } 
//--- успешное выполнение 
   return(true); 
  }
 
Nikolai Semko:

Ich habe es auf MT4 ausprobiert. Der Code funktioniert auch auf diesem Gerät.
Es stellte sich heraus, dass Comment auf MT4 5 Mal schneller ist als sein grafisches Pendant. Und es stellt sich heraus, dass Comment() auf MT5 5-6 mal langsamer arbeitet als auf MT4. Dies ist eine unangenehme und seltsame Überraschung. Meine Frage geht also an die Entwickler. Wie kommt das? Es ist eindeutig ein Fehler für 5!!!


Vielen Dank für die Info, sehr traurig für MT5 und noch trauriger, dass es so unterschiedlich in MT4 und MT5, Kompatibilität stellt sich heraus, schlecht in einem Multi-Plattform EA.

 
Yury Kirillov:

Vielen Dank für die Info, sehr traurig für MT5 und noch trauriger, dass es so unterschiedlich in MT4 und MT5, Kompatibilität stellt sich heraus, schlecht in einem Multi-Plattform EA.

Es gibt einige. Ich habe komplett eliminiert die Ausgabe von Objekten und Informationen auf dem Chart in mt5, verlor nicht viel auf allen, auf Kosten einer guten Tester Bericht.

 
Yury Kirillov:

Vielen Dank für die Info, sehr traurig für MT5 und noch trauriger, dass es so unterschiedlich in MT4 und MT5, Kompatibilität erweist sich als schlecht in einem Multi-Plattform-EA.


Ich denke, die beste Option wäre immer noch der Wechsel zu Kanvas. Die Kompatibilität von MT4 und MT5 ist dort perfekt. Und Comment ist nur für die schnelle Überprüfung von Code-Entwürfen interessant, nicht aber für den endgültigen Code. Aus irgendeinem Grund unterschätzt jeder die Geschwindigkeitsfähigkeiten von Kanvas.

 
Nikolai Semko:

Ich denke, die beste Option wäre immer noch der Wechsel zu Canvas. MT4 und MT5 sind dort voll kompatibel. Und "Comment" ist nur für schnelle aktuelle Überprüfungen im Entwurfscode interessant, nicht aber im endgültigen Code. Aus irgendeinem Grund unterschätzt jeder die Geschwindigkeitsmöglichkeiten von Canvas.


Das werden wir wohl tun müssen...

 
Nikolai Semko:

Ich habe die Zyklen auch getrennt durchgeführt und fand die Ergebnisse etwas merkwürdig, aber es war dasselbe. Gleiche Ergebnisse. Es macht keinen Unterschied, ob es sich um einen allgemeinen Zyklus oder um einen individuellen Zyklus handelt. In meinem Beispiel ändert sich der Text jedes Mal, ich frage mich, warum das nicht bemerkt wurde. Ich kenne mich auch mit der Optimierung von Compilern aus. ))


Und darf ich den Code mit separaten Schleifen veröffentlichen?

 
Vitaly Muzichenko:

Die wiederholte Schlussfolgerung ist richtig, Kommentar tötet die Geschwindigkeit in mt5 schlecht. Ich habe dies schon vor langer Zeit überprüft und die Anzeige bei den Tests ausgeschlossen.

Ich habeCHART_COMMENT nicht überprüft, habe mich gerade daran erinnert und werde Zeit haben, die Geschwindigkeit zu überprüfen.

Von der SD.

Jemand kann den Austausch von String-Informationen zwischen EA und Indikator über das Chart-Kommentarfeld einrichten.

Wir haben beschlossen, dass wir die Optimierung für eine kleine Anzahl solcher potenzieller Nutzer nicht verlangsamen sollten.

In den nächsten Builds wird die Kommentarfunktion nur noch in Einzeltests funktionieren. Während der Optimierung - es wird nicht

 
fxsaber:

Von der SR.

Austausch von String-Informationen zwischen EA und Indikator über das Chart-Kommentarfeld.

Menschen sind gut in sexuellen Perversionen

Und im Allgemeinen gibt es natürlich keine Methode des Austauschs wie Memory Mapping, sondern innerhalb einer Sandbox und ohne Aufruf der DLL

 
Alexey Volchanskiy:

Was eigentlich fehlt, ist eine Methode für den Austausch von Speicherzuordnungen, aber innerhalb einer Sandbox und ohne Aufruf der DLL

Es gibt viele Möglichkeiten.

 
fxsaber:

Es gibt eineVielzahl von Möglichkeiten.


Sie sind alle Surrogate. Und jede davon erfordert Serialisierung/Deserialisierung. In WCF kann ich z. B. eine Instanz einer beliebigen komplexen Klasse mit Datenfeldern über ein beliebiges verfügbares Protokoll über das Web senden, und ich muss mir keine Gedanken darüber machen, wie ich sie verpacken/entpacken kann, alles wird von der API erledigt. Alles, was ich brauche, ist die Kenntnis einer solchen Klasse auf der Empfängerseite.