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

 
Taras Slobodyanik:

Ich danke Ihnen!

Können Sie das Ergebnis als Summe der Pips für alle offenen Positionen darstellen? Ich verwende eine Bibliothek für die Arbeit mit Aufträgen und kann ohne sie keine Auftragsoperationen durchführen :(

 

Grüße.

Können Sie mir etwas sagen?

OrderSend hat

datetimeexpiration=0,// Verfallsdatum


Wie kann ich einstellen, dass der Auftrag nach seiner Eröffnung gelöscht wird, z.B. nach 3 Stunden oder 3 Kerzen des aktuellen Charts?

 
Andrey Sokolov:

Grüße.

Können Sie mir etwas sagen?

OrderSend hat

datetimeexpiration=0,// Verfallsdatum


Wie kann ich festlegen, dass die Order nach ihrer Eröffnung gelöscht wird, z.B. nach 3 Stunden oder 3 Kerzen des aktuellen Charts?


Zeitraum()*3*60

Zeitraum()- Anzahl der Minuten im Zeitraum

3 - Nummer benötigte Kerzenständer

60-Sekunden in einer Minute

Dann fügen wir sie zu Time[0] hinzu.

Das war's.

 
Cпасиб
 
Alekseu Fedotov:


Zeitraum()*3*60

Zeitraum()- Anzahl der Minuten im Zeitraum

3 - Nummer Kerzen, die Sie wollen

60-Sekunden in einer Minute

Addieren Sie zu Time[0], was Sie erhalten.

Das war's.

Es ist seit langem möglich, PeriodSeconds() mit dem gewünschten Zeitrahmen anstelle von Period()*60 zu schreiben.

Insgesamt sieht es folgendermaßen aus:

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*Anzahl_der_Wörter;

Oder verwenden Sie anstelle des aktuellen Zeitraums die erforderliche Anzahl von Kerzen eines bestimmten Zeitrahmens: PeriodSeconds(PERIOD_M15)*3 ist die Auftragsdauer von drei Fünfzehn-Minuten-Kerzen.

 
Andrey Sokolov:

Grüße.

Können Sie mir etwas sagen?

OrderSend hat

datetimeexpiration=0,// Verfallsdatum


Wie kann ich festlegen, dass die Order nach 3 Stunden oder 3 Kerzen des aktuellen Charts gelöscht werden soll?

allgemein gesagt - auf keinen Fall. Denn die Grenzen sind unbekannt. Es gibt eine Mindestzeit, es gibt eine Höchstzeit, es gibt Einschränkungen bei den Auftragsarten. Sie werden dem Kunden nicht mitgeteilt, so dass Sie sie nicht verwenden können.

Offensichtlich hängt die Aktion von der aktuellen Stimmung des jeweiligen DC ab. Kontrollieren Sie also Ihre eigenen Aufträge :-)

 
Artyom Trishkin:

Es ist schon lange möglich, PeriodSeconds() mit dem gewünschten Zeitrahmen anstelle von Period()*60 zu schreiben.

Insgesamt stellt sich die Situation wie folgt dar:

time_expiratonn=Time_set_order+PeriodSeconds(PERIOD_CURRENT)*Anzahl_der_Kerzen;

Anstelle der aktuellen Periode kann auch die Anzahl der Kerzen eines bestimmten Zeitrahmens verwendet werden: PeriodSeconds(PERIOD_M15)*3 ist die Auftragsdauer von drei Fünfzehn-Minuten-Kerzen.


Ich danke Ihnen!
 

Das Thema ist schon oft diskutiert worden, aber ich bitte um eine Erklärung.


Ich beschloss, einen Indikator zu schreiben, machte ich und lief es auf m5, es funktioniert sogar und zeigt etwas.

Meine Probleme begannen, als ich beschloss, eine Neuinstallation aus einer anderen Zeit auf dem m5 parallel zu installieren.

Wie kann man Daten von verschiedenen TFs in einem Fenster anzeigen?

 

Hallo ...


Die Funktion OrderSelect() kopiert die Auftragsdaten in die Softwareumgebung ...Wenn Aufträge mit dem Parameter SELECT_BY_POS sequentiell ausgewählt werden, werden die Informationen in der Reihenfolge angegeben, in der sie vom Handelsserver empfangen wurden ...= Ich habe gehört, dass Aufträge auch in umgekehrter Reihenfolge gesucht werden können, können Sie einem "Dummie" sagen, wie man dies in MQL4-Code anzeigt ...

 
Yaroslav Nykula:

Hallo ...


Die Funktion OrderSelect() kopiert die Auftragsdaten in die Softwareumgebung ...Wenn Aufträge mit dem Parameter SELECT_BY_POS sequentiell ausgewählt werden, werden die Informationen in der Reihenfolge angegeben, in der sie vom Handelsserver empfangen wurden ...= Ich habe gehört, dass Aufträge auch in umgekehrter Reihenfolge gesucht werden können. Würden Sie einem "Dummy" sagen, wie man dies im MQL4-Code anzeigt?

Suche nach offenen

  for(int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

Suche invers nach geschlossen

 for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
Grund der Beschwerde: