Fehler, Irrtümer, Fragen - Seite 2234

 
Stanislav Korotky:

Bei diesem einfachen Skript, das zuerst mit "writing = true" und dann in einem anderen Diagramm mit "writing = false" ausgeführt wird, erhalte ich einen Fehler.

Offensichtlich handelt es sich um einen Fehler, denn Anwendungen von Drittanbietern lesen die Datei mit denselben Flags ohne Probleme.

 
Stanislav Korotky:

PS. Hat vielleicht schon jemand an die SR geschrieben? Wie lauten die Antworten?

Ich schrieb vor zwei Jahren - Bewerbung ohne Bewegung. Bitte schreiben Sie erneut
 
A100:
Ich schrieb vor zwei Jahren - Bewerbung ohne Bewegung. Bitte schreiben Sie erneut.

Wie lautet die Antragsnummer?

 
Gespammt
Result.retcode = 10026
Result.comment = AutoTrading disabled by server 0.035 ms
OrderCheck gibt true zurück.
 
Alexander:

Wie lautet die Antragsnummer?

Offen, Gestartet: 2016.08.04 02:13, #1530548


Übrigens... Warum funktionieren die Links nicht mehr?

Beschreibung des Problems

hier https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 mit Bildern

Und jetzt sieht der Link so aus:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Jetzt habe ich angefangen zu prüfen - alle Links in den Bewerbungen führen ins Leere... es war vorher in Ordnung... Die Links waren absolut. Jetzt habe ich erst durch das Datum verstanden, dass sich der Link auf diese Anforderung bezieht

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.08.24
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
A100:

Übrigens... Warum funktionieren die Links nicht mehr?

Beschreibung des Problems

hier https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 mit Bildern

und jetzt sieht der Link wie folgt aus:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Jetzt habe ich nachgesehen - alle Links in den Bewerbungen führen ins Leere... es war vorher in Ordnung... Die Links waren absolut. Jetzt verstehe ich nur durch das Datum, dass sich der Link auf diese Anwendung bezieht

Dieser Thread hat schon seit langem 20 Seiten.

 
fxsaber:

Das geht schon seit 20 Seiten in diesem Thread so.

In der Vergangenheit war das auch der Fall, aber die Links funktionierten (das Ende bleibt das gleiche)... Zumindest konnte ich die Beiträge von vor einem Jahr leicht finden, aber jetzt sind die Links vom März kaputt
 
Stanislav Korotky:

Bei diesem einfachen Skript, das mit writing = true ausgeführt wird und dann bei einem anderen Diagramm mit writing = false, erhalte ich einen Fehler.

Ergebnis der Ausführung des Skripts:

2018.07.23 19:44:15.224 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:17.824 !00 (EURUSD,M1) Closing
2018.07.23 19:44:34.874 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:40.874 !00 (EURUSD,M1) Closing
2018.07.23 19:45:12.844 !00 (GBPJPY,H4) handle=1
2018.07.23 19:45:16.354 !00 (GBPJPY,H4) Closing

1. Mit Schreiben = wahr

2. Im gleichen Diagramm mit Schreiben = false

3. auf einem anderen Diagramm mit Schreiben = false

Die einzige Änderung

void OnStart()
wie es sein sollte...

Dementsprechend wird anstelle von

    return INIT_FAILED;

links

    return;

und gelöscht.

  return 0;

als unnötig.


Was ist los?

 

Mir wurde klar, dass ich das Experiment falsch gemacht hatte.

Hier ist das Ergebnis der Wiederholung:

2018.07.23 20:07:52.316 !00 (EURUSD,M1) handle=1
2018.07.23 20:07:52.316 !00 (EURUSD,M1) writing=true
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) handle=1
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) writing=false
2018.07.23 20:08:20.316 !00 (EURUSD,M1) Closing
2018.07.23 20:08:25.416 !00 (GBPJPY,H4) Closing

Ihr Fehler besteht darin, dass die Daten nach dem Schreiben in eine Datei erst nach FileClose ODER nach dem erzwungenen Zurücksetzen der Daten auf die Festplatte durch FileFlush auf der Festplatte landen.

Wie kann man sonst eine Datei lesen, die nicht existiert?

Und doch habe ich eine Flagge hinzugefügt

void OnStart()
{
  int handle = FileOpen("xyz.foo", FILE_READ|FILE_SHARE_WRITE|FILE_BIN|FILE_SHARE_READ|(writing?FILE_WRITE:0));
  if(handle == INVALID_HANDLE)
  {
    Print("FileOpen failed: ", GetLastError());
    return;
  }
  
  if(writing)
   {
    FileWriteInteger(handle, 0);
    FileFlush(handle);
   }
  
  Print("handle=", handle);
  Print("writing=", writing);
  
  while(!IsStopped())
  {
    Sleep(1000);
  }

  Print("Closing");
  FileClose(handle);

}/*******************************************************************/
Документация по MQL5: Файловые операции / FileFlush
Документация по MQL5: Файловые операции / FileFlush
  • www.mql5.com
При выполнении операции записи в файл физически данные могут оказаться в нем только через некоторое время. Для того чтобы данные сразу же сохранились в файле, нужно использовать функцию FileFlush(). Если не использовать функцию, то часть данных, еще не попавших на диск, принудительно записывается туда только при закрытии файла функцией...
 

Wie kann der letzte Preis kein Vielfaches von TickSize sein?

SymbolInfoDouble(Symb,SYMBOL_TRADE_TICK_SIZE) = 0.05
Tick.last = 14.16