Fehler, Irrtümer, Fragen - Seite 1807
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Nur um das klarzustellen:
Eröffnung eines Kaufgeschäfts
2017.02.15 15:16:40.944 Trades '5246495': accepted instant buy 1.00 EURUSD at 1.05572
2017.02.15 15:16:40.944 Trades '5246495': deal #117730573 buy 1.00 EURUSD at 1.05572 done (based on order #134121208)
2017.02.15 15:16:40.944 Trades '5246495': order #134121208 buy 1.00 / 1.00 EURUSD at 1.05572 done in 1284.090 ms
der Experte multipliziert sie
2017.02.15 15:16:41.720 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05574 (deviation: 16) [No prices]
2017.02.15 15:16:42.735 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:43.749 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:44.760 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:45.774 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:46.789 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05575 (deviation: 16) [No prices]
2017.02.15 15:16:47.804 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:48.818 Trades '5246495': failed instant buy 1.00 EURUSD at 1.05577 (deviation: 16) [No prices]
2017.02.15 15:16:49.831 Trades '5246495': instant buy 1.00 EURUSD at 1.05577 (deviation: 18)
2017.02.15 15:16:49.891 Trades '5246495': accepted instant buy 1.00 EURUSD at 1.05577 (deviation: 18)
2017.02.15 15:16:49.892 Trades '5246495': order #134121233 buy 1.00 / 1.00 EURUSD at 1.05577 done in 61.372 ms
2017.02.15 15:16:49.893 Trades '5246495': deal #117730596 buy 1.00 EURUSD at 1.05577 done (based on order #134121233)
Nur um das klarzustellen:
OK, zum BSB hinzugefügt.
Die Fehler im Handel sind alarmierender als alles andere. Aktualisierung auf 1531+, damit die Protokolle vollständiger sind.
2017.02.16 08:53:03.285 MQL5 wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)
Was ist das?
Auf der einzigen Karte ist nichts zu sehen. Diese Meldung wird immer dann angezeigt, wenn Sie das Konto wechseln.
@Slawa, erstreckt sich die Synchronisierung auch auf TimeCurrent()? Jetzt ergibt sich folgendes Bild: Gestern Abend um 22.45 Uhr habe ich das Terminal ausgeschaltet. Ich habe es heute Morgen eingeschaltet. Der Markt ist noch geschlossen. FORTS. Die Ticks kommen vor der Markteröffnung um 10:00 Uhr Moskauer Zeit. Die Informationen zu jedem Tick werden in OnBookEvent() verarbeitet. Das Problem ist, dass trotz der redundanten Synchronisationsprüfung:
{
//--- Проверка переданного значения
if( rates_total > 0 ) // Если передано корректное значение
return( true ); // Возвращаем истину
//--- Проверка синхронизации
bool isSync = SymbolIsSynchronized( _Symbol );
bool sync = (bool)SeriesInfoInteger( _Symbol, _Period, SERIES_SYNCHRONIZED );
//---
if( !isSync || !sync ) // Если история не синхронизирована
{
Print( __FUNCTION__,": ОШИБКА РАССИНХРОНИЗАЦИИ! isSync = ",isSync,", sync = ",sync,", rt = ",rates_total );
return( false ); // Выходим с ошибкой
}
//--- Определим число просчитанных баров
rates_total = Bars( _Symbol, _Period ); // Определяем число баров
if( rates_total <= 0 ) // Если синхронизация не произведена
{
Print( __FUNCTION__,": ОШИБКА #",GetLastError(),": Синхронизация по Bars() не пройдена!" );
return( false ); // Возвращаем ложь
}
else // Если значение получено
return( true ); // Возвращаем истину
}
gefolgt von einer Abfrage der Uhrzeit und des aktuellen SYMBOL_SESSION_... value - TIME CAME NOT CORRECT = TERMINAL CLOSED TIME, d.h. 22:45! Infolgedessen ist der Eintrag in die Datei schief und die Ablesungen sind verworren. Bitte überprüfen Sie die Funktion TimeCurrent() für die Synchronisation!
Hinzugefügt:
Der Wert des an die Funktion übergebenen Arguments rates_total ist immer = 0! D.h. die Synchronisation wird überprüft!
UHRZEIT IST NICHT RICHTIG = TERMINAL GESCHLOSSENE ZEIT, d.h. 22:45
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
fxsaber, 2017.02.14 15:40
Wenn Sie nur MOEX-Symbole auf Metaquotes-Demo in der Marktbeobachtung lassen, ist TimeCurrent 15 Minuten im Rückstand. Sobald ein einzelnes FOREX-Symbol hinzugefügt wird, springt TimeCurrent sofort um 15 Minuten weiter.Dies ist eine echte Öffnung, es ist unwahrscheinlich, dass Sie dort FOREX-Zeichen hinzufügen können... Aber wenn das so ist, muss TimeCurrent() jetzt wirklich schief sein, und selbst das kann nicht mit allen verfügbaren Mitteln synchronisiert werden!
Nochmals, wenn wir SYMBOL_SESSION_... anhängen würden. Daten an ihre tatsächliche Ankunftszeit angehängt würden, hätten wir dieses Problem nicht! Und wir bräuchten keine Krücken mit TimeCurrent() zu machen.
Der von Ihnen beschriebene Fall ist übrigens ganz logisch, denn die Kursverzögerung an der Börse beträgt 15 Minuten. Es gibt keine Verzögerung durch den Devisenhandel, so dass die Zeit entsprechend dem Devisenhandel angepasst wird. Aber das ist natürlich ein Irrtum. D.h. TimeCurrent() "navigiert" nicht zwischen verschiedenen Märkten.
Es ist auch möglich, dass TimeCurrent() vom Liquiditätsanbieter stammt. Und die Liquidität wird an verschiedenen Stellen gesammelt.
Übrigens ist der von Ihnen beschriebene Fall ganz logisch, denn die Kursverzögerung an der Börse beträgt 15 Minuten. Es gibt keine Verzögerung durch den Forex, so dass die Zeit entsprechend dem Forex angepasst wird. Aber das ist natürlich ein Irrtum. D.h. TimeCurrent() "navigiert" nicht zwischen verschiedenen Märkten.
Es ist auch möglich, dass TimeCurrent() vom Liquiditätsanbieter stammt. Und die Liquidität wird an verschiedenen Stellen gesammelt.
Danke für die Idee, ich werde SYMBOL_TIME und TimeCurrent() vergleichen müssen. Vielleicht wird es Unterschiede geben...
Ooh... Ich hätte nicht gedacht, dass es so schnell gehen würde:
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:52.889 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
Wenn das Terminal eingeschaltet ist, aus. Ein offensichtlicher TimeCurrent()-Fehler!