[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 603

 
sergeev:

nicht so, dass diese Zeit für das == Zeichen nur 1 Sekunde lang besteht.

ist es richtig, entweder das Zeichen >=

oder durch die Kontrolle von zwei Zeitvariablen - der aktuellen und der vorherigen - gehen.


Das habe ich auch gedacht. Ich danke Ihnen. Ich werde experimentieren.
 
lottamer:

:))) und was haben wir damit zu tun? Ein Computer kann auswendig lernen, was er will - aber er soll es uns auf menschliche Weise vermitteln:))

Er gibt das heraus, worum er gebeten wird, und das kann er per Definition nicht "menschlich", denn er ist ein Computer und kein Mensch.
 

Lesen Sie hier https://forum.mql4.com/ru/38949/page2#434212


Die Funktion ExistPosByPrice().

Diese Funktion gibt ein Flag für das Vorhandensein einer Position zu einem bestimmten offenen Preis zurück.

Was isteine Exist-Flagge?

 
hoz:

Fragen Sie also, ob Sie die Funktion, die Sie zeigen, richtig geschrieben haben, sonst fragen Sie nach einer Sache und zeigen eine andere.
 
lottamer:

Lesen Sie hier https://forum.mql4.com/ru/38949/page2#434212


Die Funktion ExistPosByPrice().

Diese Funktion gibt ein Flag für das Vorhandensein einer Position zu einem bestimmten offenen Preis zurück.

Was isteine Exist-Flagge?


Ein Flag ist eine Variable, in der Regel vom Typ bool, die in Abhängigkeit von der Wahrheit der zu prüfenden Bedingung (hier: ob eine Position mit einem bestimmten Eröffnungskurs vorhanden ist) auf einen Zustand gesetzt wird.
 
sergeev:

nicht so, dass diese Zeit für das == Zeichen nur 1 Sekunde lang besteht.

ist es richtig, entweder das Zeichen >=

oder durch die Kontrolle von zwei Zeitvariablen - der aktuellen und der vorherigen - gehen.

Andererseits haben Sie einen logischen Fehler: Sie versuchen, eine Sekunde an ein positives Ergebnis einer logischen Operation einer Auftragseröffnungsbedingung zu binden.

Dies ist nicht korrekt. Der Auftrag kann nicht geöffnet werden, was bedeutet, dass Sie nicht versuchen werden, ihn beim nächsten Tick zu öffnen, da die Zeitfunktion false zurückgibt.


Ich habe die Grundidee verstanden. Hier ist das Ergebnis:

bool GetTimeToInput()

{

  if(TimeCurrent() >= iTime(Symbol(),1440,0) && TimeCurrent() <= iTime(Symbol(),1440,0) + N)

  {

    return(true);

  }

  else

    

  return(false);

} 

N ist die Anzahl der Minuten nach der Öffnung des Tagesbalken. Bisher habe ich noch nicht herausgefunden, wie man sie bekommt, also habe ich eine reine Variable geschrieben. Das scheint richtig zu sein.

sergeev:

Sie müssen die Erinnerung an eine erfolgreiche Operation an die Zeit binden.

denken.

Aber ich würde gerne klären, was Sie mit "Bindung der Speicherung einer erfolgreichen Operation an die Zeit" meinen. Das habe ich nicht ganz verstanden.

 
hoz:


Ich habe die Grundidee verstanden. Hier ist das Ergebnis:

N ist die Anzahl der Minuten, die seit der Eröffnung des Tagesbarrens verstrichen sind. Bislang habe ich nicht verstanden, wie man es bekommt, also habe ich eine reine Variable geschrieben. Das scheint richtig zu sein.

Sergejew:

Aber ich möchte deutlicher erklären, wie man das Einprägen einer erfolgreichen Operation mit der Zeit verbindet. Das verstehe ich nicht ganz.


Nicht die Zeit an sich ist für Sie wichtig, sondern ob etwas innerhalb einer bestimmten Zeitspanne getan wurde - das sollten Sie überprüfen.

P.S. Und Sie brauchen N nicht zu bestimmen, sondern nur Ihre Prüfungif(TimeCurrent() >= iTime(Symbol(),1440,0) ) durchzuführen, bis die von Ihnen benötigten Aktionen durchgeführt sind (Installation einer Bestellung).

 
rigonich:

Ein Flag ist eine Variable, in der Regel vom Typ bool, die auf einen Zustand gesetzt wird, der davon abhängt, ob die Bedingung erfüllt ist oder nicht (hier: ob es eine Position mit einem bestimmten offenen Preis gibt).

Verstehe, was ist die Position INDEX? Es ist kein Ticker, und es ist nicht eine Art....
 
lottamer:

Ich habe es verstanden, und was ist ein Auftragsindex? Es ist kein Ticker, und es ist kein Typ....


Dies ist der Index, der die Position des Auftrags im Array definiert, in dem die Daten über die im Terminal vorhandenen Aufträge gespeichert werden.

Mit anderen Worten, sieist unterstrichen (unter SELECT_BY_POS) boolOrderSelect(int index, int select, int pool=MODE_TRADES)

 
rigonich:


Dies ist der Index, der die Auftragsposition im Array definiert, in dem die Daten über die im Terminal vorhandenen Aufträge gespeichert sind.

Das heißt,was unterstrichen ist (mit SELECT_BY_POS) bool OrderSelect(int index, int select, int pool=MODE_TRADES)



aber wie wendet man dies in der Praxis an, wenn man die Bedingung "wenn die letzten beiden Abschlüsse verloren waren....." codieren muss? ??