S/R-Beschriftung: Chart und M15-Karte nannten verschiedene Zahlen (v1.35, v=169)
User: "die Beschriftung fuer S/R im Chart stimmt nicht mit der Analyse in der M15-Karte ueberein." Die LEVEL stimmten -- nur die Zahl daneben nicht. Live gegengeprueft: die CSV enthielt R;82.069;69, Gate 3 der Karte meldete res 82.069 / p_break 69. Beide kommen aus _draw_levels(), sind also per Konstruktion identisch; auch die Distanzen sind exakt (0,477~0,48 / 0,909~0,91 / 0,455~0,45). DER DEFEKT: das Chart schrieb die NACKTE Zahl = P(Bruch), die Karte klappte unter 45 % still auf P(Abprall) um und nennt 45-55 % "unentschieden". P(Bruch) 33 % -> Chart "33%" Karte "67 % Abprall" P(Bruch) 46 % -> Chart "46%" Karte "unentschieden" P(Bruch) 72 % -> Chart "72%" Karte "72 % Bruch" Beide Zahlen richtig, aber die Chart-Zahl sagte nicht, WAS sie ist. GEMESSEN in 88,1 % der Zeit verschieden (1.797 Vorhersagen / 14 Tage: 66,3 % unter 45 %, 21,9 % im unentschiedenen Band). Behoben im Indikator v1.35, wortgleich zu app.js. Ueber 1.678 echte P(break)-Werte gegengeprueft: Uebereinstimmung 0 % -> 100 %. Ins RICHTIGE Terminal kompiliert (es gibt real zwei Ordner, nur D0E8209F... bekommt die sr_levels.csv): 0 errors, 0 warnings, .ex5 frisch, Version im Terminal gegengeprueft. Zwei Verdachtsmomente ausgeschlossen statt vermutet: eine stehengebliebene Alt-Linie (der Indikator ruft ObjectsDeleteAll bei jedem Redraw) und ein falsch einsortiertes Level (_draw_levels waehlt seit 23.07. nach Lage zum Kurs). ZWEITER Befund derselben Klasse, ebenfalls behoben: Gate 3 und 3b nannten Level aus VERSCHIEDENEN Zeitebenen, beide nur als "xATR" -- 3 M30-Pivots, ATR_M15, im Chart gezeichnet 3b M5-Pivots, ATR_M5, NICHT gezeichnet Real standen "0,48xATR" und "0,45xATR" nebeneinander, die nicht vergleichbar sind, und die Karte nannte einen "Support 81,78", den man im Chart vergeblich sucht (alle 10 M30-Pivots lagen ueber dem Kurs). Die Quellen-Trennung BLEIBT -- entry_room_atr=0,6 ist ueber 80k Bars auf M5 kalibriert. Geaendert wurde nur die Beschriftung plus Tooltips. Reine Anzeige: an Gates, Gewichten und Order-Logik nichts geaendert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
95521d041c
commit
77ed1d5572
+27
-5
@@ -12,7 +12,15 @@
|
||||
//| 4) Der Bot muss laufen (schreibt die CSV alle ~5 s). |
|
||||
//+------------------------------------------------------------------+
|
||||
#property copyright "Oil Trading Bot"
|
||||
#property version "1.34"
|
||||
#property version "1.35"
|
||||
// v1.35 (2026-08-13): S/R-LABEL WORTGLEICH ZUR M15-KARTE (User: „die Beschriftung
|
||||
// fuer S/R im Chart stimmt nicht mit der Analyse in der M15-Karte ueberein").
|
||||
// Das Label trug seit v1.27 die NACKTE Zahl = P(Durchbruch); die Karte klappt
|
||||
// unter 45 % auf P(Abprall) um und nennt 45-55 % „unentschieden". Dasselbe
|
||||
// Level stand damit im Chart als „33%" und in der Karte als „67 % Abprall" —
|
||||
// beide Zahlen richtig, aber die Chart-Zahl sagte nicht, WAS sie ist.
|
||||
// GEMESSEN in 88,1 % der Zeit verschieden (1.797 Vorhersagen/14 Tage).
|
||||
// Jetzt: „69% Bruch" / „unentschieden" / „67% Abprall" — identisch zu app.js.
|
||||
// v1.34 (2026-08-01): HYPERLIQUID-KURS (HL;...) unter Kurs und G/V oben rechts,
|
||||
// bernstein. HL handelt 24/7, Pepperstone nicht - am Wochenende der einzige
|
||||
// lebende Kurs; die Basis (~0,45 $ Kontrakt-Differenz) ist herausgerechnet,
|
||||
@@ -472,13 +480,27 @@ void Redraw()
|
||||
double price = StringToDouble(p[1]);
|
||||
if(price <= 0) continue;
|
||||
// Feld 3 (optional) = P(Durchbruch) in % aus dem kalibrierten Modell des
|
||||
// Bots. Niedrig = Level haelt eher, hoch = bricht eher. Im LABEL steht nur
|
||||
// die nackte Zahl („Widerstand 84.536 · 34%", User-Wunsch 2026-07-30);
|
||||
// der ausgeschriebene Hinweis bleibt im Tooltip der Linie.
|
||||
// Bots. Niedrig = Level haelt eher, hoch = bricht eher.
|
||||
// ⚠⚠ WORTGLEICH ZUR M15-KARTE (Fix 2026-08-13, v1.35, User: „die
|
||||
// Beschriftung fuer S/R im Chart stimmt nicht mit der Analyse in der
|
||||
// M15-Karte ueberein"). Hier stand bis dahin die NACKTE Zahl = P(Bruch).
|
||||
// Die Karte (`app.js` lesart()/pTxt()) klappt unter 45 % aber auf den
|
||||
// GEGENWERT P(Abprall) um und nennt 45–55 % „unentschieden" — dasselbe
|
||||
// Level trug damit im Chart „33%" und in der Karte „67 % Abprall".
|
||||
// Beide Zahlen waren richtig, aber die Chart-Zahl sagte nicht, WAS sie
|
||||
// ist. GEMESSEN betraf das 88,1 % der Zeit (1.797 Vorhersagen/14 Tage:
|
||||
// 66,3 % lagen unter 45 %, 21,9 % im unentschiedenen Band).
|
||||
// ➜ Wer die Formulierung hier aendert, muss `lesart()` in app.js
|
||||
// mitaendern — sonst laufen sie wieder auseinander.
|
||||
string lbl = (typ=="R" ? "Widerstand " : "Unterstuetzung ")
|
||||
+ DoubleToString(price, (int)_Digits);
|
||||
if(InpShowPBreak && k > 2 && StringLen(p[2]) > 0)
|
||||
lbl += " · " + p[2] + "%"; // nur die Zahl (User-Wunsch 2026-07-30)
|
||||
{
|
||||
int pb = (int)StringToInteger(p[2]);
|
||||
if(pb >= 45 && pb <= 55) lbl += " · unentschieden";
|
||||
else if(pb > 55) lbl += " · " + IntegerToString(pb) + "% Bruch";
|
||||
else lbl += " · " + IntegerToString(100-pb) + "% Abprall";
|
||||
}
|
||||
color col = (typ=="R" ? InpResColor : InpSupColor);
|
||||
string nm = PFX + typ + "_" + IntegerToString(idx);
|
||||
if(ObjectCreate(0, nm, OBJ_HLINE, 0, 0, price))
|
||||
|
||||
Reference in New Issue
Block a user