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

 
solandr:
Außerdem würde ich gerne wissen, was es mit dem folgenden gelegentlichen Fehler auf sich hat, der beim Einschalten des Terminals auftritt:

Es handelt sich um Fehler beim Herunterfahren, nicht beim Einschalten)

Wenn der Computer normal heruntergefahren wird, schließt er die Dateien und öffnet sie beim nächsten Start normal.

Es können maximal 32 Dateien geöffnet werden.
Wenn MT stummgeschaltet wird, werden die vorherigen Dateien nicht geschlossen und zusammen mit den neuen Dateien haben Sie zu viele.
Obwohl, vielleicht öffnen auch andere Skripte/Experten Dateien?

Was Fehler in HistoryBase sind - weiß ich nicht.
Wenn es Ihnen gelingt, das Problem zu reproduzieren und zu verstehen, woran es liegt, lassen Sie es mich bitte wissen. Wir werden versuchen, es zu beheben ;)
 
komposter писал (а):

Es können maximal 32 Dateien geöffnet werden.
Wenn sich MT paart, bedeutet das, dass die vorherigen Dateien nicht geschlossen wurden und zusammen mit den neuen Dateien zu viele sind.
Vielleicht öffnen aber auch andere Skripte/Experten Dateien?

Meine Expert Advisors arbeiten nicht mit Dateien. Sie arbeiten aktiv nur mit globalen Variablen des Terminals. Aber sie haben noch nie Probleme gehabt. Es ist einen Monat her, dass ich sie bei der Arbeit an der Realität beobachtet habe.

Wenn es mir gelingt, die Fehlerbedingungen aufzuspüren, werde ich es Sie wissen lassen. Das Einzige, was ich im Voraus sagen kann, ist, dass im Moment des ersten Starts des Terminals die Expert Advisors und die notwendigen Indikatoren initialisiert werden, die Initialisierung dauert etwa 20 Sekunden. Aufgrund der großen Anzahl von Berechnungen, die für 12 Währungspaare auf einmal durchgeführt werden, hängt sich das Terminal einfach auf. Nach der Initialisierung werden die Berechnungen jedoch sehr sparsam und zeitlich verteilt mit Hilfe eines Zufallszahlengenerators durchgeführt. Mit anderen Worten: Es wird ein zufälliges Intervall gewählt (zwischen 10 und 30 Minuten), nach dem die nächste Kanalberechnung für das Währungspaar durchgeführt wird. Der Wert wird in eine globale Variable des Terminals geschrieben und dann im Expert Advisor verglichen. So können umfangreiche Berechnungen für 12 Währungspaare mit dem VIA C3 800MHz prozessorbasierten Controller problemlos durchgeführt werden, ohne ihn zu zerreißen. Der Sinn besteht in der Benutzerfreundlichkeit dieses Controllers - kompakte Größe, Gewicht 1 kg, Win2000 funktioniert normal darauf und das Wichtigste ist, dass er lüfterlos ist - man kann ihn sogar in der Nähe des Kopfes aufstellen und problemlos schlafen - er erzeugt keine Geräusche, wie es übliche PCs mit ihren Kühlern tun. http://www.compactpc.com.tw/ebox-3851.htm
Es stimmt, es wird ein bisschen warm. Aber ich habe dieses Problem gelöst, indem ich Kupferradiatoren von P4 an jede Seite des Gehäuses gehängt habe. Jetzt ist es kühler.
Ich greife über das Dienstprogramm RawAdmin von jedem Ort mit Internetanschluss darauf zu. Das heißt, ich brauche den Monitor nur für die Erstinstallation des Betriebssystems auf diesem Minicomputer.
 
solandr:
So funktionieren umfangreiche Berechnungen für 12 Währungspaare auf dem auf einem VIA C3 800MHz Prozessor basierenden Controller einwandfrei, ohne dass er abreißt. Der ganze Sinn besteht in der Benutzerfreundlichkeit dieses Controllers im Betrieb - kompakte Größe, Gewicht 1 kg, Win2000 funktioniert normalerweise auf ihm und das Wichtigste ist, dass er lüfterlos ist - man kann ihn sogar in die Nähe des Kopfes stellen und problemlos schlafen - er erzeugt kein Geräusch, wie es bei üblichen Computern mit ihren Kühlern der Fall ist. http://www.compactpc.com.tw/ebox-3851.htm
Es stimmt, es wird ein bisschen warm. Aber ich habe dieses Problem gelöst, indem ich Kupferradiatoren von P4 an jede Seite des Gehäuses gehängt habe. Jetzt ist es kühler.
Ich greife über das Dienstprogramm RawAdmin von jedem Ort mit Internetanschluss darauf zu. Das heißt, ich brauche den Monitor nur für die Erstinstallation des Betriebssystems auf diesem Minicomputer.
Wie hoch sind die Kosten? Ich konnte nicht sofort einen Preis finden.
 
Rosh:
Wie viel kostet ein solches Spielzeug? Ich konnte nicht sofort einen Preis finden.

Ich kaufte es für 185USD für das Produkt selbst + 70USD für eine 2.5HD 40GB. Aber in Russland würde es wahrscheinlich doppelt so viel kosten.
 

Hier sah ich den beschriebenen Fehler wieder. Ich denke, dass dies am häufigsten auf einem inaktiven Markt geschieht. Wenn der Markt sehr inaktiv ist, tritt der Fehler sehr regelmäßig auf. Wenn der Markt aktiv ist, kann der Fehler lange Zeit nicht auftreten. Wenn der Markt aktiv ist, kann der Fehler für eine lange Zeit bestehen bleiben. Hier ist die Fehlerbeschreibung.
Beim Öffnen des Terminals verschwindet zunächst die normale Preisachse senkrecht nach rechts. Dies kann zum Beispiel bei 8 von 12 Karten der Fall sein. Das kann jedes Mal anders sein. Screenshots unten. Gleichzeitig sehen wir keine Fehlermeldungen im Protokoll!
Wir schalten das Terminal aus und schalten es wieder ein. Die Diagramme kehren in den Normalzustand zurück, aber im Terminalprotokoll erscheint der folgende Fehlereintrag:
2006.10.31 12:20:30 HistoryBase: 48 Fehler in 'WS_AUDJPYm1440'
2006.10.31 12:20:30 HistoryBase: 42 Fehler in 'WS_NZDUSDm1440'
2006.10.31 12:20:30 HistoryBase: 272 Fehler in 'WS_EURJPYm1440'
2006.10.31 12:20:30 HistoryBase: 272 Fehler in 'WS_EURCHFm1440'
2006.10.31 12:20:30 HistoryBase: 272 Fehler in 'WS_AUDUSDm1440'
2006.10.31 12:20:30 HistoryBase: 272 Fehler in 'WS_EURGBPm1440'
2006.10.31 12:20:30 HistoryBase: 273 Fehler in 'WS_USDJPYm1440'
2006.10.3131 12:20:30 HistoryBase: 272 Fehler in 'WS_USDCADm1440'
2006.10.31 12:20:30 HistoryBase: 273 Fehler in 'WS_GBPUSDm1440'
2006.10.31 12:20:30 HistoryBase: 78 Fehler in 'WS_CHFJPYm1440'
2006.10.31 12:20:29 HistoryBase: 273 Fehler in 'WS_USDCHFm1440'
2006.10.3131 12:20:29 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 12:19:59 HistoryBase: 48 Fehler in 'WS_AUDJPYm1440'
2006.10.31 12:19:59 HistoryBase: 42 Fehler in 'WS_NZDUSDm1440'
2006.10.31 12:19:59 HistoryBase: 272 Fehler in 'WS_EURJPYm1440'
2006.10.10.31 12:19:59 HistoryBase: 272 Fehler in 'WS_EURCHFm1440'
2006.10.31 12:19:59 HistoryBase: 272 Fehler in 'WS_AUDUSDm1440'
2006.10.31 12:19:59 HistoryBase: 272 Fehler in 'WS_EURGBPm1440'
2006.10.3131 12:19:59 HistoryBase: 273 Fehler in 'WS_USDJPYm1440'
2006.10.31 12:19:59 HistoryBase: 272 Fehler in 'WS_USDCADm1440'
2006.10.31 12:19:59 HistoryBase: 273 Fehler in 'WS_GBPUSDm1440'
2006.10.31 12:19:59 HistoryBase: 78 Fehler in 'WS_CHFJPYm1440'
2006.31.10.12 12:19:59 HistoryBase: 273 Fehler in 'WS_USDCHFm1440'
31.10.12 12:19:59 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'

Warum dieser wiederholte Eintrag für 12 Währungspaare? Vielleicht enthält das Protokoll Informationen über Fehler, die vor dem Herunterfahren des Terminals aufgetreten sind, aber nicht rechtzeitig ausgegeben wurden? Ich vermute, dass ein Fehler irgendwo in der Logik des Öffnens und Schließens von Dateien entweder durch Expert Advisor oder durch das Terminal selbst nicht ausgeschlossen werden kann. Wie könnte sonst dieses Protokoll bei jedem zweiten Start des Terminals erscheinen, wenn dieser Fehler auftritt?

Manchmal, wenn das Terminal ohne visuelle Fehler startet, kann das oben beschriebene Protokoll auch erscheinen, obwohl die Graphen normal aussehen.












 

Ich habe bereits begonnen, den Expert Advisor erneut für eine Währung zu testen.
Ich habe eine Besonderheit festgestellt. Der Fehler
HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
erscheint in dem Moment, in dem das Diagramm mit den geänderten Kursen geöffnet wird.
Wenn wir das Diagramm nicht öffnen, wird der Fehler nicht angezeigt.

Was könnte das sein? Ungültiges Schließen der geänderten Zitatdatei (Dateiformatfehler) oder ist es eine Terminalstörung?
Könnten die Entwickler versuchen, dieses Problem zu reproduzieren und ihre Vorschläge zu machen?

Broker InterBankFX, Periode D1, Begrenzung der Anzahl der Balken im Fenster auf 2000.
Expert Advisor-Einstellungen:
//---- Liste der zu bearbeitenden Diagramme, getrennt durch Komma (",")
extern string ChartList = "EURUSD1440m";
extern bool SundayToMonday = true;
//---- Frequenz, mit der die Diagramme aktualisiert werden, in Millisekunden
//---- Je höher der Wert, desto weniger Ressourcen verbraucht das Skript.
extern int RefreshLuft = 30000;

Es ist auch erlaubt, Funktionen aus DLL zu importieren.

2006.10.31 14:55:53 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'.
2006.10.31 14:55:21 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:54:49 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:54:18 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:53:46 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:53:14 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:52:43 PM HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:52:13 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:51:42 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:51:11 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'
2006.10.31 14:50:40 HistoryBase: 273 Fehler in 'WS_EURUSDm1440'


Dateien:
 
Bei der Überprüfung von Diagrammen, die aus Ihrer generierten Datei gelesen wurden, erscheinenFehlermeldungen.
Diese zeigen das Vorhandensein der primitivsten Fehler an:
  • Falscher OHLC (z. B. Hoch unter Offen usw.)
  • falsche oder keine Mengen
  • Zeitstreifenfehler, wenn die Balken ineinander verschachtelt sind
Diese fehlerhaften Balken werden automatisch aus der Historie entfernt. Überprüfen Sie Ihr Skript im Detail.
 
Renat:
Überprüfen Sie Ihr Skript im Detail.

Ich werde es heute überprüfen...
 
Renat:
Bei der Überprüfung der aus Ihrer generierten Datei gelesenen Diagramme werden Fehlermeldungen angezeigt.
Dies bedeutet, dass die grundlegendsten Fehler vorhanden sind:
Oder, in unserem Fall, ein ungültiger Digits-Wert in der Kopfzeile der Datei. ...

Untersucht.
- Ändern Sie im Code #define DELETE_DAY 0 in #define DELETE_DAY 1 (damit Montags und nicht Sonntags gelöscht wird =)
- starten Sie den Expert Advisor mit ChartList = "EURUSD1440"
- öffnen Sie den automatisch erstellten Chart (WS_EURUSD, D1)
- wechseln Sie in das Verzeichnis, in dem die Historie des aktuellen Brokers gespeichert ist
- kopieren Sie von dort die Datei WS_EURUSD1440.hst-Datei in ein beliebiges anderes Verzeichnis
- MT schließen (vorher kann man den EA löschen - macht nichts)
- MT öffnen

Und jetzt das Interessanteste =)
Wir nehmen diese Datei, die wir gespeichert haben, und vergleichen sie mit der im MT-Verzeichnis verbliebenen Datei.
Die Urheberrechte gehören nicht mir (Entschuldigung, was? ;), und Ziffern = 0. Ich habe nicht weiter nachgefragt. ...

Wohlgemerkt, es ist nicht der EA, der dies tut - er kann vor dem Herunterfahren des Terminals gelöscht werden.
Werden Sie es überprüfen?
 

komposter, InterBankFX Broker ist nicht wirklich ein gewöhnlicher Broker ;o). Es hat einige spezifische Einstellungen, die ich bereits beim realen Handel kennengelernt habe!
Zum Beispiel kann die Funktion MarketInfo(symbol_for_work,MODE_SPREAD), die einfach perfekt auf der Alpari-Demo funktioniert (gibt einen festen Wert in jedem Markt, gleich der Differenz zwischen Ask und Bid, ausgedrückt in Punkten) in realen InterBankFX seinen Wert um 1 Punkt ändern. Und das geschieht sehr häufig. Ich habe es zufällig bemerkt, weil sich meine ausstehenden Aufträge alle paar Minuten um 1 Punkt ändern, und das passiert nachts, was ich bei Alpari noch nie gesehen habe.
Anstatt mich also mit dem Broker oder den MT4-Entwicklern zu streiten, habe ich diese Funktion einfach durch meine eigene ersetzt, was das Problem "mit wenig Aufwand" gelöst hat:

int _MarketInfo(string symb_for_work)
{
if(symb_for_work=="USDCHFm") return(4);
if(symb_for_work=="CHFJPYm") return(5);
if(symb_for_work=="GBPUSDm") return(3);
if(symb_for_work=="USDCADm") return(5);
if(symb_for_work=="USDJPYm") return(3);
if(symb_for_work=="EURGBPm") return(4);
if(symb_for_work=="AUDUSDm") return(4);
if(symb_for_work=="EURCHFm") return(4);
if(symb_for_work=="EURJPYm") return(5);
if(symb_for_work=="EURUSDm") return(2);
if(symb_for_work=="NZDUSDm") return(6);
if(symb_for_work=="AUDJPYm") return(6);

return(0);
}

Ich hoffe, Sie haben den Wink verstanden. ;o)))
Könnten Sie etwas Ähnliches in EA erstellen? Zumal mit Digits alles viel einfacher ist! Für Yen-Kurse ist es 2, für alle anderen 4.