TP-Anzeige entwirrt: doppelten Wert entfernt, Init-Formel ehrlich beschriftet
User-Frage "unterscheidet sich TP von TP1, TP2 oder TP3?" - sie deckte zwei
Fehler auf, beide von mir aus der vorigen Aenderung.
⚠ ZUERST DIE SACHE SELBST: der TP WIRD nachgezogen, aber nach DREI Formeln:
Init Entry ± 3,5xATR fest, gibt dem Trade Luft
Trail Bestkurs ∓ 0,5xATR zieht mit dem Hoch mit
Lock Bestkurs ∓ 0,3xATR sehr eng am Hoch
immer mindestens Entry ± 0,5xATR (schliesst nie im Verlust)
Er springt beim Phasenwechsel also von WEIT VOR dem Kurs auf KNAPP HINTER das
Hoch - ab Phase Trail ist er faktisch ein zweiter, engerer Ausstieg ueber dem
Stop. 63 TP-Setzungen im Log bestaetigen das.
① BEHOBEN - "TP2 · Trailing" in der Trade-Leiste zeigte DENSELBEN Wert wie das
Feld "TP" daneben. Eine Zahl doppelt. Entfernt; uebrig bleiben TP1 (Level)
und TP3 (Kegel) als das, was sie sind: Orientierungsmarken, die der
Broker-TP NICHT kennt. Das Feld "TP" bleibt editierbar.
② BEHOBEN - im M15-Setup-Block stand "TP2: ... (3,5xATR - das Trailing fuehrt
ihn nach)". Das war irrefuehrend: 3,5xATR ist NUR die Init-Formel, und ab
Phase Trail laeuft der TP nach einer anderen Regel. Jetzt: "Init-Ziel
3,5xATR - ab Phase Trail zieht der TP an den Bestkurs heran, ∓0,5xATR".
Verifiziert: 0 verbliebene tb-tp2-Referenzen in JS und HTML, span/div
ausgeglichen, keine doppelten IDs, node --check und Render-Probe gruen.
Reine Frontend-Aenderung (v=197), kein Neustart.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6f1348adf3
commit
d59d0eeaee
+8
-3
@@ -444,8 +444,14 @@ function renderM15(s, snap) {
|
||||
`Stop Loss: <b>${f(sl, 3)}</b> <span class="dim">(2,0×ATR_M15)</span>`];
|
||||
if (geg) zl2.push(`TP1: <b>${f(geg.level, 3)}</b> <span class="dim">(Level · ` +
|
||||
`${100 - (geg.p_break ?? 50)} % haelt)</span>`);
|
||||
// ⚠⚠ Das ist die INIT-Formel. Ab Phase "Trail" laeuft der Broker-TP nach
|
||||
// einer ANDEREN Regel: `Bestkurs ∓ 0,5×ATR` (in "Lock" sogar ∓0,3×ATR),
|
||||
// also knapp HINTER dem Hoch statt weit davor. Wer 3,5×ATR fuer ein
|
||||
// festes Ziel haelt, liegt ab dem Phasenwechsel daneben — deshalb steht
|
||||
// es hier ausdruecklich dran.
|
||||
zl2.push(`TP2: <b>${f(lg ? e + 3.5 * atr : e - 3.5 * atr, 3)}</b> ` +
|
||||
`<span class="dim">(3,5×ATR — das Trailing fuehrt ihn nach)</span>`);
|
||||
`<span class="dim">(Init-Ziel 3,5×ATR — ab Phase Trail zieht der ` +
|
||||
`TP an den Bestkurs heran, ∓0,5×ATR)</span>`);
|
||||
if (k120) zl2.push(`TP3: <b>${f(lg ? k120.hi : k120.lo, 3)}</b> ` +
|
||||
`<span class="dim">(Kegel 120′, trifft ${Math.round(k120.coverage || 0)} %)</span>`);
|
||||
sb.innerHTML = zl2.join("<br>");
|
||||
@@ -1215,8 +1221,7 @@ function render(d) {
|
||||
$("tb-tp1").textContent = ziel
|
||||
? `${fmt(ziel.level, 3)} (${100 - (ziel.p_break ?? 50)}% hält)`
|
||||
: "—";
|
||||
// TP2 — der Broker-TP, den das Trailing fuehrt
|
||||
$("tb-tp2").textContent = p.tp ? fmt(p.tp, 3) : "—";
|
||||
// ⚠ TP2 entfernt — es zeigte denselben Wert wie das Feld `tb-tp`.
|
||||
// TP3 — Obergrenze des 80-%-Kegels auf 120 min
|
||||
const lv = ((d.cone || {}).levels) || [];
|
||||
const k = lv.find(x => x.band === 80 && x.minutes === 120);
|
||||
|
||||
Reference in New Issue
Block a user