Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 304

 
Alexey Viktorov:
Artyom Trishkin:
Danke, bitte verzeihen Sie mir, ich habe meinen Gedanken nicht richtig formuliert.
Ich möchteden Eröffnungskurs des Jahres erhalten, nicht durch die Angabe eines bestimmten Datums, sondern durch die Übergabe eines Indexes, als ob es einen Balken von 1 Jahr im Terminal gibt. Der letzte Monat hat den Index 1, auch das letzte Jahr hat den Index 1.
 
mila.com:
Danke, bitte verzeihen Sie mir, ich habe den Gedanken falsch formuliert.
Ich möchteden Eröffnungskurs des Jahres erhalten, nicht durch die Angabe eines bestimmten Datums, sondern durch die Übergabe eines Index, als ob es einen 1-Jahres-Balken im Terminal gibt. Der letzte Monat hat den Index 1, genauso wie das letzte Jahr den Index 1 hat, und wie kann man das umsetzen?

Ganz einfach.

double f(int numYear)
 {
   MqlDateTime newYear = {0}; // Обнулить обязательно.
   newYear.year = numYear;
   double priceOpenYear[1];
   CopyOpen(_Symbol, PERIOD_MN1, StructToTime(newYear), 1, priceOpenYear);
   return(priceOpenYear[0]);
}

Und es hängt in keiner Weise von einem Arbeitstag oder einem arbeitsfreien Tag ab. PERIOD_MN1 ist immer der erste Tag des Monats, auch PERIOD_W1 ist immer Sonntag.

 

Leute!

Einer der Kunden beschwert sich darüber, dass die EAs bei starken Kursschwankungen abfallen. Dies ist bei verschiedenen Maklerunternehmen der Fall.

In ihrem Code gibt es nichts, was eine Löschung verursachen könnte. Ich selbst habe dieses Problem noch nie gehabt.

Was könnte das Problem sein?

 
Vladimir Tkach:

Leute!

Einer der Kunden beschwert sich darüber, dass die EAs bei starken Kursschwankungen abfallen. Dies ist bei verschiedenen Maklerunternehmen der Fall.

In ihrem Code gibt es nichts, was eine Löschung verursachen könnte. Ich selbst habe dieses Problem noch nie gehabt.

Was könnte das Problem sein?


Sie sehen nichts in den Protokollen? Nicht einmal über das Entladen?

 
Aleksey Vyazmikin:

Steht in den Protokollen nichts Unkompliziertes? Nicht einmal über das Entladen?


2017.08.08 23:31:29.035 Expert DEBUT 3.0 GBPUSD,M1: entfernt

 
Vladimir Tkach:

2017.08.08 23:31:29.035 Expert DEBUT 3.0 GBPUSD,M1: entfernt


Wenn der Experte keine Muster verwendet - er öffnet sich selbst auf seinem Chart, dann habe ich keine Hypothesen...

 
Aleksey Vyazmikin:

Wenn der Experte keine Muster verwendet - er öffnet sich auf seinem Chart selbst, dann habe ich keine Hypothesen...

Vladimir Tkach:

2017.08.08 23:31:29.035 Expert DEBUT 3.0 GBPUSD,M1: entfernt

Ist genügend freier Speicher vorhanden? Expert verstopft den Arbeitsspeicher nicht mit irgendetwas?

 

Guten Abend.

Bitte sagen Sie mir, warum die FunktionOrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES) nicht funktioniert.

Er gibt einen Fehler zurück: Der Ausdruck konnte nicht ausgewertet werden. Ticket - Wert ist gefüllt.

Ich kann nichts verstehen ((((

Ich danke Ihnen.

 
rabanik:

Guten Abend.

Bitte sagen Sie mir, warum die Funktion OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES) nicht funktioniert.

Er gibt einen Fehler zurück: Der Ausdruck konnte nicht ausgewertet werden. Ticket - Wert ist gefüllt.

Ich kann nichts verstehen ((((

Ich danke Ihnen.

Bei der Auswahl eines Auftrags nach Ticket muss kein Pool angegeben werden - MODE_TRADES ist hier überflüssig - dieser Parameter wird bei der Auswahl nach Ticket ignoriert, und der Auftrag wird aus einer der beiden Listen ausgewählt - aus der Liste der geschlossenen oder aus der Liste der Marktpositionen - je nachdem, ob die Position geschlossen ist oder noch nicht.

Nach der erfolgreichen Auswahl eines Auftrags auf der Grundlage des Tickets muss, um zu verstehen, aus welcher der beiden Listen der Auftrag ausgewählt wurde, die Positionsschlusszeit überprüft werden - wenn sie größer als Null ist, wurde der Auftrag bereits geschlossen und aus der Liste der historischen Aufträge ausgewählt, andernfalls ist der Auftrag noch auf dem Markt.

Aber um zu verstehen, was Ihr Fehler ist, müssen Sie den Code anhängen - geben Sie mehr Informationen, denn in dieser Zeile, im Prinzip gibt es keinen Fehler (außer, dass Sie nicht prüfen, die Rückkehr Ergebnis der Funktion, verwenden Sie einen Modifikator, der in diesem Fall ignoriert wird und es gibt keine ";" nach der schließenden Klammer).

 
Alexey Viktorov: Ganz einfach.

Danke, aber ich erhalte kein Ergebnis. Was könnte der Grund dafür sein?

Comment("OpenYear : ",DoubleToString(f(1))); 
Grund der Beschwerde: