[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 190
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
Sergey Dubakin hat mir freundlicherweise die CloseBy-Funktion angeboten, aber leider erfüllt sie nicht die für mich wichtige Bedingung, eine Position mit maximalem Verlust mit der gegenüberliegenden Position mit maximalem Gewinn zu schließen:
Uv. pro! Wo kann ich die Funktion СloseBy() finden, die im manuellen Modus funktioniert? Ich möchte es in meine Eule einzufügen, um in der Lage sein, nicht manuell, sondern automatisch nach den Bedingungen, um die Position mit einem maximalen Minus das Gegenteil mit einem maximalen Plus zu schließen. Ich konnte sie in der Codebase nicht finden. Ich habe sie in der Codebase nicht gefunden. Vielen Dank!
Versuchen Sie diese Variante:
Sergey Dubakin hat freundlicherweise die Funktion CloseBy angeboten, aber leider erfüllt sie eine für mich wichtige Bedingung nicht, nämlich das Schließen einer Position mit maximalem Verlust durch eine gegenüberliegende Position mit maximalem Gewinn.
Hallo, diese Funktion schließt eine Position mit einem maximalen Verlust mit der gegenüberliegenden Position mit einem maximalen Gewinn. Hier ist ein Test-EA für den Tester:
Er eröffnet abwechselnd Kauf- und Verkaufspositionen, wenn ein neuer 4-Stunden-Balken erscheint, und schließt eine entgegengesetzte Position, wenn ein neuer Tag beginnt.
Hallo, die Funktion schließt die Position mit dem maximalen Verlust mit der gegenüberliegenden Position mit dem maximalen Gewinn. Hier ist ein Test-EA für den Tester:
Er eröffnet abwechselnd Kauf- und Verkaufspositionen, wenn ein neuer 4-Stunden-Balken erscheint, und schließt eine entgegengesetzte Position, wenn ein neuer Tag beginnt.
OK, jetzt habe ich es. Wenn der Kurs des aktuellen Balkens Open[0] + 30 erreicht, wird eröffnet. Wenn der Balken beendet wurde, hat sich Open[0] geändert und der Open Level wird entsprechend verschoben. Es sollte nur einen Handel auf dem Markt geben, richtig?
Dann ist es so:
Es ist nicht notwendig, den neuen Balken zu verfolgen, denn wenn er gebildet wird, fügt das System automatisch einen neuen Wert zu Open[0] hinzu, so dass das neue Niveau korrekt berechnet wird. Bitte beachten Sie, dass das BUY-Geschäft zum aktuellen Ask-Kurs eröffnet wird, während es zum Bid-Kurs geschlossen wird (TP und SL). Darüber hinaus sollten die Preiswerte normalisiert werden.
Herzlichen Dank für Ihre Hilfe.
Eröffnet aber im Tester bei jeder Minutenkerze den Handel. Die Informationen finden Sie unter diesem Link http://clip2net.com/s/2T98Y
Ich möchte, dass eine Order bei einer Fünf-Minuten-Kerze eröffnet wird, aber nicht bei jeder Kerze.
Aber nur, wenn die aktuelle Fünf-Minuten-Kerze > oder = 30 Pips ist (vom Eröffnungskurs bis zu seinem Maximum).
D.h., eröffnen Sie eine Marktorder zum dreißigsten Punkt ab dem Eröffnungskurs der Null=aktuellen Fünf-Minuten-Kerze.
Und wenn die aktuelle Fünf-Minuten-Periode vom Eröffnungskurs bis zu seinem Maximum weniger als 30 Punkte beträgt, sollten wir keine Marktorder eröffnen.
D.h. die Aufträge werden ein wenig, ich habe in Excel gezählt, seit 1999 - ein wenig mehr als 3000 auf Euro-Dollar in beide Richtungen sein.
Wir wechseln zur nächsten Fünf-Minuten-Periode und wenn sie, d.h. die aktuelle Fünf-Minuten-Periode > oder = 30 Pips ist, dann eröffnen wir bei den dreißigsten Pips, wenn weniger, wechseln wir zur nächsten Fünf-Minuten-Periode ... und so weiter bis zum Ende des Charts.
Aber die Sache ist die, dass nach einer groben Schätzung die meisten Fünf-Minuten-Pläne, die > oder = 30 Punkte sind, viel häufiger über 15 Punkte hinausgehen als bei 30 Punkten geschlossen werden.
Sie haben eine Bedingung - wenn es keine offenen Aufträge gibt
In meinem System können jedoch zwei Fünf-Minuten-Perioden mit den oben beschriebenen Parametern hintereinander gebildet werden, und wenn der Auftrag aus der vorherigen Fünf-Minuten-Periode nicht geschlossen wird, dann wird in der zweiten Fünf-Minuten-Periode kein Auftrag eröffnet.
Ich möchte, dass in jeder Fünf-Minuten-Periode ein Auftrag mit den oben beschriebenen Parametern eröffnet wird, unabhängig davon, ob es Aufträge im Handel gibt oder nicht.
Das war's, jetzt habe ich es. Wenn der Kurs des aktuellen Balkens Open[0] + 30 erreicht, wird eröffnet. Wenn der Balken beendet wurde, hat sich Open[0] geändert, und das Eröffnungsniveau wird entsprechend verschoben. Es sollte nur einen Handel auf dem Markt geben, richtig?
Dann ist es so:
Es ist nicht notwendig, den neuen Balken zu verfolgen, denn wenn er gebildet wird, fügt das System automatisch einen neuen Wert zu Open[0] hinzu, so dass das neue Niveau korrekt berechnet wird. Bitte beachten Sie, dass das BUY-Geschäft zum aktuellen Ask-Kurs eröffnet wird, während es zum Bid-Kurs geschlossen wird (TP und SL). Darüber hinaus sollten die Preiswerte normalisiert werden.
Und Sie haben auch eine zweite Bedingung - wenn der Schlusskurs der aktuellen fünf Minuten >= Eröffnungskurs des Auftrags.
Aber in meiner Idee kann der Schlusskurs der aktuellen 5-Minuten-Periode ein beliebiger Kurs sein, solange sein Hoch > oder = 30 Pips ist.
Close[0]>=Price
Hallo Sergei, ich habe einen anderen Algorithmus! Das ist die Sache, diese Funktion schließt, was sie hat, und ich will, dass sie die maximalen schließt, nicht irgendwelche! Nun, nichts, ich werde es selbst beenden, wenn mir niemand hilft! Ihre Version ist nur für den Tester gut, so dass die Kopfzeile nach den Regeln hinzugefügt. Funktioniert fehlerfrei, wählt aber nicht das Maximum! Trotzdem danke ich Ihnen für Ihre Hilfe!
Wie wollen Sie es haben? Das von mir gepostete Modell ermittelt die unrentabelste Position in der Einzahlungswährung(in Geld), ermittelt dann die rentabelste Gegenposition ebenfalls in der Einzahlungswährung und führt eine Gegenposition aus.
Ich habe Funktionen implementiert, die den maximalen Verlust GetMaxLoss() und den maximalen Gewinn GetMaxProfit() bestimmen, aber ich kann die Funktion LockOFF() nicht dazu bringen, ein von mir angegebenes Paar auszuwählen und nicht irgendeines von ihnen. Bitte zeigen Sie mir, an welcher Stelle meine Maxima zu setzen, und vielleicht brauche ich mehr Funktionen, um das Ticket oder Index dieser Positionen zu bestimmen, dann ist es kein Problem für mich, aber wo es alle in diesem LockOFF() setzen? Danke!
Die Funktion hat es in sich - sie definiert den maximalen Verlust, den maximalen Gewinn und auch das Ticket.
Wie wollen Sie es haben? Die von Ihnen gepostete Position ermittelt die unrentabelste Position in der Einzahlungswährung (in Geld), ermittelt dann die rentabelste Gegenposition ebenfalls in der Einzahlungswährung und führt eine Gegenposition durch.
Die Funktion hat alles - sie definiert den maximalen Verlust, den maximalen Gewinn und auch das Ticket ist definiert.
Sie irren sich! Sie haben wahrscheinlich das einzige Paar entgegengesetzter Positionen, während ich vielleicht mehr habe, weil ich alle Daten in den Kommentaren angezeigt habe und sehe, dass es nicht maxiLoss maxiProfit schließt, sondern eine der ersten, die in der Suche auftauchen. Und meine Funktionen zeigen deutlich Positionsindizes mit maximalem Verlust und Gewinn. Ich muss nur diese Prüfungen zu LockOFF() hinzufügen!
https://www.mql5.com/ru/code/7835 Nur dies ist ein Indikator. Sie müssen Objekte in einem EA verwenden.
Haben Sie sich den Test EA für die Funktion im Tester angesehen? Er schließt genau den maximalen Verlust mit dem maximalen Gewinn, egal wie viele Aufträge es gibt - zwei oder zwanzig.