TriZone Semafor
- Indikatoren
-
Ahmed Hamed Hamed Eadwan
GERMAN TRANSLATION — DEUTSCH
==============================
TITLE:
MQL5 Entwickler & Trader | Gründer von R protocols
ABOUT:
Hallo, ich bin Ahmed — ein Trader und MQL5-Entwickler aus
den Vereinigten Arabischen Emiraten und Gründer von R protocols. - Version: 1.0
Wenn Sie jemals auf ein Diagramm gestarrt haben, das mit ZigZag-Pfeilen ubersat war, und sich gefragt haben, welche wirklich wichtig sind — dieser Indikator wurde genau fur diese Frustration entwickelt.
TriZone Semafor fuhrt drei unabhangige ZigZag-Algorithmen gleichzeitig aus: Schnell (Period 5), Mittel (Period 13) und Langsam (Period 34). Wenn sie Pivot-Punkte auf derselben Kerze erkennen, uberlebt nur das bedeutendste Signal. Level 3 ubersteuert immer Level 2. Level 2 ubersteuert immer Level 1. Ein sauberer Pfeil pro Kerze und Richtung — kein Stapeln, keine Doppelzahlung.
Warum drei Level statt einem
Ein einfacher ZigZag behandelt alle Schwankungen gleich. Derselbe Indikator markiert einen zweikerzigen Rucklauf und eine groBe Trendwende mit identischen Pfeilen. TriZone klassifiziert jeden Pivot nach Signifikanz, damit Sie die Diagrammhierarchie auf einen Blick erfassen.
- Level 1 — Schnell: Kleine Rucklaufe und untergeordnete Pivots. Die Struktur innerhalb der Struktur.
- Level 2 — Mittel: Intraday-Schwankungen und bedeutende Reaktionen. Die Pivots, die Sie in Ihrem Trading-Tagebuch festhalten.
- Level 3 — Langsam: GroBe strukturelle Wendepunkte. Die Punkte, an denen die Trendfortsetzung tatsachlich in Frage steht.
Jeder Level hat seine eigene Pfeilform und Farbe, damit Sie die Hierarchie sofort erkennen, ohne eine Legende zu konsultieren.
Exklusives Signalsystem
Jede Kerze durchlauft eine Regel: Wenn ein hoherer Level einen Pivot auf dieser Kerze beansprucht, werden alle Anspruche niedrigerer Level entfernt — nicht versteckt, entfernt. Dies geschieht im Indikatorpuffer, bevor etwas das Diagramm erreicht. Das Diagramm zeigt den tatsachlichen Zustand, keine ubereinandergelegten Schichten.
Anti-Repaint-Modus
Mit AntiRepaint = ON wird ein Signal erst gezeichnet, nachdem die konfigurierte Anzahl von Bestatigungsleuchten vergangen ist. Der Pfeil, den Sie sehen, hat sein Stabilitatsfenster bereits durchlaufen und wird sich nicht bewegen. Der Indikator zeigt den aktuellen Modus und die Bestatigungstiefe in der Diagrammtitelleiste an — volle Transparenz daruber, was Sie lesen.
Mit AntiRepaint = OFF erscheinen Signale sofort auf der sich bildenden Kerze. Nutzlich als visuelle Referenz. Nicht fur automatisierte Logik empfohlen.
Benachrichtigungssystem
Benachrichtigungen werden wahrend der Berechnung in die Warteschlange gestellt und erst zugestellt, wenn der Exklusivitatsfilter bestatigt, dass das Signal uberlebt hat. Sie erhalten nie ein Popup fur ein Level-1-Signal, das einen Moment spater von Level 3 ubersteuert wurde. Ein bestatigter Pivot — eine Benachrichtigung. Pro Level unabhangig konfigurierbar.
Was enthalten ist
- Drei ZigZag-Erkennungslevel mit vollstandig unabhangigen Parametern
- Exklusive Signalprioritat auf Pufferebene — der hochste Level gewinnt pro Kerze
- Popup-Benachrichtigungen nur bei bestatigten Pivot-Punkten — keine Phantom-Signale
- Anti-Repaint-Modus mit konfigurierbaren Bestatigungsleuchten pro Level
- Jedes Symbol, jeder Zeitrahmen — MetaTrader 5
- Einzeldatei — keine externen Abhangigkeiten, kein DLL, keine eigenen Includes
Empfohlener Startpunkt
Offnen Sie H1 oder H4 mit den Standardparametern. Die Standardtiefen 5 / 13 / 34 folgen der Standard-Fibonacci-Folge — eine naturliche Wahl fur die meisten Instrumente und Zeitrahmen.
Level-3-Pivots sind Ihre strukturelle Referenz. Level 2 sind Ihre Intraday-Referenzpunkte. Level 1 zeigt die kleinere Struktur dazwischen. Passen Sie Tiefe (Period) und Bestatigungsleuchten (ConfirmBars) an Ihren Stil an.
Kompatibilitat
MetaTrader 5 — jeder Broker, jedes Symbol, jeder Zeitrahmen. Keine externen Bibliotheken. Kein DLL-Import. Einzelne .ex5-Datei, vollstandig eigenstandig.
iCustom-Referenz — TriZone_Semafor
Ausgabepuffer
Nur der hochste aktive Level ist pro Kerze nicht leer.
EMPTY_VALUE = kein Pivot an diesem Balken/Level.
Bei AntiRepaint ON lesen Sie bei shift >= max(ConfirmBars1, ConfirmBars2, ConfirmBars3) — Standard: shift >= 4.
| Puffer | Index | Signal | Inhalt |
|---|---|---|---|
| BufLow1 | 0 | BUY | Tief-Pivot-Preis Level 1 — schneller ZigZag |
| BufHigh1 | 1 | SELL | Hoch-Pivot-Preis Level 1 — schneller ZigZag |
| BufLow2 | 2 | BUY | Tief-Pivot-Preis Level 2 — mittlerer ZigZag |
| BufHigh2 | 3 | SELL | Hoch-Pivot-Preis Level 2 — mittlerer ZigZag |
| BufLow3 | 4 | BUY | Tief-Pivot-Preis Level 3 — langsamer ZigZag |
| BufHigh3 | 5 | SELL | Hoch-Pivot-Preis Level 3 — langsamer ZigZag |
Eingabeparameter
# = Position im iCustom() -Aufruf (ab 0, nach Symbol / Period / FileName)
| # | Name | Typ | Standard | Bereich | Beschreibung |
|---|---|---|---|---|---|
| LEVEL 1 — Schneller ZigZag | |||||
| 0 | Period1 | int | 5 | 2-500 | Pivot-Suchtiefe (Balken) |
| 1 | Deviation1 | int | 1 | 1-100 | Minimale Abweichung in Punkten |
| 2 | Backstep1 | int | 3 | 1-(P-1) | Min. Balken zwischen aufeinanderfolgenden Pivots |
| 3 | HighSymbol1 | int | 159 | Wingdings | Pfeil fur Hochs (159=Punkt, 108=Kreis, 116=Diamant) |
| 4 | LowSymbol1 | int | 159 | Wingdings | Pfeil fur Tiefs |
| 5 | ConfirmBars1 | int | 2 | 1-50 | Bestatigungsbalken vor Signalfixierung |
| LEVEL 2 — Mittlerer ZigZag | |||||
| 6 | Period2 | int | 13 | 2-500 | Pivot-Suchtiefe |
| 7 | Deviation2 | int | 8 | 1-100 | Minimale Abweichung in Punkten |
| 8 | Backstep2 | int | 5 | 1-(P-1) | Min. Balken zwischen aufeinanderfolgenden Pivots |
| 9 | HighSymbol2 | int | 108 | Wingdings | Pfeil fur Hochs |
| 10 | LowSymbol2 | int | 108 | Wingdings | Pfeil fur Tiefs |
| 11 | ConfirmBars2 | int | 3 | 1-50 | Bestatigungsbalken |
| LEVEL 3 — Langsamer ZigZag | |||||
| 12 | Period3 | int | 34 | 2-500 | Pivot-Suchtiefe |
| 13 | Deviation3 | int | 21 | 1-100 | Minimale Abweichung in Punkten |
| 14 | Backstep3 | int | 12 | 1-(P-1) | Min. Balken zwischen aufeinanderfolgenden Pivots |
| 15 | HighSymbol3 | int | 108 | Wingdings | Pfeil fur Hochs |
| 16 | LowSymbol3 | int | 108 | Wingdings | Pfeil fur Tiefs |
| 17 | ConfirmBars3 | int | 4 | 1-50 | Bestatigungsbalken |
| INSTANZVERWALTUNG | |||||
| 18 | InstanceID | string | "A" | beliebig | Eindeutiges Tag — muss sich von jeder Kopie auf dem Chart unterscheiden |
| 19 | DebugMode | ENUM_ONOFF | OFF (0) | 0 / 1 | Diagnose ins Journal drucken |
| 20 | HeadlessMode | ENUM_ONOFF | OFF (0) | 0 / 1 | Auf 1 (ON) setzen bei Verwendung uber iCustom — unterdruckt gesamte UI und Benachrichtigungen |
| ANTI-REPAINT | |||||
| 21 | AntiRepaint | ENUM_ONOFF | ON (1) | 0 / 1 | ON = nur bestatigte Signale — erforderlich fur stabile EA-Logik |
| 22 | SafeArrows | ENUM_ONOFF | OFF (0) | 0 / 1 | ON = Pfeile verwenden volle ruckwirkend sichere Verschiebung (strenger) |
| BENACHRICHTIGUNGSSYSTEM | |||||
| 23 | AlertMode | ENUM_ALERT_MODE | 1 (Popup) | 0-3 | 0=Keine 1=Popup 2=Push 3=Alle — setzen Sie 0 im EA |
| 24 | AlertLevel1 | ENUM_ONOFF | OFF (0) | 0 / 1 | Benachrichtigung bei Level-1-Pivots |
| 25 | AlertLevel2 | ENUM_ONOFF | ON (1) | 0 / 1 | Benachrichtigung bei Level-2-Pivots |
| 26 | AlertLevel3 | ENUM_ONOFF | ON (1) | 0 / 1 | Benachrichtigung bei Level-3-Pivots |
Gesamt: 27 Parameter (Indizes 0-26)
iCustom-Codebeispiel
int g_tzsHandle = INVALID_HANDLE; int OnInit() { g_tzsHandle = iCustom( _Symbol, PERIOD_CURRENT, "TriZone_Semafor", 5, 1, 3, 159, 159, 2, // Level 1 13, 8, 5, 108, 108, 3, // Level 2 34, 21, 12, 108, 108, 4, // Level 3 "EA1", false, true, // Instanz + Headless true, false, // AntiRepaint + SafeArrows 0, false, false, false // Alerts OFF ); if(g_tzsHandle == INVALID_HANDLE) { PrintFormat("[EA] handle failed: err=%d", GetLastError()); return INIT_FAILED; } return INIT_SUCCEEDED; }
Haufige Fehler
| Fehler | Symptom | Losung |
|---|---|---|
| Gleiche InstanceID wie Chart-Kopie | INIT_PARAMETERS_INCORRECT | Eindeutige ID: "EA1" , "EA2" … |
| HeadlessMode = false im EA | Indikator zeichnet Objekte + Benachrichtigungen pro EA-Instanz | Parameter #20 auf true setzen |
| shift = 0 lesen bei AntiRepaint ON | EMPTY_VALUE immer — Balken noch nicht bestatigt | Bei shift >= 4 lesen |
| AlertMode != 0 im EA | Alert()-Popups blockieren Tester-Ausfuhrung | Parameter #23 auf 0 setzen |
| Falscher Dateiname in iCustom | INVALID_HANDLE | Exakten Namen verwenden: "TriZone_Semafor" |
| Kein IndicatorRelease in OnDeinit | Speicherleck bei EA-Neuladen | IndicatorRelease(g_tzsHandle) aufrufen |
