Fehler, Irrtümer, Fragen - Seite 1807

 

Nur um das klarzustellen:

Eröffnung eines Kaufgeschäfts

2017.02.15 15:16:39.662 Trades  '5246495': instant buy 1.00 EURUSD at 1.05572
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)
 
Vladislav Andruschenko:

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.158 Network '2250': disconnected from FXOpen-MT5
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:

bool GetRatesTotal( int& rates_total )                          // Количество просчитанных баров (out)
        {
         //--- Проверка переданного значения
         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!

 
Alexey Kozitsyn:

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.
 
fxsaber:

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.

 
fxsaber:

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.

 
Alexey Kozitsyn:

Ü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.

_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
 
fxsaber:
_TimeCurrent = MathMax(SymbolInfoInteger(Symbol1, SYMBOL_TIME), SymbolInfoInteger(Symbol2, SYMBOL_TIME), ...);
Danke für die Idee, ich werde SYMBOL_TIME und TimeCurrent() vergleichen müssen. Vielleicht wird es Unterschiede geben...
 
Alexey Kozitsyn:
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: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!