Fehler, Irrtümer, Fragen - Seite 2393

 
Dmitriy Burlachenko:

Hallo zusammen.

Es wird versucht, mehrere Textbeschriftungen zu einer langen Zeichenfolge zusammenzufassen. Aus irgendeinem Grund gibt die FunktionObjectGetInteger(0,name,OBJPROP_XSIZE) in regelmäßigen Abständen (nicht immer) 0 zurück, wenn keine Ticks (Ruhetag) vorhanden sind und die Funktion im normalen Modus ausgeführt wird, obwohl das Objekt "name" tatsächlich existiert. Beim Tester treten Fehler zwar seltener auf, aber auch sie kommen vor.

Der Fehlercode ist 0, aber der Wert wird nicht erfasst. Frage an Entwickler und Experten. Und warum? Was mache ich falsch oder ist das ein Fehler?

Der Code eines Test-Expert Advisors lautet wie folgt


P.S. Übrigens hat keiner der Entwickler jemals auf meine vorherige Frage geantwortet


Vielleicht ist die Länge des Namens zu lang?

 

Wollte in KB Indikator Gebäude benutzerdefinierte Charts, Status"von Moderator geprüft",https://www.mql5.com/ru/code/24839/220196#!tab=code veröffentlichen

Indikator für MT4, verwendet Tick-Emulation mit

#import "user32.dll"
int RegisterWindowMessageW(string lpString);
#import

wie veröffentlicht man?

ZS: Ich kann den Funktionsumfang sicherlich reduzieren, aber ich würde es nicht wollen.

 
Igor Makanu:

wie veröffentlicht man?

Die Antwort ist in dem EA enthalten, den ich heute in KB veröffentlicht habe. Ich weiß nicht, ob MT4 über eine automatische Prüfung verfügt.

 
Vladislav Andruschenko:


vielleicht ist der Name zu lang?

Bei der allgemeinen Aufgabe setze ich lediglich eine lange Textzeile aus mehreren Tags zusammen ("kleben"), da die Länge der Tags auf 63 Zeichen begrenzt ist. Aber das hat nichts mit der Länge des Etiketts zu tun. Das Label-Objekt wird bei seiner Erstellung den Text selbst auf maximale Länge kürzen, und die Funktion sollte die Breite des Labels in Pixeln zurückgeben. Da das Objekt erstellt wurde und existiert, sollte die Funktion (laut Dokumentation) seine Breite in Pixeln zurückgeben, aber sie gibt 0 zurück :( Im angehängten Beispiel sind drei sehr kurze Etiketten geklebt, aber die Funktion gibt trotzdem regelmäßig 0 zurück :( Die Länge des Namens ist auch nicht groß. Soweit ich mich erinnere, gibt es auch hier eine Grenze von 64 Zeichen.

 
fxsaber:

Die Antwort ist in dem EA enthalten, den ich heute in KB veröffentlicht habe. Ich weiß nicht, ob MT4 über eine automatische Prüfung verfügt.

Danke, habe es versucht, es hat nicht funktioniert, habe eine kastrierte Version gepostet, so sei es

 
Igor Makanu:

Indikator für MT4, verwendet Tick-Emulation mit

Sie können ChartSetSymbolPeriod mit den aktuellen Werten zum Aktualisieren verwenden.

 
Andrey Khatimlianskii:

Sie können ChartSetSymbolPeriod mit aktuellen Werten zur Aktualisierung verwenden.

Sie können, das ist, wie die benutzerdefinierte Tabelle aktualisiert wird, aber es wird keine Ticks für Expert Advisor, können Sie mit solchen Expert Advisor überprüfen:

void OnTick()
  {
   Print("tick");
  }

ohne eine Nachricht an das Fenster zu senden

RegisterWindowMessageW("MetaTrader4_Internal_Message");

Der obige Code wird nicht ticken, d.h. der obige Code wird nicht "ticken", aber das Diagramm wird ordnungsgemäß aktualisiert und zeigt Balken an.

 

Während der Optimierung kam es zu einem Internetausfall, es traten Fehler auf

2019.03.01 07:37:57.954 Core 1  pass 2580 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:57.960 Core 1  pass 2581 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:57.966 Core 1  pass 2582 tested with error "some error after pass finished" in 0:00:00.016
2019.03.01 07:37:58.971 Core 1  pass 2583 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:59.976 Core 1  pass 2584 tested with error "some error after pass finished" in 0:00:00.016
2019.03.01 07:37:59.981 Core 1  pass 2585 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:38:00.985 Core 1  pass 2586 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:38:01.990 Core 1  pass 2587 tested with error "some error after pass finished" in 0:00:00.015
2019.03.01 07:38:01.995 Core 1  pass 2588 tested with error "some error after pass finished" in 0:00:00.000

Was bedeutet das? Sind die Pässe beschädigt oder werden sie automatisch zur Optimierung zurückgeschickt?

Ich habe die Optimierung beendet, und das Protokoll zeigt Folgendes an

2019.03.01 08:23:58.151 Tester  optimization finished, total passes 3010
2019.03.01 08:23:58.161 Statistics      optimization done in 22 hours 54 minutes 14 seconds
2019.03.01 08:23:58.161 Statistics      shortest pass 0:02:14.442, longest pass 1:03:37.844, average pass 0:12:32.903
2019.03.01 08:23:58.161 Statistics      local 1229 tasks (40%), remote 1781 tasks (59%), cloud 0 tasks (0%)
2019.03.01 08:23:58.161 Core 1  connection closed
...
2019.03.01 08:23:58.302 Tester  2580 new records saved to cache file 'tester\cache\Tree_Brut_v_02_03l.30.F46E9879A5535A9B0CF798F0187848FB.opt'

Es stellte sich heraus, dass nur 2580 von 3010 Pässen bearbeitet wurden? Das ist ja furchtbar!

 

Hallo!

In der neuesten Version(Build 2007, 25. Februar 2019) wurden zwei Fehler entdeckt:

1) 1) Beim Öffnen des Programms (oder beim Ändern des Profils) zeigen viele Diagramme (insgesamt 41) ein ewiges "Waiting for update".

2) 2) Beim Schließen des Programms wird es nicht vollständig geschlossen, der Task-Manager zeigt an, dass das Programm nicht geschlossen ist, obwohl es visuell nicht mehr angezeigt wird.

3) Umstrittener Fehler (bei der Version vom Dezember 2018 funktionierte alles einwandfrei, keine Fehler), vielleicht ein Fehler im Indikator, beim Starten des Programms oder beim Ändern des Profils wird der Indikator nicht korrekt berechnet, Sie können aus den gerenderten Daten sehen, dass einige der Daten nicht korrekt berechnet werden. Wenn Sie die Vorlage oder die Eigenschaften des Öffnungs- und Schließungsindikators erneut anwenden, werden die Daten korrekt berechnet.

4) Aus irgendeinem Grund funktionieren die Agenten nach dem Update nicht mehr in der Cloud (das Konto ist aufgelistet). Tests bestanden 586, Zeit vergangen 0 Stunden 0 Minuten.

 

Hallo,

Ich habe einen Moment auf der Verkäuferseite des Marktes gefunden.

Ich habe festgestellt, dass nach der Stornierung einer Zahlung für ein Produkt (der Käufer hat einen Fehler gemacht - er hat eine andere Version von MetaTrader (4 statt 5, oder umgekehrt)) die Verkaufsstatistik auf der Produktseite in der Registerkarte "Statistik" nicht korrigiert wurde. Auch die allgemeine Produktstatistik auf der Seite "Verkäufer" wurde nicht korrigiert (die Zahlung wurde dort trotz der Stornierung als Verkauf verbucht und wird als verdientes Geld angezeigt, während die Stornierung auf der Seite "Zahlungen" verbucht und angezeigt wird).

Die Stornierung ist heute erfolgt, ebenso wie die Zahlung für das Produkt.

Ich hoffe, dass die Informationen auf dem neuesten Stand sind, und danke Ihnen für Ihre Aufmerksamkeit.