Fehler, Irrtümer, Fragen - Seite 1824

 
Artyom Trishkin:
Es als Administrator auszuführen hilft nicht?
 
Комбинатор:
Es als Administrator auszuführen hilft nicht?
Ich habe es nicht ausprobiert. Das ist vor der Build 1045 noch nie passiert. Und das ist auch nicht mehr die ganze Zeit so. Es kann sein, dass es einen halben Tag lang läuft und dann dieser Fehler auftritt.

Ich war kurz davor, Windows neu zu starten, schloss den mql5-Editor, schloss den mql4-Editor und schloss die Terminals MT5 und MT4. Aber ich musste etwas im mql4-Editor nachsehen. Ich öffnete sie erneut und, oh mein Gott, die Datei wurde kompiliert. Jetzt denke ich, dass zwei Editoren, mql4 und mql5, gleichzeitig arbeiten. Es ist seltsam, dass dieselben Dateien aus verschiedenen Verzeichnissen nicht in ihnen geöffnet werden.

Aber ich werde beobachten, wie sie zusammenarbeiten.
 
fxsaber:

Ausgewählt. Die Null geschieht nur nach dem ersten Durchlauf und nicht unbedingt bei SGD-Symbolen.

SGDJPY wurde zufällig in die Quelle aufgenommen. Das Ergebnis wird bereits für die korrigierte Version angezeigt, bei der "SGDJPY" durch _Symbol ersetzt wird.

Konnte sie es reproduzieren?

Das Gleiche gilt für die 4. Ich habe sogar einen Kommentar dazu, damit ich es nicht vergesse. Jetzt habe ich MT4 auf 1052 aktualisiert - der Fehler ist nicht beseitigt. Die Ausführung als Administrator hilft nicht (Antwort auf Combinator)

Hier ist der Funktionscode für MQL4, ich verwende ihn im Indikator, er wird in OnCalculate aufgerufen. Wenn ich den Indikator zum Diagramm hinzufüge, ist alles in Ordnung. Aber wenn ich das Terminal neu starte - mehrere Nullwerte, siehe Ausgabe am Ende des Beitrags.

bool Quote2Price(double diff,double &price4lot,string symbol="EURUSD")
  {
   int dig=(int)MarketInfo(symbol,MODE_DIGITS);
   if(dig == 0)
      return(false); // symbol is none
   double tickSizeMarketInfo = MarketInfo(symbol, MODE_TICKSIZE);   // пункт в валюте котировки (0,00001 для EURUSD на 5-знаке)
   double tickValue, tickSize2;
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_VALUE) returns false");
   if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize2)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
      Print(__FUNCTION__, "  SymbolInfoDouble(...SYMBOL_TRADE_TICK_SIZE) returns false");
      
   Print("tickSizeMarketInfo= ", tickSizeMarketInfo, "  tickSize2= ", tickSize2, "  tickValue= ", tickValue);
   if(tickSizeMarketInfo == 0 || tickSize2 == 0 || tickValue == 0.0)
      return false;
   double price=diff/(tickSize2/tickValue);
   price4lot=NormalizeDouble(price,2);
   return (true);
  }


Ausgabe nach Neustart des Terminals:

2017.03.01 00:31:43.588 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.460 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:43.351 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0

2017.03.01 00:31:42.961 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0. 0

2017.03.01 00:31:42.910 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0. 0

2017.03.01 00:31:42.866 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0. 0

2017.03.01 00:31:42.301 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0. 0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05tickValue= 0. 0

2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: initialisiert

2017.03.01 00:31:41.080 Custom indicator ShowImportantParams EURUSD.e,M5: erfolgreich geladen


 
Alexey Volchanskiy:

Bei den vier ist es dasselbe. Ich habe sogar einen Kommentar hinterlassen, damit ich ihn nicht verg esse.

Ich schlage vor, dass Sie sich alle Probleme merken und sie hier veröffentlichen. Wenn Sie sie nicht melden, wird es immer noch Löcher geben.
 
Artyom Trishkin:
Ich habe es nicht ausprobiert. Vor Build 1045 ist das nie vorgekommen. Und es passiert auch nicht mehr ständig. Sie können einen halben Tag lang arbeiten, und dann tritt dieser Fehler auf.

Ich war kurz davor, Windows neu zu starten, schloss den mql5-Editor, schloss den mql4-Editor und schloss die Terminals MT5 und MT4. Aber ich musste etwas im mql4-Editor nachsehen. Ich öffnete sie erneut und, oh mein Gott, die Datei wurde kompiliert. Jetzt denke ich, dass zwei Editoren, mql4 und mql5, gleichzeitig arbeiten. Es ist seltsam, dass dieselben Dateien aus verschiedenen Verzeichnissen nicht in ihnen geöffnet werden.

Aber ich werde beobachten, wie sie zusammenarbeiten.
Es macht keinen Unterschied - von Zeit zu Zeit tritt ein Fehler auf, unabhängig davon, ob ein oder zwei Editoren im Einsatz sind:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Das Fehler-Epos geht weiter:
EX4 write error         0       0
Das ständige Neustarten von Windows, um weiterarbeiten zu können, macht die Arbeit einfach unerträglich.
 
Artyom Trishkin:
Es macht keinen Unterschied - der Fehler tritt immer wieder auf, egal ob ein oder zwei Editoren laufen:

2017.03.01 01:43:30.843 MetaTrader 4 build 1052 started (MetaQuotes Software Corp.)
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217 U  @ 1.80 GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Das Fehler-Epos geht weiter:
EX4 write error         0       0
Das ständige Neustarten von Windows, um weiterarbeiten zu können, macht die Arbeit einfach unerträglich.
Tritt das Problem auch im /portable-Modus auf?
 
Andrey Dik:
Verursacht der /portable-Modus ebenfalls ein Problem?
Dies ist der /portable Modus:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
 
Artyom Trishkin:
Dies ist der /portable Modus:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Sie müssen sich die Benutzer der betreffenden Ordner ansehen. Ich glaube nicht, dass MT4 an irgendetwas schuld ist, es sieht nach einem Ordnerzugriffsproblem aus. vielleicht blockiert ein versteckter Prozess den Zugriff.
 
Andrey Dik:
Sie müssen sich die Benutzer der entsprechenden Ordner ansehen. Ich glaube nicht, dass es an MT4 liegt, es sieht so aus, als gäbe es ein Problem beim Zugriff auf die Ordner. Vielleicht blockiert ein versteckter Prozess den Zugriff.
Was ist mit ihnen zu tun?

 
Artyom Trishkin:
Dies ist der /portable Modus:
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Artem, wie lautete die Antwort des SD? Oder haben Sie es gar nicht angesprochen?