Sortierproblem? "Comparison method violates its general contract!"

Danke @ProgFriese

Ich kann das Problem nachstellen.

Das Problem is folgendes: Für einige Berechnungen - hier: Trades - sortiere ich die Buchungen erst nach Datum und dann nach Typ. Wenn man z.B. keine Uhrzeit erfasst, will ich trotzdem erst die Käufe und dann die Verkäufe verarbeiten. So vermeide ich, dass unnötig negative Bestände auftauchen.

In Deiner Datei hast Du viele Buchungen zu einem Papier an einem Tag. Und zwar Buchungen mit Uhrzeit. Die werden auch so sortiert. Aber die Steuerrückerstattung hat keine Uhrzeit. Diese Steuerrückerstattung will ich zwischen Käufe und Verkäufe sortieren. Das schlägt hier fehl weil es schon mehre Käufe und Verkäufe nach Uhrzeit sortiert - aber gemischt gibt.

Ich frage in etwa das: [verkauf, kauf, verkauf, kauf] - sortiere die “Steuerrückerstattung” nach allen Käufen und vor allen Verkäufen ein.

Wenn Du der Steuerrückerstattung eine Uhrzeit gibst - sagen wir 07:00 - dann tritt der Fehler nicht mehr auf. Da sind aber mehrere solche Tage in Deiner Datei. Eventuell musst Du mehreren eine Uhrzeit vergeben.

Ich muss mal überlegen wie ich das löse… vielleicht bekommen alle Buchungen ohne Uhrzeit virtuell die “12:00”. Dann funktioniert es für diejenigen die keine Uhrzeit erfassen und für die, die eine Uhrzeit erfassen. Nur Intraday Trades die teilweise mit Uhrzeit und teilweise ohne Uhrzeit sind, könnte es zu unvollständigen Trades führen.