Wer Diagramme ohne fehlende Balken sehen wollte - hier =) - Seite 8

 
komposter, ich habe den folgenden Vorschlag, um mit dem Terminal zu kämpfen.
Wenn Sie die Attribute der Datei WS_EURUSDm1440.hst auf nur lesen setzen, dann schwört das Terminal beim Start auch auf die Protokolle, aber die Datei kann NICHT verändert werden! Die Datei wird auf der Karte genauso angezeigt wie vor dem Ausschalten des Terminals.
Also, ich denke, was, wenn ich einige externe DLL, die Attribute der WS_EURUSDm1440 ändern kann. hst-Datei zum Lesen/Schreiben? Das heißt, wenn ein Expert Advisor einen Balken zur Historie hinzufügen muss, ruft er eine DLL auf, die die Attribute der Historiendatei zum Schreiben einstellt, der Expert Advisor schreibt den Balken und ruft dann die DLL erneut auf, so dass die Attribute der Historiendatei nur zum Lesen eingestellt werden. Natürlich verstehe ich, dass niemand in diesem Fall eine 100%ige Garantie geben kann, aber ich denke, dass in 95% der Fälle das Aus- und Einschalten des Terminals ohne Unterbrechung der Verlaufsleiste durch das Terminal geschieht. Ich habe nicht mehr als 2 Mal im Monat einen Stromausfall, und damit wäre ich zufrieden.
 
solandr писал (а):
komposter, ich habe folgenden Vorschlag zur Bekämpfung des Terminals.
Nein, das ist ziemlich traurig...
Eigentlich habe ich schon herausgefunden, warum das Terminal die Datei überschreibt.
Ich verstehe nur nicht, mit welchem Recht das Terminal meine Offline-Karte berührt...

OK, wenn der Fehler in der normalen Zeitreihe liegt, muss ich sie aktualisieren. Aber das istmeine Akte. Ich schreibe, was ich will.

Wie auch immer, egal...
Ich werde versuchen, heute eine funktionierende Version von EA zu erstellen.
 
Weißt du, was das Traurigste daran ist? =)
Ich hatte 3 Takte mit einer Zeit von 23:00 in der Geschichte, die ich getestet habe. Alle anderen waren 00:00, und diese 3, verdammt noch mal...

Alles in allem, ein Fehler in der Geschichte (übrigens, meine "falsche" Datei mit Tagebüchern ab 23:00 MT korrigiert, aber die ehrliche Geschichte nicht =))).

Wie auch immer, der Showdown war nicht umsonst - ich habe einen kleinen Käfer ausgegraben ;)
solandr, versuchen Sie eine neue Version.

Wenn die Fehler weiterhin bestehen, überprüfen Sie den Verlauf.

Und wenn sie noch da ist, sag es mir, ich werde weitergraben ;)
Dateien:
 
komposter писал (а):
Im Allgemeinen ist ein Fehler in der Geschichte (übrigens, meine "falsche" Datei mit Tagebüchern, die um 23:00 MT beginnen, korrigiert, aber eine ehrliche Geschichte nicht =))).

Wie auch immer, der Showdown war nicht umsonst - ich habe einen kleinen Käfer ausgegraben ;)
solandr, versuchen Sie eine neue Version.

Wenn die Fehler weiterhin bestehen, überprüfen Sie den Verlauf.

Und wenn sie noch da ist, sag es mir, ich werde weitergraben ;)


Leider keine prinitialen Änderungen :o(. Fluchen Sie auch in Protokollen und denselben Diagrammen mit Digits=0.
2006 11/11/02 11:45:16 HistoryBase: 42 Fehler in 'WS_NZDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 Fehler in 'WS_EURJPYm1440'
2006.11.02 11:45:16 HistoryBase: 271 Fehler in 'WS_EURCHFm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_AUDUSDm1440'
2006.11.02 11:45:16 HistoryBase: 271 Fehler in 'WS_EURGBPm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_USDJPYm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_USDCADm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_GBPUSDm1440'
2006.11.02 11:45:16 HistoryBase: 78 Fehler in 'WS_CHFJPYm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_USDCHFm1440'
2006.11.02 11:45:16 HistoryBase: 272 Fehler in 'WS_EURUSDm1440'

Sie sollten versuchen, mehrere Offline-Charts gleichzeitig zu öffnen, um den Fehler schneller zu erkennen.

Wie überprüft man den Verlauf? Dies ist die Geschichte, die das Terminal ehrlich gesagt durch langes Drücken der Home-Taste von selbst gepumpt hat. Ich habe nichts in die Datenbank importiert. Vielleicht können Sie einen Blick darauf werfen und etwas dazu sagen? Die Verlaufsdatei ist beigefügt.

PS: Natürlich kann ich davon ausgehen, dass die Historie, die auf dem Server des Brokers gespeichert ist, einige Fehler aufweist, wie z.B. große "Spikes" auf den Charts, sowie Lücken in den Kursen für mehrere Tage, aber es stellt sich folgende Frage. Warum zeigt das Terminal keine Fehler an, wenn man mit ihm arbeitet, und gibt nur dann Fehler zurück, wenn die Historie durch eine einfache Konvertierung korrigiert wurde und NUR, nachdem sichergestellt wurde, dass das Diagramm der korrigierten Historie korrekt angezeigt wird, obwohl das Terminal Fehler in die Protokolle schreibt? Was können die Entwickler über die Möglichkeit sagen, das Terminal mit diesem Expert Advisor kompatibel zu machen?
Dateien:
history.zip  681 kb
 
solandr:
Leider sind keine prinzipiellen Änderungen erfolgt :o(. Auch in den Protokollen und den gleichen Graphen mit Digits=0 wird geschimpft.
Sie sollten versuchen, mehrere Offline-Charts gleichzeitig zu öffnen, um den Fehler schneller zu erkennen.
OK, ich werde den Kampf heute fortsetzen ;)

Wie kann ich den Verlauf überprüfen? Dies ist die Historie, die das Terminal durch einen langen Druck auf die Home-Taste von sich aus heruntergeladen hat. Ich habe nichts in die Datenbank importiert. Vielleicht können Sie einen Blick darauf werfen und etwas dazu sagen? Im Anhang finden Sie die History-Datei.

Ich hatte auch eine "schöne" Geschichte. Alle D1-Takte beginnen um 00:00 Uhr und die 3 Takte beginnen um 23:00 Uhr.
MT hat darauf in keiner Weise reagiert.
Aber die Offline-Tabelle, die mit der ehrlichen Tabelle identisch ist, wird von MT abgelehnt.

D.h. ich habe absichtlich versucht, alle Konvertierungen aus dem Code zu entfernen und nur den Verlauf zu kopieren - MT meldet Fehler...
 
solandr:
Leider wurden keine prinitialen Änderungen vorgenommen :o(. Außerdem flucht es in den Protokollen und den gleichen Graphen mit Digits=0.
Versuch ;)
Dateien:
 
komposter писал (а):
Versuchen Sie es ;)

Großartig! Jetzt scheint das Terminal keine Fehler mehr zu drucken, und die Diagramme werden nach dem Neustart des Terminals korrekt geöffnet. Wenn es kein Geheimnis ist, wie haben Sie es dann geschafft, das Terminal zu überlisten?

Aber eine unangenehme Sache ist leider geblieben. Expert Advisors funktionieren nicht auf einem separat geöffneten Chart :o((((.
Zum Beispiel druckt dieser EA nichts:
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
Ist es möglich, das Starten von Expert Advisors auf einem autonom geöffneten Chart zu stimulieren, da sonst leider der ganze Sinn dieser Bemühungen verloren geht? Obwohl Indikatoren und Skripte auf autonom geöffneten Charts normal zu funktionieren scheinen.
Ich sollte sie jedoch gründlich überprüfen. Wenn die Indikatoren richtig funktionieren, kann der Expert Advisor in zwei Komponenten unterteilt werden. Der erste ist der Indikator auf einem eigenständigen Chart und der zweite ist der Expert Advisor, der die Aufträge verwaltet und die Daten über globale Variablen des Terminals vom Indikator erhält. Soll ich die Sonntagsbalken in meinem EA berücksichtigen, ohne sie in den Berechnungen zu berücksichtigen, oder den echten EA in 2 Teile aufteilen? Ich möchte, dass es so menschenähnlich ist, wie es beabsichtigt war, und nicht so, wie der EA handeln muss, wenn er nicht auf autonom geöffneten Charts funktioniert.
 
solandr:
Großartig! Jetzt scheint das Terminal keine Fehler mehr zu drucken und die Diagramme öffnen sich korrekt, wenn das Terminal wieder eingeschaltet wird. Wenn es kein Geheimnis ist, wie haben Sie es dann geschafft, das Terminal zu schlagen?

Aber eine unangenehme Sache ist leider geblieben. Experten arbeiten nicht an der selbstständig geöffneten Karte :o((((.
Geheimnis =)

Und EAs funktionieren überhaupt nicht auf Offline-Charts.
Ich meine, dass die Funktion start() nicht funktioniert.

Die Lösung besteht darin, den gesamten Code in eine Schleife zu packen:
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

Die Lösung besteht darin, den gesamten Code in eine Schleife zu packen:


Im Prinzip ist die Lösung ganz logisch, denn die Skripte laufen erfolgreich.
Aber es ist immer noch nicht klar, warum es nicht möglich war, EAs auf Offline-Charts arbeiten zu lassen? Können Sie einen Link zu offiziellen Informationen der Entwickler geben, dass sie dies aus bestimmten Gründen getan haben und ihre Position nicht überdenken werden? Ich habe wohl nicht richtig nachgeschaut?


Vielen Dank im Voraus!

 
solandr:

Aber es ist immer noch nicht klar, warum EAs nicht auf Offline-Charts arbeiten dürfen? Könnten Sie einen Link zu offiziellen Informationen von den Entwicklern bereitstellen, dass sie dies aus bestimmten Gründen getan haben und ihre Position nicht überdenken werden? Ich habe wohl nicht richtig danach gesucht?

Ich habe versucht, sie zu finden und bin gescheitert.
Aber die Informationen waren es, soviel ist sicher)
Grund der Beschwerde: