und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 4
- Rating:
- Veröffentlicht:
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
WAS ES DRUCKT
Für jedes Symbol: Ziffern, Punkt, Tick-Größe und Wert, Kontraktgröße, Min./Schritt/Max.-Lot, Spread und ob der Kurs variabel ist, Ausführungsmodus, Swap für Long- und Short-Positionen sowie die für ein Mindest-Lot erforderliche Margin im Verhältnis zu Ihrer aktuellen freien Margin. Dann der Teil, der die eigentliche Frage beantwortet:
--- XAUUSD (bid 4402.15 / ask 4402.63) --------------------- stops level 350 pts | freeze level 0 pts | EFFECTIVE band 351 pts VERDICT: a stop/pending placed 100 pts from price would be REJECTED as 'Invalid price' (band is 351 pts) buy at ask 4402.63: you asked SL 4401.63 -> nearest legal SL 4399.12 (moved out)
double MinStopDistance(const string sym) { long stops = SymbolInfoInteger(sym, SYMBOL_TRADE_STOPS_LEVEL); long freeze = SymbolInfoInteger(sym, SYMBOL_TRADE_FREEZE_LEVEL); long band = (stops > freeze ? stops : freeze) + 1; return band * SymbolInfoDouble(sym, SYMBOL_POINT); }
double LegalStopLoss(const string sym, const bool isBuy, const double price, const double wanted) { double dist = MinStopDistance(sym); int digits = (int)SymbolInfoInteger(sym, SYMBOL_DIGITS); double sl = wanted; if(isBuy) { if(price - sl < dist) sl = price - dist; } else { if(sl - price < dist) sl = price + dist; } return NormalizeDouble(sl, digits); }
Eine Haltestelle, die bereits legal ist, bleibt unverändert, sodass es unbedenklich ist, jede Haltestelle über sie zu leiten. Das Einbinden Ihrer bestehenden Berechnung erfordert nur eine Zeile:
double sl = LegalStopLoss(_Symbol, true, ask, ask - atr * 1.5);
HINWEISE ZUR AUSWERTUNG DER ERGEBNISSE
Die Symbole müssen in der Marktübersicht aufgeführt sein und mindestens einen Tick verzeichnet haben. Wenn für ein Symbol keine Tick-Daten vorliegen, öffnen Sie dessen Chart einmal und führen Sie den Vorgang erneut aus.
Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/en/code/76178
Session Opening Range Breakout EA
Ein Expert Advisor, der das Hoch und Tief eines festgelegten Eröffnungsfensters einer Handelssitzung ermittelt und anschließend den bestätigten Ausbruch aus diesem Bereich mit risikobasierter Positionsgröße und einer Obergrenze von einem Trade pro Sitzung handelt.
Reverse RSI Bands
„Reverse RSI Bands“ ist ein Frühindikator, der die RSI-Formel mathematisch rückentwickelt. Er zeichnet präzise Kurszielbänder direkt im Hauptchart ein und zeigt in Echtzeit genau an, bei welchem Kurs der RSI die von Ihnen festgelegten Überkaufs- oder Überverkaufsniveaus erreichen wird.
Custom Simple Moving Average
Ein zweistufiger adaptiver gleitender Durchschnitt (Basisdurchschnitt + sekundäre Glättung), der sich je nach Steigung farblich anpasst und Preis-Durchschnitt-Kreuzungen mit Pfeilen markiert.
Accelerator Oszillator (AC)
Der Acceleration/Deceleration Indikator (AC) misst die Beschleunigung und Verlangsamung des aktuellen Marktimpulses, der Kraft der Kursbewegung.
