Files
AH-Oil-Trader/mql5
Axel Hocks 7800b2cf05 MQL5 v1.50: Knopf-Flackern - der Chart trug den Indikator DREIMAL
User: "beim Wechseln der Zeit blinken die Knoepfe kurz gross auf und sind dann
wieder klein". Nicht die Groesse war das Problem.

BELEG aus dem Terminal-Journal: je Zeitebenen-Wechsel DREI identische Zeilen
"custom indicator SR_Levels loaded succesfully" im selben Zehntelsekunden-
Fenster. Auf dem Chart lagen drei Instanzen. Jede hat ihren EIGENEN
gespeicherten Eingabesatz - die vor v1.49 angehaengten trugen noch 66/17/8,
die neue 132/34/16. Alle drei schrieben im Sekundentakt auf dieselben
Objektnamen, also wechselte die Groesse permanent hin und her.

Doppelte Instanzen sind von aussen unsichtbar, solange nichts schreibend
kollidiert - sie kosteten hier zusaetzlich das Dreifache an CSV-Lesevorgaengen
und Objekt-Auf-/Abbau je Sekunde. Merksatz: bei unerklaerlichem
Chart-Verhalten ZUERST die Ladezeilen im Journal zaehlen.

FIX 1: nur eine Instanz zeichnet die Knoepfe. Anspruch je Chart ueber eine
temporaere GlobalVariable, gesetzt mit GlobalVariableSetOnCondition - also
ATOMAR (ein Check-dann-Set haetten bei gleichzeitigem Start alle drei
gewonnen). Nicht-Inhaber steigen in BtnDraw() sofort aus und melden einmalig
im Experten-Log, dass eine zweite Instanz laeuft.
OnDeinit raeumt die Knoepfe nur noch als Inhaber weg und gibt den Anspruch
frei - sonst haette eine beendete Zweit-Instanz die Knoepfe der noch
laufenden ersten geloescht.

FIX 2: die Groesse heilt sich selbst. BtnDraw() legt einen Knopf neu an, wenn
seine gespeicherte XSIZE/YSIZE/FONTSIZE nicht mehr zum Soll passt; reines
Nachsetzen der Eigenschaften (v1.49) reichte in der Praxis nicht.

Der eigentliche Fix liegt beim Nutzer: doppelte Instanzen entfernen
(Rechtsklick > Indikatorenliste). Der Guard verhindert nur den sichtbaren
Schaden, nicht die dreifache Last.

0 errors 0 warnings, .ex5 frisch, Spiegel bitgleich.
2026-08-22 13:24:25 +02:00
..