Handelstagebuch — Tabelle, Statistik und Ergebnisauswertung
Vollständige Anleitung zum Aufbau einer Journal-Tabelle in etwa 20 Minuten (Richtwert für Personen mit Grundkenntnissen der Tabellenkalkulation; erster Import und Datenprüfung können länger dauern): 26 Spalten mit technischen Namen passend zu Artikel 15.9, Zeilenformeln und ein Dashboard mit neun Kennzahlen in zwei Varianten (polnisches und englisches Excel; Cloud-Einstellungen werden weiter unten erklärt) sowie eine im Browser erzeugte Start-CSV. Die fertige XLSX-Arbeitsmappe lässt sich herunterladen oder mit der vollständigen Anleitung unten selbst nachbauen. Wer die Formeln versteht, kann Berechnungen nachvollziehen und selbst korrigieren; durch die gemeinsamen Spaltennamen funktioniert ein CSV-Export aus diesem Journal mit passendem Trennzeichen, richtiger Codierung und richtigem Datumsformat mit dem fertigen S1–S3-Skript aus Zusatz I und dem Skript aus Prompt P5; die Audits P6–P7 benötigen zwei zusätzliche Spalten (siehe unten).
- 26 Spalten in fünf Gruppen: Identifikation, Kontext, Plan gegenüber Ausführung, Kosten und Ergebnisse, Prozess — Formeln nur für aus anderen Feldern abgeleitete Werte (slippage, r_net, execution_drag)
- Ein Dashboard mit neun Formeln: Trade-Anzahl, Trefferquote, Profit-Faktor, Erwartungswert, Gesamt-R, maximaler Drawdown in R, durchschnittliche MAE/MFE, Quote fehlerfreier Ausführung — Ergebniskennzahlen aus r_net, Prozesskennzahlen aus gesonderten Spalten; der Geltungsbereich von MAE/MFE wird unten erläutert
- Zwei Formelvarianten: Excel PL (ŚREDNIA, LICZ.JEŻELI, Semikolons) und Excel EN (AVERAGE, COUNTIF, Kommas) – ein Schalter und Kopierschaltflächen für jeden Block
- Kennzahlen beschreiben die Stichprobe ab dem ersten Eintrag: Etwa 50 Trades sind ein beispielhafter Prüftermin des Kurses, kein allgemeingültiges Minimum und kein Vorteilsnachweis. Schlussfolgerungen hängen von Streuung, Abhängigkeit zwischen Ergebnissen und Testplan ab. Limitverletzungen oder Datenfehler erfordern eine sofortige Reaktion; Regeländerungen einer Strategie benötigen eine gesonderte Hypothese und Validierung
Fertiges XLSX-Tagebuch
Handelstagebuch herunterladen — XLSX DE
Die Datei enthält drei Blätter: Statistics, Journal und Instructions, 999 vorbereitete Zeilen sowie Formeln für Nettoergebnis, R, Slippage und Drawdown. Die Spalten A–Z behalten das unten beschriebene Format; zusätzlich enthalten sind AA–AC (Selbsteinschätzung aus 15.9), AD (Notizen), AE–AF (Equity-Kurve und Drawdown) und AG (fehlerfreie Ausführung) — CSV-Exporte für die Skripte umfassen A:Z. Gelbe Zellen dienen der Eingabe; berechnete Spalten nicht mit einem Brokerexport überschreiben. Ist Swap oder Provision tatsächlich null, 0 eingeben — fehlende Daten bleiben fehlend.
Die Beispiele dieser Anleitung gehen nicht in die Dateistatistik ein. Der Drawdown schließt den Ausgangspunkt 0 R ein: Ein erster Verlust von −1 R ergibt einen Drawdown von 1 R. Trades chronologisch nach Abschlusszeit ordnen; bei identischen Abschlusszeiten eine einheitliche Reihenfolge verwenden. Nicht allein Spalte C sortieren — alle Felder eines Datensatzes müssen zusammenbleiben. Nach der Umsortierung prüfen, ob AE/AF weiter ab Zeile 2 kumulieren. Die zusätzliche Hilfsspalte coded_clean behandelt einen leeren Fehlercode nicht als saubere Ausführung.
Die Arbeitsmappe zeigt die durchschnittliche MAE und MFE aller eingegebenen Messwerte (einschließlich Nullen); zusätzliche Varianten zur Untersuchung von Gewinnern und Verlierern stehen weiter unten. Die Datei berechnet den Profit-Faktor in R statt in Kontowährung. Das geplante Ergebnis in Spalte T nur beim gleichen Ausstiegstyp eintragen: geplanten SL mit ausgeführtem SL und TP mit TP vergleichen. Bei einem Ausstieg ohne Entsprechung leer lassen.
Die polnische Fassung verwendet PLN in ihren *_pln Feldern. Diese Sprachfassung hat dieselbe Spaltenreihenfolge und neutrale Geldfeldnamen ohne das _pln Suffix; die Kontowährung wird in der Anleitung angegeben. Beim sprachübergreifenden Übertragen von CSV-Dateien Spaltennamen zuordnen und die Währung prüfen. Allein das Ändern der Währungsbezeichnung rechnet keine Werte um.
Fertige Arbeitsmappe oder selbst aufbauen
- Zwei Wege zum selben Journal: Die fertige XLSX-Datei enthält sichtbare Formeln; mit der vollständigen Anleitung lässt sich die Tabelle selbst nachbauen. Die Datei enthält keine Makros und keine Brokerverbindung. Auch die Start-CSV wird lokal im Browser erzeugt. Die Dateiversion steht im Blatt Instructions (derzeit 1.2 vom 21. September 2026; der Artikel hat eine eigene Versionsnummer).
- Sie kennen eine Tabelle, die Sie selbst erstellen, in- und auswendig: Meldet eine Formel Jahre später einen Fehler (neues Währungspaar, anderes Exportformat), lässt sich die Ursache leichter finden, wenn bekannt ist, was sie berechnet. Eine „magische“ Vorlage versagt unbemerkt — und ein Journal mit falschen Ergebnissen ist schlechter als kein Journal.
- Im gesamten Kurs werden dieselben Spaltennamen verwendet: Die Spaltennamen stammen aus der CSV-Minispezifikation in 15.9 (die Tabelle deckt etwa 20 der 29 nummerierten logischen Felder aus 15.9 ab — fehlende Felder sind unter Quellen aufgelistet); dieselben Namen erwartet das fertige S1–S3-Skript aus Zusatz I und das Skript aus Prompt P5; die Audits P6–P7 der KI-Werkstatt brauchen außerdem einen Plankonformitätsstatus und eine Zustandsnotiz — ergänzen: status = „plan“ für error_code 0, „breach“ für die Codes 1–9; Zeilen mit Code 10 (Infrastruktur) entweder aus dem P6-Export auslassen oder ihren Status mit „infrastructure“ kennzeichnen und dies im Prompt erklären. Die Zustandsnotiz aus den Selbsteinschätzungsfeldern AA–AC ableiten. Ein Format, möglichst wenig Datenübersetzung zwischen Werkzeugen.
- Die Cloud ist bequem, aber dies sind Kontodaten: Positionsgrößen, Ergebnisse, Prozessfehler. Bewusst zwischen Cloud und lokaler Speicherung entscheiden — nach denselben Kriterien wie vor dem Einfügen von Daten in KI-Modelle (Abschnitt zur Datenhygiene in Zusatz H).
Struktur: 26 Spalten in 5 Gruppen
Die Spaltenbuchstaben A–Z entsprechen der Anordnung der folgenden Formeln — bei geänderter Reihenfolge die Bezüge anpassen. Die technischen Spaltennamen auf Englisch beibehalten: So funktioniert der CSV-Export ohne Zuordnung mit dem P5-Skript. Drei Selbsteinschätzungsfelder (mental_state, sleep_hours, decision_quality aus 15.9) können als optionale Spalten AA–AC ergänzt werden (in der Datei bereits vorhanden) — die Formeln benötigen sie nicht.
| Sp. | Spaltenname | Gruppe 1: Identifikation | Beispiel |
|---|---|---|---|
| A | trade_id | fortlaufende Nummer oder Plattform-ID | 2026-041 |
| B | open_time_utc | Eröffnungsdatum und -zeit in UTC — MT4-/MT5-Exporte verwenden die Serverzeit des Brokers (z. B. GMT+2/+3 — Brokerspezifikation prüfen); aus der Serverzeitzone umrechnen (15.9); Format YYYY-MM-DD HH:MM | 2026-07-08 07:42 |
| C | close_time_utc | Abschlussdatum und -zeit in UTC (wie B); echter Datums-/Zeitwert der Tabelle, kein Text. Leer = offener Trade, aus den Kennzahlen ausgeschlossen; ein ungültiges Datum oder ein Abschluss vor der eingetragenen Eröffnung ergibt kein R | 2026-07-08 13:15 |
| D | pair | Instrument — 6 Zeichen ohne Trennzeichen oder Brokersuffix (EURUSD, nicht EUR/USD oder EURUSD.m); die Pip-Formel gilt nur für Devisenpaare (ein Pip entspricht 0,0001 bzw. bei JPY-Paaren 0,01 — anhand der Endung erkannt); für andere Instrumente die Pip-Größe aus der Spezifikation eintragen und den Multiplikator ändern | EURUSD |
| E | direction | long / short (kleingeschrieben — die Slippage-Formel vergleicht Text) | long |
| Sp. | Spaltenname | Gruppe 2: Kontext | Beispiel |
|---|---|---|---|
| F | setup | Setup-Name aus dem Playbook (Zusatz E) | asia-london-breakout |
| G | setup_class | A+ / A / B / C — Playbook-Klasse beim Einstieg; die Dateiliste folgt 15.9. Keine Klasse anhand des späteren Ergebnisses zuweisen | A+ |
| H | session | Handelssitzung beim Einstieg (Asia / London / NY / overlap) | London |
| Sp. | Spaltenname | Gruppe 3: Plan vs. Ausführung | Beispiel |
|---|---|---|---|
| I | planned_entry | geplanter Einstieg (VOR der Orderaufgabe dokumentiert) | 1.0850 |
| J | actual_entry | tatsächliche Ausführung laut Plattform | 1.0852 |
| K | planned_sl | geplanter Stop-Loss | 1.0820 |
| L | planned_tp | geplanter Take-Profit | 1.0910 |
| M | actual_exit | tatsächlicher Ausstiegskurs | 1.0907 |
| N | spread_pips | Spread beim Einstieg | 0.7 |
| O | slippage_entry_pips | Formel — Einstiegs-Slippage in Pips, positiv = schlechtere Ausführung | 2.0 |
| Sp. | Spaltenname | Gruppe 4: Kosten und Ergebnisse | Beispiel |
|---|---|---|---|
| P | swap | Swap-Betrag mit Vorzeichen in Kontowährung (Kosten sind negativ) | −3.20 |
| Q | commission | Provision als nicht negativer Kostenbetrag; 0 ohne Provision. Einen negativen Kostenwert im Brokerexport in einen positiven Wert umwandeln, damit die Formel ihn nicht zum Gewinn addiert | 7.00 |
| R | broker_gross_pnl | Bruttoergebnis laut Plattform: nach Spread und Kursausführung, vor Swap und Provision | 201.67 |
| S | broker_net_pnl | Formel (oder manuell eintragen, wenn der Broker das Nettoergebnis meldet) | 191.47 |
| T | planned_gross_pnl | geplantes Ergebnis für denselben Ausstiegstyp (Betrag): geplanter TP bei TP-Ausstieg, geplanter SL bei Stopp-Ausstieg; bei manuellem oder zeitbasiertem Ausstieg leer lassen — dann bleibt W in der Datei leer. In 15.9 wird die Ausführungsdifferenz dagegen als Summe von Einstiegs-Slippage, Provision und Swap in R berechnet: (O × Pip-Wert + Q − P) / U, wobei Swap P sein Vorzeichen behält (negativ = Kosten) — manuell außerhalb der Formel berechnet | 220.00 |
| U | planned_risk | geplantes Risiko in Kontowährung (USD in den Beispielen; Abstand zwischen geplantem Einstieg und geplantem SL in Pips × Pip-Wert für das geplante Volumen). Dies ist der feste R-Nenner des Trades; er wird nicht nachträglich an den Verlust angepasst. Er ist kein garantierter Maximalverlust: Gaps, Slippage und Kosten können ihn erhöhen | 110.00 |
| V | r_net | Formel — Nettoergebnis in R; aus dieser Spalte werden die Ergebniskennzahlen berechnet | 1.74 |
| W | execution_drag_R | Formel — Differenz zwischen geplantem Bruttoergebnis und tatsächlichem Nettoergebnis in R; bei einem besseren Ergebnis als geplant kann sie negativ sein | 0.26 |
| Sp. | Spaltenname | Gruppe 5: Prozess | Beispiel |
|---|---|---|---|
| X | mae_r | maximale nachteilige Preisabweichung während der Laufzeit der Position, in R (Definition: 15.9, Abschnitt 7) | 0.35 |
| Y | mfe_r | maximaler günstiger Preisausschlag während der Laufzeit der Position, in R | 2.10 |
| Z | error_code | 0 = saubere Ausführung; 1–9 = Entscheidungsfehlercodes; 10 = Infrastrukturfehler (Katalog: 15.9) | 0 |
Zeilenformeln – berechnete Spalten
Formelvariante:
Einstellungen: Die PL-Variante verwendet polnische Funktionsnamen und Semikolons, EN englische Namen und Kommas. Das Trennzeichen hängt von den Regionaleinstellungen ab; in Google Sheets wird die Funktionssprache gesondert festgelegt. Beim Import B/C als Datum und Uhrzeit einstellen und dann prüfen =CZY.LICZBA(C2) (EN: =ISNUMBER(C2)): Das korrekte Ergebnis ist PRAWDA/TRUE. Es reicht nicht aus, nur das Aussehen der Zelle zu verändern.
Formeln in Zeile 2 eingeben und nach unten kopieren (oder in einen Bereich kopieren). Die Bereiche reichen bis Zeile 1000 — für ein längeres Journal Zeilenformeln, Datenvalidierung und alle Dashboard-Bereiche einschließlich der Vollständigkeitsprüfungen erweitern.
=JEŻELI(ORAZ(CZY.LICZBA(I2);CZY.LICZBA(J2);DŁ(D2)=6;LUB(E2="long";E2="short"));JEŻELI(E2="long";J2-I2;I2-J2)*JEŻELI(PRAWY(D2;3)="JPY";100;10000);"")
=IF(AND(ISNUMBER(I2),ISNUMBER(J2),LEN(D2)=6,OR(E2="long",E2="short")),IF(E2="long",J2-I2,I2-J2)*IF(RIGHT(D2,3)="JPY",100,10000),"")
=JEŻELI(ORAZ(ILE.LICZB(P2:R2)=3;Q2>=0);R2+P2-Q2;"")
=IF(AND(COUNT(P2:R2)=3,Q2>=0),R2+P2-Q2,"")
=JEŻELI(ORAZ(CZY.LICZBA(C2);CZY.LICZBA(S2);CZY.LICZBA(U2));JEŻELI(ORAZ(C2>=1;C2<2958466;U2>0;LUB(B2="";ORAZ(CZY.LICZBA(B2);B2>=1;B2<=C2)));S2/U2;"");"")
=IF(AND(ISNUMBER(C2),ISNUMBER(S2),ISNUMBER(U2)),IF(AND(C2>=1,C2<2958466,U2>0,OR(B2="",AND(ISNUMBER(B2),B2>=1,B2<=C2))),S2/U2,""),"")
=JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(T2));(T2-S2)/U2;"")
=IF(AND(ISNUMBER(V2),ISNUMBER(T2)),(T2-S2)/U2,"")
Dashboard: 9 Kennzahlen und wie man sie interpretiert
Kennzahlen auf einem gesonderten Blatt einfügen (wie in der Datei: jedem Bereich den Blattnamen voranstellen, z. B. 'Journal'!V2:V1000) oder oberhalb der Tabelle — dann verschieben sich die Spaltennamen aus Zeile 1 und die Bezüge sind anzupassen. Ein kopierter Block liefert mehrere Formeln in getrennten Zeilen; jede in die passende Zelle einfügen. AE2, AF2 und AG2 gehören auf Journal, nicht auf Statistics.
Ein leeres Journal ergibt N = 0, Gesamt-R = 0 und maximalen Drawdown = 0; WR, PF, Erwartungswert und Durchschnittswerte ohne Messungen bleiben leer. PF bleibt auch ohne Verluste leer, da der Quotient dann keinen endlichen Wert hat. Ergebnisse in R benötigen ein Nettoergebnis in S, positives U und einen numerischen Datums-/Zeitwert in C innerhalb des Excel-Datumsbereichs. Ist B ausgefüllt, muss es ein erkanntes Datum sein, das nicht nach C liegt. Excel speichert Datumswerte als Zahlen; eine Zellformatierung wandelt weder Text in ein Datum um noch prüft sie, ob die Zeit tatsächlich als UTC eingegeben wurde.
Dateiversion 1.2 verwendet Datenvalidierung mit Fehlerstil „Stopp“ für Datum, Richtung, Klasse, Provisionskosten, Risiko, MAE/MFE und Code. Eingefügte Daten können diese Prüfung umgehen — deshalb verwirft V Textdaten und nicht positives Risiko, S verwirft negative Provisionskosten, und AG akzeptiert nur ganzzahlige Codes 0–10. Prüfungen in den Zeilen 16–19 von Statistics zeigen eingetragene Abschlüsse ohne R, Trades mit R ohne gültigen Code sowie ungültige MAE-/MFE-Messungen. Eine Datumsformel mit leerem Text als Ergebnis gilt als fehlender Abschluss, nicht als ungültiger geschlossener Trade. Jeder Zähler über null ist vor der Bewertung der gesamten Stichprobe zu erklären.
Ergebniskennzahlen verwenden V. Die durchschnittliche MAE/MFE aller eingegebenen Messungen verwendet eine gesonderte Stichprobe: nicht negative Zahlen einschließlich null, selbst wenn V noch leer ist. Negative Zahlen, Text (auch als Text gespeichertes „0.5“), Leerzeichen oder boolesche Werte in einer Messspalte blockieren den Durchschnitt bis zur Korrektur, statt das Ergebnis unbemerkt zu verfälschen. Die Anzahl ungültiger Zellen steht in Statistics B18 für MAE und B19 für MFE; ein Fehler in einer Spalte blockiert keinen gültigen Durchschnitt in der anderen. Ihre Stichprobengröße nicht automatisch mit der Zahl geschlossener Trades vergleichen. Nicht negative Messwerte für denselben definierten Lebensabschnitt einer Position eintragen; fehlende Messungen leer lassen. Die Gewinner-/Verlierervarianten unten wählen anhand von V eine Teilmenge aus.
Trade-Anzahl: =ILE.LICZB(V2:V1000) Trefferquote: =JEŻELI(ILE.LICZB(V2:V1000)=0;"";LICZ.JEŻELI(V2:V1000;">0")/ILE.LICZB(V2:V1000)) Profit-Faktor: =JEŻELI(LICZ.JEŻELI(V2:V1000;"<0")=0;"";SUMA.JEŻELI(V2:V1000;">0")/-SUMA.JEŻELI(V2:V1000;"<0")) Erwartungswert (R): =JEŻELI(ILE.LICZB(V2:V1000)=0;"";ŚREDNIA(V2:V1000)) Gesamt-R: =SUMA(V2:V1000)
Trade-Anzahl: =COUNT(V2:V1000) Trefferquote: =IF(COUNT(V2:V1000)=0,"",COUNTIF(V2:V1000,">0")/COUNT(V2:V1000)) Profit-Faktor: =IF(COUNTIF(V2:V1000,"<0")=0,"",SUMIF(V2:V1000,">0")/-SUMIF(V2:V1000,"<0")) Erwartungswert (R): =IF(COUNT(V2:V1000)=0,"",AVERAGE(V2:V1000)) Gesamt-R: =SUM(V2:V1000)
AE2 (Kurve): =JEŻELI(CZY.LICZBA(V2);SUMA($V$2:V2);"") AF2 (Drawdown): =JEŻELI(CZY.LICZBA(AE2);MAX(0;$AE$2:AE2)-AE2;"") Maximaler Drawdown (R): =MAX(AF2:AF1000)
AE2 (Kurve): =IF(ISNUMBER(V2),SUM($V$2:V2),"") AF2 (Drawdown): =IF(ISNUMBER(AE2),MAX(0,$AE$2:AE2)-AE2,"") Maximaler Drawdown (R): =MAX(AF2:AF1000)
Durchschn. MAE (alle): =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI(ILE.LICZB(X2:X1000)=0;"";ŚREDNIA(X2:X1000))) (wie in der Datei, B11) Durchschn. MFE (alle): =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI(ILE.LICZB(Y2:Y1000)=0;"";ŚREDNIA(Y2:Y1000))) (wie in der Datei, B12) Durchschn. MAE der Gewinner: =JEŻELI(WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;">0";X2:X1000);"")) Durchschn. MFE der Verlierer: =JEŻELI(WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")>0;"";JEŻELI.BŁĄD(ŚREDNIA.JEŻELI(V2:V1000;"<0";Y2:Y1000);"")) AG2 (coded_clean): =JEŻELI(ORAZ(CZY.LICZBA(V2);CZY.LICZBA(Z2));JEŻELI(ORAZ(Z2>=0;Z2<=10;Z2=LICZBA.CAŁK(Z2));JEŻELI(Z2=0;1;0);"");"") Fehlerfreie Ausführung: =JEŻELI(ILE.LICZB(AG2:AG1000)=0;"";ŚREDNIA(AG2:AG1000)) Durchschn. Ausführungsdifferenz: =JEŻELI(ILE.LICZB(W2:W1000)=0;"";ŚREDNIA(W2:W1000)) (optional, nicht in der Datei)
Durchschn. MAE (alle): =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IF(COUNT(X2:X1000)=0,"",AVERAGE(X2:X1000))) (wie in der Datei, B11) Durchschn. MFE (alle): =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IF(COUNT(Y2:Y1000)=0,"",AVERAGE(Y2:Y1000))) (wie in der Datei, B12) Durchschn. MAE der Gewinner: =IF(ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,">0",X2:X1000),"")) Durchschn. MFE der Verlierer: =IF(ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")>0,"",IFERROR(AVERAGEIF(V2:V1000,"<0",Y2:Y1000),"")) AG2 (coded_clean): =IF(AND(ISNUMBER(V2),ISNUMBER(Z2)),IF(AND(Z2>=0,Z2<=10,Z2=INT(Z2)),IF(Z2=0,1,0),""),"") Fehlerfreie Ausführung: =IF(COUNT(AG2:AG1000)=0,"",AVERAGE(AG2:AG1000)) Durchschn. Ausführungsdifferenz: =IF(COUNT(W2:W1000)=0,"",AVERAGE(W2:W1000)) (optional, nicht in der Datei)
Abschluss ohne R: =WIERSZE(C2:C1000)-LICZ.PUSTE(C2:C1000)-ILE.LICZB(V2:V1000) R ohne Code: =ILE.LICZB(V2:V1000)-ILE.LICZB(AG2:AG1000) Ungültige MAE: =WIERSZE(X2:X1000)-LICZ.PUSTE(X2:X1000)-ILE.LICZB(X2:X1000)+LICZ.JEŻELI(X2:X1000;"<0") Ungültige MFE: =WIERSZE(Y2:Y1000)-LICZ.PUSTE(Y2:Y1000)-ILE.LICZB(Y2:Y1000)+LICZ.JEŻELI(Y2:Y1000;"<0")
Abschluss ohne R: =ROWS(C2:C1000)-COUNTBLANK(C2:C1000)-COUNT(V2:V1000) R ohne Code: =COUNT(V2:V1000)-COUNT(AG2:AG1000) Ungültige MAE: =ROWS(X2:X1000)-COUNTBLANK(X2:X1000)-COUNT(X2:X1000)+COUNTIF(X2:X1000,"<0") Ungültige MFE: =ROWS(Y2:Y1000)-COUNTBLANK(Y2:Y1000)-COUNT(Y2:Y1000)+COUNTIF(Y2:Y1000,"<0")
| Kennzahl | So lesen Sie die Ergebnisse und ihre Grenzen |
|---|---|
| Trefferquote | Für sich genommen sagt sie nichts über einen Vorteil aus — siehe Diagramm unten. Ohne geschlossene Trades bleibt sie leer; 0% bedeutet eine Stichprobe ohne Gewinner. Zum Vergleich mit den Playbook-Annahmen nutzen und nicht für das Urteil „Bin ich gut darin?“ |
| Profit-Faktor | Unter 1,0 = negatives Ergebnis in R für die betrachtete Stichprobe; aussagekräftig nur zusammen mit Trade-Anzahl und Drawdown. Keine Verluste in der Stichprobe bedeuten Division durch null, keinen „unendlichen Vorteil“ |
| Erwartungswert (R) | Die wichtigste Zahl des Journals: durchschnittliches Nettoergebnis je Trade. Ein positiver Wert nach Kosten beschreibt diese Stichprobe, beweist aber allein keinen Vorteil. Streuung, Abhängigkeit zwischen Ergebnissen, Stabilität der Bedingungen und Validierungsergebnisse bewerten nach dem Testprotokoll (N). Die Zahl 50 ist ein beispielhafter Überprüfungspunkt, und eine Entscheidung zur Skalierung erfordert auch die Einhaltung des Risikoplans |
| Max. Drawdown (R) | Maß für die gesamte Historie: AF berechnet den Drawdown vom höchsten Kurvenhoch; es ist also nicht der Wochenverlust. Das Wochenlimit des Plans (Zusatz E) wird im Basis-R des Plans oder in Prozent des Kapitals ausgedrückt. Nicht direkt mit der Summe von r_net vergleichen, wenn Trades unterschiedliche U-Werte hatten. Bei konstantem Basis-R in Kontowährung ist das Periodenergebnis in der Planeinheit die Summe der Nettoergebnisse in S dieses Zeitraums geteilt durch den Basis-R-Betrag. Für ein Prozentlimit die im Plan festgelegte Kapitalbasis verwenden. AF beschreibt den Verlauf kumulierter Trade-R, nicht den Drawdown von Kontostand oder Equity. Ein ungewöhnlicher Drawdown erfordert die Prüfung von Daten, Bedingungen und Testannahmen |
| Durchschn. MAE der Gewinner | Niedrig (z. B. < 0,4R) = Hypothese, dass der Stopp weiter als nötig liegt — an einer neuen Stichprobe prüfen, nicht sofort enger setzen (15.9); nahe 1R = Gewinner erlebten eine Gegenbewegung nahe dem gesamten Risikobetrag — Einstiege und Stopppositionierung prüfen, bevor daraus ein Ausführungsproblem abgeleitet wird |
| Durchschn. MFE der Verlierer | Hoch = Trades bewegten sich zu Ihren Gunsten und kehrten sich dann um – prüfen Sie die Ausstiegs- und Teilgewinnmitnahmeregeln |
| Ausführungsdifferenz (Durchschn.) | Optionale Formel (oben), nur aus Trades mit ausgefülltem T berechnet. Ein dauerhaft hoher Wert zeigt bei vergleichbaren Ausstiegen eine Lücke zwischen geplantem Bruttoergebnis und tatsächlichem Nettoergebnis: Enthalten sind Kosten und Unterschiede der Ausführungskurse. Manuelle/frühe Ausstiege ohne Entsprechung fließen nicht in diesen Durchschnitt ein. Nicht mit der vereinfachten Kostenschätzung für diese Ausstiege kombinieren |
| Saubere Ausführung | Anteil geschlossener Trades mit error_code = 0 (Spalte AG zählt nur Trades mit gültigem R und ganzzahligem Code von 0 bis 10; ein fehlender Code gilt nicht als fehlerfreie Ausführung). Etwa 90% können in einem bestimmten Plan eine Arbeitsschwelle sein, keinen Qualitätsstandard. Anzahl bewerteter Trades und fehlender Codes prüfen: 100% aus einem Code 0 und vielen leeren Codes beschreiben nicht das gesamte Journal. Ein kritischer Verstoß erfordert unabhängig vom Prozentwert Maßnahmen. Kennzahlen regelwidriger Trades sind kein sauberer Test dieser Regeln |
Starter CSV und Import
Die Schaltfläche erzeugt die CSV-Datei vollständig im Browser, ohne Daten zu senden oder eine gesonderte Netzwerkanfrage zu stellen: 26 Spaltennamen und zwei Beispielzeilen — Gewinner und Verlierer — zur Veranschaulichung der Formeln. PL verwendet Semikolons und Dezimalkommas (beim Import das Trennzeichen ausdrücklich wählen; das Doppelklickverhalten hängt von den Systemeinstellungen ab), EN Kommas und Dezimalpunkte. Nach dem Import die berechneten Spalten O, S, V, W der Beispielzeilen durch die Formeln des vorherigen Abschnitts ersetzen; Beispiele vor dem ersten eigenen Eintrag löschen (oder in einer gesonderten Datei aufbewahren). Ein CSV-Export kann die angezeigte Programmgenauigkeit speichern; in XLSX 1.2 haben V und W sechs Dezimalstellen. Auch die Start-CSV verwendet sechs, aus den Zeilenbeträgen berechnete Dezimalstellen. Damit beträgt der Rundungsfehler eines einzelnen R-Werts höchstens 0,0000005 R; PF kann bei einer sehr kleinen Verlustsumme empfindlicher reagieren. Ein Ergebnis mit Betrag unter 0,0000005 R kann auf null gerundet werden und dadurch Gewinn-/Verlustklassifikation und Trefferquote ändern; bei solchen Daten vor dem Export die Genauigkeit erhöhen. Für genauere Analysen vor dem Export erhöhen, nicht erst später im Skript.
yyyy-mm-dd hh:mm (eine polnische Oberfläche kann anzeigen rrrr-mm-dd gg:mm) und V/W auf mindestens sechs Dezimalstellen ohne Tausendertrennzeichen. Als CSV UTF-8 speichern. Vor dem Zusammenführen die Eindeutigkeit der trade_id-Werte prüfen: S1 entfernt keine Duplikate. Teilausführungen einer Position nach der gewählten Trade-Einheit samt Kosten zusammenfassen und ihr ursprüngliches U beibehalten; denselben Trade nicht zugleich als mehrere Ausführungen und als eine Zusammenfassung zählen. Eine Kopie im Texteditor öffnen: 26 Felder je Datensatz, Trennzeichen, UTC-Daten und Zahlen prüfen. CSV enthält Werte, keine Formeln oder anderen Blätter — Original-XLSX aufbewahren. Für S1 PL einstellen: CSV_SEP=";", DECIMAL=","; EN: CSV_SEP=",", DECIMAL=".". UTF-8 mit BOM lässt sich lesen als utf-8-sig.Überprüfen Sie die beiden Beispiele: Ein Nettoergebnis von USD 191.47 bei Risiko USD 110 ergibt 1.740636 R; −USD 113.10 bei Risiko USD 105 ergibt −1.077143 R. Aus diesen Werten mit sechs Dezimalstellen sollte das Skript N = 2, WR = 50%, insgesamt 0.663493 R, Erwartungswert 0.3317465 R, PF etwa 1.615974852 und maximalen DD 1.077143 R erzeugen. S2 druckt gerundet: WR 0.5; PF 1.62; Erwartungswert 0.332 R; Summe 0.66 R; maximaler DD 1.08 R. Die vollständigen XLSX-Formeln rechnen mit ungerundeten Quotienten, daher können die letzten Stellen abweichen. S1 stoppt die Analyse bei einem ungültigen geschlossenen Trade; P5 weist das Skript an, diesen Datensatz auszuschließen und zu melden. Kennzahlen erst nach Abgleich der Stichprobe vergleichen. P5 ist eine Anweisung zur Skripterzeugung, keine fertige Datei mit garantiertem Ergebnis.
Schritt für Schritt aufbauen
- Erstellen Sie eine leere Tabelle in Excel oder LibreOffice Calc; Eine Cloud-Tabelle funktioniert auch – aber es handelt sich dabei um Kontodaten, also treffen Sie eine bewusste Wahl.
- Importieren Sie die Starter-CSV (oder die Spaltennamen aus den Strukturtabellen kopieren). Prüfen, ob Zahlen als Zahlen importiert wurden — erscheint „1.0850“ als Text, passt die Trennzeichenvariante nicht zu den Systemeinstellungen.
- Fügen Sie die Zeilenformeln ein in O2, S2, V2 und W2 und nach unten in die vorbereiteten Reservezeilen kopieren.
- Fügen Sie das Dashboard ein (Kennzahlen 1–9) über der Tabelle oder auf einem separaten Blatt; Füllen Sie die Hilfsspalten AE, AF und AG auf die gleiche Weise wie die Zeilenformeln bis zur letzten vorbereiteten Zeile.
- Legen Sie eine Routine fest: Machen Sie nach jedem abgeschlossenen Trade einen Eintrag (die EOD-Checkliste in Add-on J enthält dies), lesen Sie die Kennzahlen bei Ihrer wöchentlichen Überprüfung und treffen Sie vierteljährlich Playbook-Entscheidungen (Add-on E).
FAQ
Excel, LibreOffice oder eine Cloud-Tabelle?
Die Formeln verwenden Grundfunktionen aus Excel, LibreOffice Calc und Google Sheets. Funktionsnamen und Trennzeichen hängen jedoch von Programm- und Dateieinstellungen ab: PL zeigt polnische Namen und Semikolons, EN englische Namen und Kommas. Eine Cloud-Tabelle kann englische Namen mit Semikolons benötigen. Es wird nicht behauptet, jede Programmversion getestet zu haben. Der eigentliche Unterschied liegt anderswo: Das Journal enthält Positionsgrößen, Ergebnisse und einen Fehlerkatalog — in der Cloud unterliegen diese Daten den Regeln des Anbieters und werden außerhalb des eigenen Laufwerks gespeichert. Standard dieses Abschnitts ist die lokale Speicherung von Kontodaten; die Cloud bewusst verwenden und eine Sicherung exportieren. Dieselbe Entscheidung verlangt der Datenhygiene-Abschnitt von Zusatz H vor dem Einfügen eines Journals in einen Chat.
Wie viele Trades sind erforderlich, bevor die Kennzahlen etwas aussagen?
Kennzahlen beschreiben die Stichprobe ab dem ersten Trade; etwa fünfzig sind ein beispielhafter Arbeitspunkt für die erste Systemprüfung, keine Signifikanzschwelle — davor ändern sich Erwartungswert und Trefferquote nach jeder Serie deutlich und sagen mehr über diese Serie als über das System aus; auch Streuung und Abhängigkeit zwischen Ergebnissen zählen (weshalb dieselbe Zahl im Playbook von Zusatz E als Schwelle der Klasse A+ erscheint). Das bedeutet nicht, dass das Journal vorher nutzlos ist: Prozesskennzahlen funktionieren ab dem ersten Eintrag — Quote fehlerfreier Ausführung und Vollständigkeit der Einträge — und bestimmen, ob die Systemzahlen jemals belastbar werden. Die Reihenfolge bleibt: zuerst Prozess, dann Stichprobe, schließlich Systembewertung. Aktualisierung zur aktuellen Fassung von E: Die genannten rund fünfzig Trades sind ein beispielhafter Zeitpunkt für eine Prüfung, keine A+-Schwelle im aktuellen Playbook. Die Einstufung folgt vorab festgelegten notwendigen Bedingungen und Qualitätskriterien; die Stichprobengröße allein vergibt keine Klasse.
Warum eine Spalte „error_code“ haben, wenn das Ergebnis bereits sichtbar ist?
Weil Ergebnis und Entscheidungsqualität unterschiedliche Dimensionen sind: Es gibt profitable Trades, die den Plan verletzen (am gefährlichsten — ein belohnter Verstoß wird verstärkt), und vorbildliche Ausführung, die mit Verlust endet. error_code 0–10 ermöglicht die GESONDERTE Erwartungswertberechnung für fehlerfreie Ausführung: Verdient das System nach Herausfiltern der Verstöße Geld, deutet dies eher auf ein Ausführungs- als ein Regelproblem hin — ein Unterschied zwischen Teilgruppen beweist die Ursache noch nicht, sondern zeigt nur die Suchrichtung. Code 10 (Infrastrukturfehler) von Entscheidungsfehlern trennen; Verfahren für diese Fälle stehen in Add-on K, während der Katalog der Codes 1–9 in 15.9 steht.
Mein Excel akzeptiert die Formeln nicht – was sollte ich überprüfen?
Fast immer liegt es an einem von drei Punkten. Erstens die Variante: Funktionssprache und Argumenttrennzeichen sind getrennte Einstellungen. Der Schalter bietet zwei häufige Kombinationen (PL: polnische Namen + Semikolons; EN: englische Namen + Kommas); dennoch die Regionaleinstellungen prüfen. In Google Sheets auch die Option für englische Funktionsnamen prüfen. Zweitens das Dezimaltrennzeichen: Ein System mit Dezimalkomma liest „1.0850“ als Text — daher zwei CSV-Varianten. Drittens Anführungszeichen: Messenger können gerade in typografische Anführungszeichen umwandeln — ohne Umweg mit der Schaltfläche dieser Seite kopieren. Rechnet weiterhin etwas nicht, kann Prompt P3 aus Zusatz H Formeln ebenso wie Code prüfen.
Verwandtes Kursmaterial
- 15.9 Journal und Kennzahlen — vollständiger Feldkatalog (einschließlich Fehlercodes 0–10), MAE-/MFE-Definitionen und fortgeschrittene Kennzahlen (SQN, Sortino)
- 15.10 Strategieaudit — welche Schlüsse sich aus Kennzahlen ziehen lassen und aus welcher Stichprobe
- Add-on I – Code-Kit — fertiges, getestetes S1–S3-Skript: liest den CSV-Export A–Z dieser Tabelle, berechnet Kennzahlen und zeichnet die Equity-Kurve
- Add-on H, Prompts P5–P7 — Skript zur Kennzahlenberechnung aus dem CSV-Export dieser Tabelle und Muster-Audits (P6–P7: Plankonformitätsstatus und Zustandsnotiz ergänzen; P7 erwartet Wochenkennzahlen — die in dieser Woche geschlossenen Zeilen auf ein gesondertes Blatt kopieren und dort dieselben Formeln berechnen; ein Autofilter allein verändert COUNT-/SUM-/AVERAGE-Ergebnisse nicht)
- Add-on E – Planvorlage — vierteljährlich mit den Zahlen dieses Journals kalibriertes Playbook
- Add-on J – Checklisten — EOD-/EOW-Routine, die das Journal in Gebrauch hält
Quellen
- Van K. Tharp, Trade Your Way to Financial Freedom, 2. Auflage, McGraw-Hill 2007 — R-Multiples und Erwartungswert als zentrale Systemkennzahlen, auf denen r_net-Spalte und Dashboard beruhen.
- Intern: 15.9 Journal und Kennzahlen (Feldstruktur, Fehlercodes, MAE/MFE) und 15.10 Strategieaudit (diszipliniertes Schlussfolgern aus einer Stichprobe) — 26 Spalten A–Z und 3 Selbsteinschätzungsfelder ergeben 29 Spalten in der Datei, doch die Tabelle deckt etwa 20 der 29 nummerierten logischen Felder aus 15.9 ab; es fehlen regime, actual_tp, slippage_exit_pips und vier Felder, deren Ergänzung 15.9 selbst verlangt („die Tabelle stammt aus der Zeit vor diesem Abschnitt“): lots, pip_value_at_open, strategy_version, evidence_link — für das Skript aus 15.9 diese als optionale Spalten ab AH ergänzen, damit vorhandene Spalten AA–AG nicht überschrieben werden; für Skripte mit erwarteter Struktur A:Z weiterhin nur diesen Bereich exportieren.
- Dokumentation: Microsoft – Argumenttrennzeichen und CSV, Microsoft – CSV importieren und exportieren, Google Sheets – Gebietsschema und Funktionssprache. Geprüft am 21. September 2026; Hierbei handelt es sich um Konfigurationsregeln und nicht um den Anspruch, dass jede Anwendung getestet wurde.
- NIST – Unsicherheit des Mittelwerts: Abhängigkeit von Stichprobengröße und Streuung; Dies rechtfertigt keine allgemeine Schwelle von 50 Trades. Geprüft am 21. September 2026.