Das Problem wird dadurch gelöst, dass die Hilfsvariablen den letzten Pufferauftragsnummern zugewiesen werden, ohne dass jedoch die Anzeigeeinstellungen vorgeschrieben werden. Vorher standen unnötige Puffer in der Mitte der Liste.
Ich möchte schwebende Aufträge für Positionen platzieren, die für den Tag geschlossen wurden.
Die Funktion setzt den Auftrag zum Preis der zuletzt geschlossenen Position.
Was sollte ich tun, um schwebende Aufträge auf die Preise aller innerhalb eines Tages geschlossenen Positionen zu setzen?
Gehen Sie die Liste der geschlossenen Positionen in der Schleife durch und wählen Sie diejenigen aus, deren Schließungszeit größer als die Uhrzeit des Beginns des gewünschten Tages ist (und kleiner als die Uhrzeit des Beginns des nächsten Tages, wenn dieser z. B. vorgestern war).
Fügen Sie alle Schlusskurse (Eröffnungskurse - ich weiß nicht genau, auf was Sie sie setzen wollen) aller gefundenen Positionen in ein einfaches Array oder ein Array von Strukturen ein.
Gehen Sie das erstellte Array in der Schleife durch und platzieren Sie ausstehende Aufträge zu den Preisen des Arrays (indem Sie prüfen, ob ein Auftrag zu diesem Preis existiert - Sie müssen nicht mehrere Aufträge zum selben Preis platzieren)
Sie können in der Zwischenzeit auch die Preise von bereits erteilten Aufträgen aus dem Array löschen, aber das ist ein bisschen knifflig...
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie an, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
#property strictint Count=0;
int init()
{
Alert ("Сработала ф-ия init() при запуске"); // Сообщениеreturn; // Выход из init()
}
//--------------------------------------------------------------------int start() // Спец. ф-ия start()
{
double Price = Bid; // Локальная перемен.
Count++; // Счётчик тиковAlert("Новый тик ",Count," Цена = ",Price); // Сообщениеreturn; // Выход из start()
}
int deinit() // Спец. ф-ия deinit()
{
Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщениеreturn; // Выход из deinit()
}
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
#property strictint Count=0;
int init()
{
Alert ("Сработала ф-ия init() при запуске"); // Сообщениеreturn(0); // Выход из init()
}
//--------------------------------------------------------------------int start() // Спец. ф-ия start()
{
double Price = Bid; // Локальная перемен.
Count++; // Счётчик тиковAlert("Новый тик ",Count," Цена = ",Price); // Сообщениеreturn(0); // Выход из start()
}
int deinit() // Спец. ф-ия deinit()
{
Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщениеreturn(0); // Выход из deinit()
}
2. Frage: Wie problematisch ist es, mit dem im Tutorial vermittelten Wissen (ich meine den Altersfaktor der Informationen) Code für neue Builds zu schreiben?
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie Hinweise, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
2. Frage: Wie groß ist das Problem, mit dem im Tutorial vermittelten Wissen Code für neue Builds zu schreiben (ich meine den Faktor Informationsalterung)?
Verwenden Sie OnInit(), OnDeinit(), OnTick() und andere aus der Liste:
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie an, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
2. Frage, wie viel ein Problem zu schreiben Code für neue Builds mit Wissen aus dem Tutorial (ich meine das Alter Faktor der Informationen)?
Es ist richtig, dass man Werte aus Nicht-Void-Funktionen zurückgeben kann, aber es ist besser, auf neue Builds umzusteigen - da gibt es nichts Kompliziertes.
Schreiben Sie, vergessen Sie nicht, #property strict Direktive am Anfang des Codes einzufügen - wo alle Direktiven geschrieben werden, lesen Sie Fehlercodes - ihre Beschreibungen sind in der Dokumentation, und alles wird gut und nicht kompliziert.
Gehen Sie die Liste der geschlossenen Positionen durch und wählen Sie diejenigen aus, deren Schlusszeit größer ist als die Startzeit des gewünschten Tages.
Danke, ich finde die offenen Preise der geschlossenen Positionen zum gewünschten Zeitpunkt im ersten Zyklus. Sie erscheinen alle auf dem Drucker, und ich muss sie in Auftrag geben.
Das Feld ist ein bisschen ein Puzzle für mich, bitte beraten Sie mich, wie man die Zyklen einfügen, um zu überprüfen und setzen sie auf den Eröffnungskurs in den ersten Zyklus der Suche nach diesen Preisen.
Wie kann ich also, ausgehend vom Preis des ältesten Produkts, das ich benötige, zum nächsten gefundenen Preis gelangen?
Danke, ich finde die Eröffnungskurse der geschlossenen Positionen zum richtigen Zeitpunkt im ersten Zyklus. Sie tauchen alle im Drucker auf und ich muss sie bestellen.
Das Array ist ein Labyrinth für mich, sagen Sie mir, wie ich die Zyklen zu überprüfen und auf den Eröffnungskurs in der ersten Schleife, um diese Preise zu finden.
Es ist schneller zu verstehen und zu begreifen, was Arrays sind, als zu korrigieren, was man getan hat.
Zumal Arrays nicht einfach, sondern sehr einfach sind.
AK-Magazin hält 30 Patronen - es ist eine Reihe von Größe 30. Und die Cartridges sind die im Array gespeicherten Daten.
Zugegebenermaßen ist dies kein gutes Beispiel - man kann die dritte nicht bekommen, wenn man nicht 0, 1 und 2 hat.
Stellen Sie sich eine Tabellenkalkulation vor:
Index 0
Index 1
Index 2
Index 3
Index 4
Index5.
Index6.
Index 7
Index 8
Index 9
Wert 1
Indexwert 2
Wert 3
Wert 4
Wert 5
Wert 6
Wert 7
Wert 8
Wert 9
Wert 10
Hier ist ein einfaches eindimensionales Array der Größe 10.
Wert 1 wird in Zelle mit Index 0 gespeichert, Wert 2 wird in Zelle mit Index 1 gespeichert, Wert 3 wird in Zelle mit Index 2 gespeichert, ... ... Wert 8 wird in Indexzelle 7 gespeichert, Wert 9 wird in Indexzelle 8 gespeichert, Wert 10 wird in Indexzelle 9 gespeichert
So einfach ist das. Um den Wert 3 zu erhalten, müssen Sie sich auf das Array beziehen - seine Zelle 2: Wert3=Array[2];
Vor kurzem habe ich hier eine plattformübergreifende Indikatorvorlage veröffentlicht. Sehen Sie sich das an.
Sie müssen einen Blog führen und dort Antworten auf dieselben Fragen veröffentlichen.... Ich wünschte, ich hätte so viel Geduld!
Hier isthttps://www.mql5.com/ru/forum/160683/page670#comment_9054670
Sie sollten einen Blog führen und dort Antworten auf die gleichen Fragen veröffentlichen.... Ich wünschte, ich hätte so viel Geduld!
Hilfe.
Ich möchte schwebende Aufträge für Positionen platzieren, die für den Tag geschlossen wurden.
Die Funktion setzt den Auftrag zum Preis der zuletzt geschlossenen Position.
Was muss ich tun, um schwebende Aufträge auf den Preis aller im Laufe des Tages geschlossenen Positionen zu setzen?
Hilfe.
Ich möchte schwebende Aufträge für Positionen platzieren, die für den Tag geschlossen wurden.
Die Funktion setzt den Auftrag zum Preis der zuletzt geschlossenen Position.
Was sollte ich tun, um schwebende Aufträge auf die Preise aller innerhalb eines Tages geschlossenen Positionen zu setzen?
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie an, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
2. Frage: Wie problematisch ist es, mit dem im Tutorial vermittelten Wissen (ich meine den Altersfaktor der Informationen) Code für neue Builds zu schreiben?
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie Hinweise, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
2. Frage: Wie groß ist das Problem, mit dem im Tutorial vermittelten Wissen Code für neue Builds zu schreiben (ich meine den Faktor Informationsalterung)?
Verwenden Sie OnInit(), OnDeinit(), OnTick() und andere aus der Liste:
Ich begann mit dem Studium von MQL4 durch das Buch von S. Kovalev. Kovalev, es gibt einige Ungereimtheiten im Code, da das Buch für alte Builds von MT4 geschrieben wurde.
Bitte geben Sie an, wie Sie diesen Code verarbeiten können, um Fehler zu vermeiden.
Fehler
return" - die Funktion muss einen Wert zurückgeben
1. Ist es richtig, dies zu tun?
2. Frage, wie viel ein Problem zu schreiben Code für neue Builds mit Wissen aus dem Tutorial (ich meine das Alter Faktor der Informationen)?
Danke, ich finde die offenen Preise der geschlossenen Positionen zum gewünschten Zeitpunkt im ersten Zyklus. Sie erscheinen alle auf dem Drucker, und ich muss sie in Auftrag geben.
Das Feld ist ein bisschen ein Puzzle für mich, bitte beraten Sie mich, wie man die Zyklen einfügen, um zu überprüfen und setzen sie auf den Eröffnungskurs in den ersten Zyklus der Suche nach diesen Preisen.
Wie kann ich also, ausgehend vom Preis des ältesten Produkts, das ich benötige, zum nächsten gefundenen Preis gelangen?Danke, ich finde die Eröffnungskurse der geschlossenen Positionen zum richtigen Zeitpunkt im ersten Zyklus. Sie tauchen alle im Drucker auf und ich muss sie bestellen.
Das Array ist ein Labyrinth für mich, sagen Sie mir, wie ich die Zyklen zu überprüfen und auf den Eröffnungskurs in der ersten Schleife, um diese Preise zu finden.
Es ist schneller zu verstehen und zu begreifen, was Arrays sind, als zu korrigieren, was man getan hat.
Zumal Arrays nicht einfach, sondern sehr einfach sind.
AK-Magazin hält 30 Patronen - es ist eine Reihe von Größe 30. Und die Cartridges sind die im Array gespeicherten Daten.
Zugegebenermaßen ist dies kein gutes Beispiel - man kann die dritte nicht bekommen, wenn man nicht 0, 1 und 2 hat.
Stellen Sie sich eine Tabellenkalkulation vor:
Hier ist ein einfaches eindimensionales Array der Größe 10.
Wert 1 wird in Zelle mit Index 0 gespeichert, Wert 2 wird in Zelle mit Index 1 gespeichert, Wert 3 wird in Zelle mit Index 2 gespeichert, ...
...
Wert 8 wird in Indexzelle 7 gespeichert, Wert 9 wird in Indexzelle 8 gespeichert, Wert 10 wird in Indexzelle 9 gespeichert
So einfach ist das. Um den Wert 3 zu erhalten, müssen Sie sich auf das Array beziehen - seine Zelle 2: Wert3=Array[2];