[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 607
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
Sagen wir es so, ich kenne keinen anderen Weg.......)
Und so...
EA-Aktionen in einer Datei protokollieren möchten
Ich habe ein Beispiel aus dem Handbuch des MQL-Editors genommen und es für meine eigenen Bedürfnisse leicht umgestaltet
Das Ergebnis ist, dass die Datei OrdersReport.csv leer ist, obwohl die Aufträge geöffnet sind.
Ich bin auf das gleiche Problem gestoßen: Wenn ich eine Datei zum Lesen öffne und versuche, in sie zu schreiben, wird die Datei entweder nicht erstellt oder es wird nichts in sie geschrieben.
Anwendung Servicedeck :
Wenn versucht wird, eine mit dem Schlüssel FILE_READ|FILE_WRITE deregistrierte Textdatei zu ergänzen, ohne vorher den Dateizeiger mit FileSeek() explizit zu setzen, wird überhaupt nicht geschrieben.
In früheren Versionen des Terminals wurde beim Vorlesen einer Textdatei mit dem Befehl FileReadString() der Dateizeiger automatisch gesetzt.
Hier ist eine Antwort von Entwicklern:
Die letzte Änderung der Dateifunktionalität geht auf Mitte 2008 zurück.
Noch nie war es möglich, an eine Datei anzuhängen, ohne vorher einen Dateizeiger am Ende zu setzen.
Nochmals eine Frage zu zusätzlichen Informationen. Hat dies etwas mit dem Anhängen an das Ende einer Datei zu tun?
Bei allen Lese- und Schreiboperationen wird der Dateizeiger automatisch verschoben. Das war schon immer so und hat sich nicht geändert. Wird die Datei jedoch als csv-Datei geöffnet, ist eine Zwischenpufferung der Daten möglich. Dann ist der Dateizeiger möglicherweise nicht dort, wo Sie ihn erwarten. Auch dies war schon immer der Fall, sowohl in der Vorgängerversion als auch in der Vorabversion, seit Beginn der offiziellen Veröffentlichung.
Wir haben immer wieder darauf hingewiesen, dass das Ausfallprinzip äußerst nachteilig ist. Auch bei Dateizeigern. Behandeln Sie den Dateizeiger explizit, es sei denn, Sie verwenden kontinuierliches Lesen oder kontinuierliches Schreiben (insbesondere die exotischen gemischten Lese-Schreib-Fälle).
Fazit: FileSeek verwenden
Prüfen.
Ihr Expert Advisor handelt mit 30-Minuten-ADX-Signalen. Wenn Ihr Expert Advisor mit 1min-ADX-Signalen handelt, werden solche Signale häufiger auftreten als bei der ersten Variante. Der Screenshot in Ihrer Variante wird nur beim Öffnen der BUY-Position gemacht.
Sie interessieren sich für das Fehlen von Indikatoren im Chart auf dem Screenshot (im Testmodus). Sie wurden gebeten, das Vorhandensein von Indikatoren auf dem Screenshot im Demomodus zu überprüfen. Das Skript mit der entsprechenden Funktion wurde hinzugefügt, so dass Sie Ihre Frage schnell überprüfen und verstehen können, anstatt stundenlang zu warten. Es ist mehr als ein Tag vergangen. Ich möchte wissen, wie Ihre Ergebnisse aussehen?
Ich halte Sie auf dem Laufenden. Ich habe zu tun, aber ich werde versuchen, morgen nachzusehen.
Können Sie mir sagen, was der Unterschied ist, wenn man einen Namen in einer Funktion definiert oder wenn man eine Variable benennt und sie dann an eine Funktion übergibt?
Ich danke Ihnen im Voraus.
Sie können es so machen, das funktioniert bei mir
double BullPrice()
{
double BullAveragePrice=0;
doubleSummBullLots=0;
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol()) continue;
if (OrderSymbol() == Symbol() && OrderType() == OP_BUY)
{
BullAveragePrice+=OrderOpenPrice()*OrderLots();
MySummBullLots+=OrderLots();
}
}
if (MySummBullLots>0) BullAveragePrice = NormalizeDouble(BullAveragePrice / MySummBullLots, Digits);
return(BullAveragePrice);
}
Im MT4-Ordner befindet sich ein C++-Beispielcode für alle Fälle in MQL4. Kompilieren Sie diesen Code und fügen Sie Ihren eigenen Code ein. Sie werden sofort den Unterschied zwischen Ihnen und dem Beispiel feststellen.
Können Sie mir sagen, was der Unterschied zwischen der Definition eines Namens in einer Funktion und der Zuweisung eines Variablennamens und der anschließenden Übergabe der Variable an eine Funktion ist?
.
Ansonsten...
Bitte beraten Sie die Situation ist dies, ich lese eine csv-Datei wie folgt
aber die csv-Datei hat einen Header, die erste zusätzliche Zeile
Wie kann man die erste Zeile programmatisch überspringen oder generell programmatisch löschen, wenn man den Wert speichert, verdirbt das alles.
Vielen Dank im Voraus.