2) Wenn ein Array rückwärts indiziert ist, sollten neue Zellen am Anfang des Arrays erscheinen - was nicht der Fall ist
Warum sollten neue Zellen am Anfang eines Feldes erscheinen? - Wenn ich mich nicht irre, sollte in der Hilfe stehen, dass bei der Verwendung von ArraySetAsSeries() das Array nicht physisch im Speicher neu zugewiesen wird, sondern beim Zugriff auf die Arrayelemente eine umgekehrte Indizierung vorgenommen wird
SZZ: Ihr Beispiel ist kompliziert, ich habe es skizziert:
Und Sie können Variablen in Form einer Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum sollten Sie so ein Durcheinander machen? Und in mql4 ist diese Aufzählung schon lange verfügbar...
Und Sie können Variablen als Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum müssen Sie sich diese ganze Mühe machen? Und in mql4 ist diese Aufzählung schon seit Ewigkeiten verfügbar...
Und Sie können Variablen in Form einer Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum sollten Sie so ein Durcheinander machen? Und in mql4 ist diese Aufzählung auch schon lange verfügbar...
Kolleginnen und Kollegen, bitte nennen Sie uns den besten Algorithmus, um den Preis der zuvor platzierten Limit-Order zu finden, der dem aktuellen Preis am nächsten liegt - bzw. dem aufsteigenden Verkaufslimit, dem Geldkurs
das Kauflimit, das dem Boden am nächsten ist.
Dieses f-iio zählt die Menge, aber ich benötige den PREIS der zuvor platzierten Limit-Order, damit das f-iio zurückkehrt...
Bislang verwende ich den Mindestpreis für das Verkaufslimit und den Höchstpreis für das Kauflimit....
int Price_of_orders(int Magic_) // цена ближайшего ордера к цене по магику
{
//--- получим общее количество ордеровint ord = 0; // итоговое значение кол-ва ордеровint orders=OrdersTotal();
//--- пробежим по списку ордеровfor(int i=0;i<orders;i++)
{
ResetLastError();
//--- скопируем в кэш ордер по его номеру в спискеulong ticket=OrderGetTicket(i);
if(ticket!=0)// если ордер успешно скопирован в кэш, работаем с ним
{
double price_open =OrderGetDouble(ORDER_PRICE_OPEN);
datetime time_setup=OrderGetInteger(ORDER_TIME_SETUP);
string symbol =OrderGetString(ORDER_SYMBOL);
long magic_number =OrderGetInteger(ORDER_MAGIC);
if(magic_number==Magic_)
{
// обработаем ордер с заданным ORDER_MAGIC - посчитаем
ord++;
}
PrintFormat("Ордер #%d по %s был выставлен %s, ORDER_MAGIC=%d",ticket,symbol,TimeToString(time_setup),magic_number);
}
else// вызов OrderGetTicket() завершился неудачно
{
PrintFormat("Ошибка при получении ордера из списка в кэш. Код ошибки: %d",GetLastError());
}
}
return (ord);
}
Kolleginnen und Kollegen, bitte nennen Sie uns den besten Algorithmus, um den Preis der zuvor platzierten Limit-Order zu finden, der dem aktuellen Preis am nächsten liegt - bzw. dem aufsteigenden Verkaufslimit, dem Geldkurs
das Kauflimit, das dem Boden am nächsten ist.
Dieses f-iio zählt die Menge, aber ich benötige den PREIS der zuvor platzierten Limit-Order, damit das f-iio zurückkehrt...
Bislang verwende ich den Mindestpreis für das Verkaufslimit und den Höchstpreis für das Kauflimit....
Ich möchte die gewünschten Preise mit Tickets und vielleicht noch etwas anderes, z.B. Zeit, in meiner Struktur oder Array speichern und sofort nach dem Hinzufügen nach Preis sortieren. Nach Ressourcen, wenn Sie nicht oft suchen, ist es das gleiche oder ein wenig teurer, und wenn oft, ist es besser zu erinnern. Natürlich, wenn Sie nicht 100500 Aufträge haben) Dann kann es zu teuer sein. Im Allgemeinen wird das Problem der Sortierung in einer Struktur oder einem mehrdimensionalen Array leider nur für den ersten Index gelöst.
Manchmal verwende ich mehrere eindimensionale Arrays mit den gleichen Indizes, Tickets, Zeit, Preise. Und suchen Sie nach dem Index der gewünschten Eigenschaft. Zum Beispiel erhalten wir den Index einer kleineren Zeit oder eines größeren Preises und erhalten das Ticket der notwendigen Reihenfolge. Natürlich ist es eine Krücke, aber es funktioniert eindeutig.
Es ist eine Frage aufgetaucht, die bei der Suche nicht gefunden wurde. Ist es möglich, Algotrading im EA zu aktivieren. Abfrage der Eigenschaften des Terminals, ob es aktiviert ist oder nicht.
Und ist es möglich, einen EA in einem Terminal mit aktiviertem Algotrading laufen zu lassen und einen anderen nicht.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
2) Wenn ein Array rückwärts indiziert ist, sollten neue Zellen am Anfang des Arrays erscheinen - was nicht der Fall ist
Warum sollten neue Zellen am Anfang eines Feldes erscheinen? - Wenn ich mich nicht irre, sollte in der Hilfe stehen, dass bei der Verwendung von ArraySetAsSeries() das Array nicht physisch im Speicher neu zugewiesen wird, sondern beim Zugriff auf die Arrayelemente eine umgekehrte Indizierung vorgenommen wird
SZZ: Ihr Beispiel ist kompliziert, ich habe es skizziert:
2022.04.18 21:31:59.223 tst EURUSD,H1: arr2 = 5 , 4 , 3 , 2 , 1 , 0 , 0 , 0 , 0 , 0 ,
2022.04.18 21:31:59.223 tst EURUSD,H1: arr1 = 1 , 2 , 3 , 4 , 5 , 0 , 0 , 0 , 0 , 0 ,
2022.04.18 21:31:59.223 tst EURUSD,H1: Größe ändern : 10 , 10
2022.04.18 21:31:59.223 tst EURUSD,H1: Startgröße : 5 , 5
Ich erhalte den Fehler'iClose' - zweideutiger Aufruf einer überladenen Funktion.
Im Allgemeinen besteht das Ziel darin, die TF auszuwählen.
Ich wollte es mit MT4 aus Gewohnheit wählen
Aber ich habe versagt.(
Im Allgemeinen besteht das Ziel darin, die TF auszuwählen.
Ich wollte es mit MT4 aus Gewohnheit wählen
Aber ich habe versagt.
Zeiträume im MT5
if(Zeitraum()==1) return "M1";
if(Zeitraum()==2) return "M2";
if(Zeitraum()==3) return "M3";
if(Zeitraum()==4) return "M4";
if(Zeitraum()==5) return "M5";
if(Zeitraum()==6) return "M6";
if(Zeitraum()==10) return "M10";
if(Zeitraum()==12) return "M12";
if(Zeitraum()==15) return "M15";
if(Zeitraum()==20) return "M20";
if(Zeitraum()==30) return "M30";
if(Zeitraum()==16385) return "H1";
if(Zeitraum()==16386) return "H2";
if(Zeitraum()==16387) return "H3";
if(Zeitraum()==16388) return "H4";
if(Zeitraum()==16390) return "H6";
if(Zeitraum()==16392) return "H8";
if(Zeitraum()==16396) return "H12";
if(Zeitraum()==16408) return "Täglich";
if(Zeitraum()==32769) return "Wöchentlich";
if(Zeitraum()==49153) return "Monatlich";
Zeiträume in mt5
if(Zeitraum()==1) return "M1";
if(Zeitraum()==2) return "M2";
if(Zeitraum()==3) return "M3";
if(Zeitraum()==4) return "M4";
if(Zeitraum()==5) return "M5";
if(Zeitraum()==6) return "M6";
if(Zeitraum()==10) return "M10";
if(Zeitraum()==12) return "M12";
if(Zeitraum()==15) return "M15";
if(Zeitraum()==20) return "M20";
if(Zeitraum()==30) return "M30";
if(Zeitraum()==16385) return "H1";
if(Zeitraum()==16386) return "H2";
if(Zeitraum()==16387) return "H3";
if(Zeitraum()==16388) return "H4";
if(Zeitraum()==16390) return "H6";
if(Zeitraum()==16392) return "H8";
if(Zeitraum()==16396) return "H12";
if(Zeitraum()==16408) return "Täglich";
if(Zeitraum()==32769) return "Wöchentlich";
if(Zeitraum()==49153) return "Monatlich";
Ich danke Ihnen!
Ich danke Ihnen!
Warum mögen Sie ENUM_TIMEFRAMES nicht?
Und Sie können Variablen in Form einer Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum sollten Sie so ein Durcheinander machen? Und in mql4 ist diese Aufzählung schon lange verfügbar...
Warum mögen Sie ENUM_TIMEFRAMES nicht?
Und Sie können Variablen als Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum müssen Sie sich diese ganze Mühe machen? Und in mql4 ist diese Aufzählung schon seit Ewigkeiten verfügbar...
+
Warum mögen Sie ENUM_TIMEFRAMES nicht?
Und Sie können Variablen in Form einer Aufzählung in die Eingabe eingeben und sie nach Belieben auswählen... Warum sollten Sie so ein Durcheinander machen? Und in mql4 ist diese Aufzählung auch schon lange verfügbar...
Ich danke Ihnen! Ich hatte keine Ahnung.
Kolleginnen und Kollegen, bitte nennen Sie uns den besten Algorithmus, um den Preis der zuvor platzierten Limit-Order zu finden, der dem aktuellen Preis am nächsten liegt - bzw. dem aufsteigenden Verkaufslimit, dem Geldkurs
das Kauflimit, das dem Boden am nächsten ist.
Dieses f-iio zählt die Menge, aber ich benötige den PREIS der zuvor platzierten Limit-Order, damit das f-iio zurückkehrt...
Bislang verwende ich den Mindestpreis für das Verkaufslimit und den Höchstpreis für das Kauflimit....
Kolleginnen und Kollegen, bitte nennen Sie uns den besten Algorithmus, um den Preis der zuvor platzierten Limit-Order zu finden, der dem aktuellen Preis am nächsten liegt - bzw. dem aufsteigenden Verkaufslimit, dem Geldkurs
das Kauflimit, das dem Boden am nächsten ist.
Dieses f-iio zählt die Menge, aber ich benötige den PREIS der zuvor platzierten Limit-Order, damit das f-iio zurückkehrt...
Bislang verwende ich den Mindestpreis für das Verkaufslimit und den Höchstpreis für das Kauflimit....
Ich möchte die gewünschten Preise mit Tickets und vielleicht noch etwas anderes, z.B. Zeit, in meiner Struktur oder Array speichern und sofort nach dem Hinzufügen nach Preis sortieren. Nach Ressourcen, wenn Sie nicht oft suchen, ist es das gleiche oder ein wenig teurer, und wenn oft, ist es besser zu erinnern. Natürlich, wenn Sie nicht 100500 Aufträge haben) Dann kann es zu teuer sein. Im Allgemeinen wird das Problem der Sortierung in einer Struktur oder einem mehrdimensionalen Array leider nur für den ersten Index gelöst.
Manchmal verwende ich mehrere eindimensionale Arrays mit den gleichen Indizes, Tickets, Zeit, Preise. Und suchen Sie nach dem Index der gewünschten Eigenschaft. Zum Beispiel erhalten wir den Index einer kleineren Zeit oder eines größeren Preises und erhalten das Ticket der notwendigen Reihenfolge. Natürlich ist es eine Krücke, aber es funktioniert eindeutig.
Es ist eine Frage aufgetaucht, die bei der Suche nicht gefunden wurde. Ist es möglich, Algotrading im EA zu aktivieren. Abfrage der Eigenschaften des Terminals, ob es aktiviert ist oder nicht.
Und ist es möglich, einen EA in einem Terminal mit aktiviertem Algotrading laufen zu lassen und einen anderen nicht.