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
Die Funktion CrossPointOfSections().
Diese Funktion berechnet die Koordinaten des Schnittpunkts zweier Segmente, wobei jedes Segment durch ein Paar seiner Punktkoordinaten definiert ist. Drei Arrays werden als Parameter an die Funktion übergeben:
Das Skript ist zum Testen gedacht.
Guten Tag. Frage zu Funktionen, die eine Flagge zum Schließen der letzten Position bei einem Take oder Stop Loss zurückgeben.
Nützliche Funktionen von KimIV".
Function isCloseLastPosByTake().
Diese Funktion gibt das Flag zum Schließen der letzten Position auf dem Take zurück. Flagge ist oben - Wahr - TakeProfit wurde ausgelöst. Flagge gesenkt - Falsch - Position wurde aus einem anderen Grund geschlossen
//---------------------------------------------------------------
Gestern habe ich diese Frage im allgemeinen Forum gestellt. Aber bis jetzt keine Antwort.
Mein Expert Advisor hat ein 3-stufiges Martingal. Jede Stufe (Position) hat ihre eigene Magie (1,2,3).
Positionen werden durch Signale und/oder Stops geschlossen.
Diese Art des Abschlusses wird ebenfalls durchgeführt:
Es stellt sich heraus, dass mein Expert Advisor funktioniert gut, solange die letzte (größte Position) eines martigail Schritt ist nicht auf Take Profit geschlossen!
Wenn dann die nächste erste Position (magische 1) geöffnet wird, wird sie sofort geschlossen, da das Flag der Funktion isCloseLastPosByTake() auf eins (1) gesetzt bleibt!
Und so weiter bis ins Unendliche. Öffnet und schließt sich.
Außerdem! Das Terminal merkt sich diese Markierung, und selbst eine Neuinstallation des EA hilft nicht (bis Sie die Magie ändern).
Ich brauche eine Möglichkeit, die Funktion isCloseLastPosByTake() zurückzusetzen, nachdem alle Positionen geschlossen wurden.
Ich habe mir bereits das Hirn zermartert. Das klappt nicht!
Igor, oder wer auch immer (wer kann), bitte sagen Sie mir, wie es zu tun und wenn Sie es überhaupt tun können?
Die Antwort auf meine Frage scheint gefunden worden zu sein. Wenn Sie daran interessiert sind, finden Sie es hier.
Eine Frage für Kenner".
Beispiele für die Verwendung des Befehls ModifyOrder().
Ich habe beschlossen, die allerersten Beispiele zu nennen, die mir schon oft gestellt wurden. Dies ist die Eröffnung von Positionen im Rahmen der Ausführung von Marktaufträgen Market Watch. Dies ist der Fall, wenn wir nicht gleichzeitig einen Auftrag zur Eröffnung einer Position zum Marktpreis erteilen und einen schwebenden Auftrag damit verbinden können. Eine solche Eröffnung bei Market Watch sollte in zwei Schritten erfolgen: Zuerst eröffnen wir eine Position, und dann versehen wir sie mit einer Pending Order, d.h. wir setzen StopLoss und TakeProfit Kursniveaus.
1. Kaufen Sie 0,1 Lot des aktuellen Symbols und setzen Sie einen Stopp von 30 Punkten
2. Verkaufen Sie 0,15 Lot des aktuellen Symbols und setzen Sie SL=45, TP=99
Ein Arbeitsskript mit Beispielen ist im Trailer enthalten.
Solange ich in meinem EA keine Magie einsetze!
Alle Positionen ändern sich normal. Allerdings -
Ich verstehe nicht, warum die Funktion OpenPosition() den Zauberer nicht sieht und die Positionen nacheinander auf jedem Balken öffnet. Ich habe bereits alles Unnötige entfernt (ich dachte, es sei mein Fehler im Code).
Und geben Sie die Anzahl der Positionen im Kommentar an. Es ist nutzlos. Wenn es offensichtliche Positionen gibt - Kommentar druckt Null:
Ich kann mir nicht erklären, warum die Funktion den Zauberer nicht sehen kann! Hier ist der Code:
Im Anhang finden Sie die Quelldatei dieses Codes. Können Sie mir bitte sagen, wo ich einen Fehler gemacht habe und warum EA keine Magie sieht?
Ja, ich danke Ihnen allen(tmp.0 & Roger)! Ich habe das Problem behoben und alles funktioniert wieder wie es soll.
Meine Unaufmerksamkeit ist daran schuld. Überhaupt nicht die Funktion OpenPosition().
Spieler, ein Hinweis!
Bei der Verwendung von OrderCloseBuy - OrderCloseSell benötigt die integrierte MKueL-Sprache und der Compiler zwei Funktionsparameter(Auftragstickets - Kauf und Verkauf). Wir haben ein Ticket für eine offene Bestellung, aber wie können wir das zweite Ticket einstellen? Oder vielleicht habe ich etwas nicht verstanden - im Selbststudium der Sprache steht nichts über diese Funktion und es gibt kein Beispiel.
Vielen Dank im Voraus!
Und hier eine weitere Frage an Igor.
Haben Sie eine separate benutzerdefinierte (oder andere) Funktion erstellt, um die Kauf-/Verkaufsposition umzukehren und umgekehrt, ohne die übliche OrderClose-OrderSend?