[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 155
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
in der Definition eines Trends?
Bei einem Trendwechsel über einen bestimmten Zeitraum... Siehe https://www.mql5.com/ru/forum/131277/page148 und https://www.mql5.com/ru/forum/131277/page149
Können Sie mir sagen, warum OrderSelect TRUE zurückgibt, auch wenn die Bestellung mit diesem Ticket nicht mehr existiert (sie wurde gelöscht)?
bei einer Trendwende auf einem Zeitabschnitt...
Bitte sagen Sie mir, ob die Tp- und Slossa-Funktion hier funktioniert
if (gesamt > 0) Durchschnittspreis = NormalizeDouble(Durchschnittspreis / Anzahl, Ziffern);
if (NewOrdersPlaced) {
for (cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_BUY) {
PriceTarget = AveragePrice + TakeProfit * Point;
BuyTarget = PriceTarget;
Stopper = AveragePrice - Stoploss * Point;
flag = TRUE;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
if (OrderType() == OP_SELL) {
PriceTarget = AveragePrice - TakeProfit * Point;
SellTarget = PriceTarget;
Stopper = AveragePrice + Stoploss * Point;
flag = TRUE;
Die Kompilierung funktionierte bei mir einwandfrei.
Entschuldigung, der Indikator funktioniert - so war es ursprünglich, und der Fehler liegt in der tcht-Datei - sie lässt sich nicht kompilieren.
Kann ich init verwenden, um Berechnungen für den Indikatorpuffer durchzuführen?
Ich wollte in init alle Balken außer dem Null-Balken neu berechnen und im Start-Null-Balken - es zählt nicht...
Können Sie mir sagen, warum OrderSelect TRUE zurückgibt, auch wenn es keine Bestellung mit einem solchen Ticket gibt (es wurde gelöscht)?
Haben Sie die Funktionsreferenz gut gelesen?
Lesen wir es noch einmal:
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Der Parameter pool wird ignoriert, wenn die Bestellung über die Ticketnummer ausgewählt wird. Die Ticketnummer ist eine eindeutige Kennung für die Bestellung. Um herauszufinden, aus welcher Liste ein Auftrag ausgewählt wurde, muss man seine Schlusszeit analysieren. Wenn der Zeitpunkt der Schließung des Auftrags 0 ist, ist der Auftrag offen oder schwebend und wird aus der Liste der offenen Positionen des Terminals übernommen. Eine offene Position unterscheidet sich von einem schwebenden Auftrag durch ihren Typ. Wenn der Zeitpunkt des Abschlusses ungleich 0 ist, dann ist der Auftrag abgeschlossen oder in der Schwebe und wurde aus der Historie des Terminals ausgewählt. Die Unterscheidung zwischen einem abgeschlossenen Auftrag und einem gelöschten schwebenden Auftrag kann auch nach Auftragsart erfolgen.
SELECT_BY_POS - der Parameter index enthält die Indexnummer der Position in der Liste,
SELECT_BY_TICKET - der Indexparameter enthält die Ticketnummer.
MODE_TRADES (Standard) - der Auftrag wird unter den offenen und schwebenden Aufträgen ausgewählt,
MODE_HISTORY - der Auftrag wird unter den geschlossenen und gelöschten Aufträgen ausgewählt.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Diese hier:
Der Parameter pool wird ignoriert , wenn die Bestellung über die Ticketnummer ausgewählt wird. Die Ticketnummer ist die eindeutige Kennung der Bestellung. Um herauszufinden, aus welcher Liste ein Auftrag ausgewählt wird, muss seine Schlusszeit analysiert werden. Wenn der Zeitpunkt der Schließung des Auftrags 0 ist , ist der Auftrag offen oder schwebend und wird aus derListe der offenen Positionen des Terminals übernommen.
Was tun Sie?
Ich habe den Parameter Pool rot dargestellt, der bei der Auswahl per Ticket ignoriert wird und eine Order aus einer beliebigen Liste (offen oder geschlossen) von Positionen des Terminals genommen wird. Deshalb liefert sie die Wahrheit. Immerhin existiert ein solches Ticket und ein Auftrag wird ausgewählt, aber aus der Liste der geschlossenen Aufträge...
Wir sollten es so machen:
... oder:
... ...oder:
Ich denke, ich habe es sehr gut erklärt... :)
artmedia70
Vielen Dank für diese ausführliche und umfassende Antwort. Wirklich so klar wie möglich :) THX!!!
artmedia70
Vielen Dank für diese ausführliche Antwort. So klar wie möglich :) THX!!!
:) Ich danke Ihnen. Bitte sehr.
Ich möchte vor einer gewissen "Heimtücke" bei der Auswahl offener Stellen nach ihrem Ticket warnen. Die Sache ist die, dass am Ende eines Handelstages, wenn eine Position auf den nächsten Tag verschoben wird, die Maklerfirma den Auftrag wieder eröffnet. Das heißt, die aktuelle Position wird geschlossen und eine neue Position mit demselben Volumen, aber mit einem neuen Ticket, das den Swap enthält, eröffnet. Daher muss Ihr Expert Advisor die wiedereröffneten Aufträge verfolgen und ihre neuen Ticker berücksichtigen, da sonst alles "fließt" - der Auftrag mit dem alten Ticker erscheint in der Liste der geschlossenen Aufträge, und Sie können eine bestehende Position, die auf den neuen Handelstag verschoben wurde, nicht mit dem alten Ticker eröffnen. Für teilweise geschlossene Positionen gilt dasselbe - auch ihnen wird ein neues Ticket zugewiesen.
Führen Sie daher strikt Buch über alle EA-Aufträge und verfolgen Sie alle derartigen "heimtückischen" Änderungen im Laufe der Zeit.
Ich möchte vor einer gewissen "Heimtücke" bei der Auswahl offener Stellen nach ihrem Ticket warnen. Der Punkt ist, dass am Ende des Handelstages, wenn eine Position auf den nächsten Tag übertragen wird, das DC den Auftrag wieder eröffnet.
Ich weiß nicht, ob das auf einige Maklerfirmen zutrifft, aber die meisten machen so einen Mist nicht.
Gehört es nicht zu den "guten Sitten", auch dieses Verhalten des DC zu berücksichtigen? Immerhin ... Ja, schon gut... Ich versuche einfach, alles zu berücksichtigen, naja... oder das, was mir bekannt ist.
Vorsicht ist besser als Nachsicht, oder? ;)