RiskGuard Toolkit Library
- Bibliotheken
-
AL MOOSAWI ABDULLAH JAFFER BAQER
To trade successfully we need to go through the proven path that others had gone and reached!
Here are 17 quotes from such successful investors:
1- Limit your size in any position so that fear does not become the prevailing instinct guiding your judgment.
Joe Vidich - Version: 1.1
- Aktivierungen: 5
| RiskGuard Toolkit-Bibliothek für MQL5-Entwickler – Version 1.01 |
|---|
|
Hören Sie auf, in jedem Expert Advisor denselben Risikocode neu zu schreiben
Jeder seriöse EA benötigt dieselben langweiligen, aber entscheidenden Komponenten: eine Lotgröße, die Ihrem beabsichtigten Risiko entspricht, einen Stop, der die Volatilität berücksichtigt, einen Spread-Filter, ein Sitzungsfenster, ein tägliches Verlustlimit und eine Prüfung vor dem Handel, ob die Order tatsächlich angenommen wird. Diese für jedes Projekt neu zu schreiben, kostet Stunden, und kleine Fehler (ein nicht an den Volumenschritt angepasster Lot, ein Stop innerhalb des Stop-Niveaus, eine vergessene Margin-Prüfung) sind genau das, was dazu führt, dass die Marktvalidierung fehlschlägt oder Live-Konten sich unerwünscht verhalten.
Das RiskGuard Toolkit ist eine kompakte, kompilierte MQL5-Bibliothek, die Ihnen all dies in 16 getesteten Funktionen bietet. Importieren Sie sie einmal und rufen Sie das auf, was Sie benötigen – von einer Berechnung für ein einzelnes Lot bis hin zu einer vollständigen Einzeiler-Prüfung „Kann ich jetzt handeln?“, die erklärt, warum die Antwort „Nein“ lautet, falls dies der Fall ist.
Was Sie erhalten
Positionsgrößenbestimmung. RG_LotsByRiskPercent und RG_LotsByRiskMoney geben eine Lotgröße zurück, bei der genau das von Ihnen gewählte Risiko verloren geht, wenn der Stop getroffen wird, wobei das Mindestlot des Symbols als Untergrenze gilt. Geben Sie 0 als Stopp-Abstand an, und es wird automatisch ein sinnvoller, auf der Volatilität basierender Stopp verwendet. RG_NormalizeLots rundet jedes Lot auf die Schrittweite des Brokers und begrenzt es auf den zulässigen Bereich. RG_MoneyPerLot gibt an, welchen Verlust ein volles Lot bei einem beliebigen Preisabstand erleidet, mit einer Ausweichlösung für Symbole, deren Tick-Wert als Null gemeldet wird.
Volatilitäts-Tools. RG_ATR gibt sicher einen ATR-Wert für jedes Symbol, jeden Zeitrahmen und jede Periode zurück (0, wenn historische Daten fehlen; niemals ein Array-Fehler). RG_ATRStopPrice liefert Ihnen einen fertigen Stop-Preis für einen Kauf oder Verkauf basierend auf Einstiegspreis, Zeitrahmen, Periode und Multiplikator.
Marktfilter. RG_SpreadPoints und RG_SpreadOK übernehmen die Spread-Prüfung; RG_InSession unterstützt Handelsfenster, einschließlich Übernachtfenster, die über Mitternacht hinausreichen.
Auftragsprüfungen auf Validierungsniveau. RG_StopsValid prüft SL/TP anhand des Stop-Niveaus, RG_MarginOK vergleicht die erforderliche Margin mit der freien Margin, und RG_OrderLimitOK berücksichtigt das Auftragslimit des Kontos sowie das Volumenlimit des Symbols – dieselben Prüfungen, auf die auch die MQL5-Marktvalidatoren achten.
Täglicher Schutz. RG_TodayClosedProfit summiert das heutige Schlussergebnis einschließlich Swap und Provision, optional gefiltert nach einer Magic Number; RG_DailyLossOK gibt an, ob das tägliche Verlustlimit erreicht wurde.
One-Call-Gate. RG_CanTrade führt in einem einzigen Aufruf Prüfungen zu Spread, Handelssitzung, Tagesverlust, Stopps, Margin und Orderlimit durch und füllt eine Begründungszeichenfolge wie „OK“ oder den genauen Grund für eine Ablehnung aus – ideal für die Protokollierung und die Statusanzeige im Chart.
Verwaltung. RG_Version gibt die Bibliotheksversion zurück, damit Ihr EA diese protokollieren kann.
So verwenden Sie es
1. Kopieren Sie nach dem Kauf die Datei „RiskGuardLib.ex5“ in den Ordner „MQL5\Libraries“ Ihres Terminals.
2. Deklarieren Sie in Ihrem EA oder Skript die benötigten Funktionen innerhalb eines #import „RiskGuardLib.ex5“ ... #import-Blocks (die Signaturen sind unten aufgeführt).
3. Rufen Sie sie wie jede andere Funktion auf, zum Beispiel: lots = RG_LotsByRiskPercent(_Symbol, 1.0, 0); dann if(RG_CanTrade(_Symbol, true, lots, sl, tp, 30, 7, 20, 3.0, magic, reason)) senden Sie Ihre Order, andernfalls Print(reason).
4. Kompilieren Sie Ihren EA. Das ist alles – keine DLL, kein Dateizugriff, keine zusätzlichen Ressourcen.
Funktionssignaturen
string RG_Version()
double RG_NormalizeLots(string symbol, double lots)
double RG_MoneyPerLot(string symbol, double priceDistance)
double RG_LotsByRiskPercent(string symbol, double riskPercent, double slDistance)
double RG_LotsByRiskMoney(string symbol, double riskMoney, double slDistance)
double RG_ATR(string symbol, ENUM_TIMEFRAMES tf, int period, int shift)
double RG_ATRStopPrice(string symbol, bool isBuy, double entry, ENUM_TIMEFRAMES tf, int period, double mult)
int RG_SpreadPoints(string symbol)
bool RG_SpreadOK(string symbol, int maxPoints)
bool RG_InSession(int startHour, int endHour)
bool RG_StopsValid(string symbol, bool isBuy, double price, double sl, double tp)
bool RG_MarginOK(string symbol, bool isBuy, double lots)
bool RG_OrderLimitOK(string symbol, double lots)
double RG_TodayClosedProfit(long magic)
bool RG_DailyLossOK(double maxLossPercent, long magic)
bool RG_CanTrade(string symbol, bool isBuy, double lots, double sl, double tp, int maxSpread, int startHour, int endHour, double maxDailyLossPct, long magic, string &reason)
Hinweise zu den Parametern
riskPercent – Prozentsatz des Kapitals, der pro Trade riskiert wird. riskMoney – fester Betrag in Kontowährung, der riskiert wird. slDistance – Stop-Abstand in Preiseinheiten; 0 verwendet einen automatischen Volatilitäts-Stop. maxPoints / maxSpread – maximaler Spread in Punkten, 0 deaktiviert den Filter. startHour / endHour – Zeitfenster in Serverzeit; gleiche Werte bedeuten, dass der Handel immer geöffnet ist. maxLossPercent / maxDailyLossPct – Tägliches Verlustlimit als Prozentsatz des Guthabens; 0 deaktiviert es. magic – Magic-Number-Filter, -1 zählt jeden Trade. reason – Erhält „OK“ oder den Grund für die Ablehnung.
Die Screenshots zeigen ein kleines Demonstrationsskript, das auf der Bibliothek aufbaut und den berechneten Stop, die Lotgröße sowie das Gate-Ergebnis im Chart ausgibt, ohne eine Order zu senden. Seine Einstellungen sind: Risikoprozentsatz (1,0), ATR-Zeitrahmen (H1), ATR-Periode (14), ATR-Stop-Multiplikator (1,5), maximaler Spread (30 Punkte), Start- und Endzeit der Handelssitzung (0 / 24), maximaler Tagesverlust (3 Prozent) und Magic-Filter (-1 = alle).
Warum Entwickler es schätzen
Weniger Validierungsfehler, übersichtlicherer Code, einheitliches Risiko über alle Ihre EAs hinweg und eine zentrale Stelle, an der Sie Anpassungen vornehmen können, wenn sich Ihre Regeln ändern. Funktioniert mit jedem Symbol, jeder Kontowährung sowie sowohl mit Hedging- als auch mit Netting-Konten. Leichtgewichtig: keine rechenintensiven Aufgaben pro Tick, kein globaler Status, den Sie verwalten müssen.
Entwickeln Sie sicherere Roboter schneller – fügen Sie RiskGuard noch heute zu Ihrem Werkzeugkasten hinzu und schreiben Sie mir, wenn Sie Hilfe bei der Integration in Ihr Projekt benötigen.
