Ansonsten muss ich mir eine Alternative suchen.
Sicher musst du ganz von Anfang an zuordnen und Tradegruppen bilden, ggf. Käufe und Verkäufe, Transfers usw. aufteilen.
Ich finde es kann nicht die Lösung sein vom ersten Trade an schon in zwei Gruppen zu splitten nur um irgendwann mal einen Coin zu kaufen, den man dann länger als ein Jahr hält. 10000 von meinen 20000 Trades gehören dann zur Gruppe Hold, nur weil ich am Ende von der Hälfte der Coins einen ETH kaufe?
Wenn du es wirklich manuell nicht auseinander dividieren kannst, wird das auch kein Algorithmus für dich schaffen.
Den Algorithmus dafür habe ich doch schon skizziert. Man braucht für jede Börse/Wallet einen eigenen Kaufpool. Wenn auf der Börse verkauft wird, dann nur Coins, die im Kaufpool der Börse sind. Wenn ich Coins zwischen zwei Börsen/Wallets transferiere werden diese via FIFO aus dem Kaufpool der ersten Börse in den Kaufpool der zweiten verschoben. Dann kann es nicht passieren, dass wenn ich BTC in ETH umwandle, sie von Börse A nach Börse B verschicke und sie dort zurückwandle, beim gebuchten Verkauf stattdessen meine Coins in meiner Hardware-Wallet verkauft werden, die seit Monaten nicht angefasst wurden.
In Anbetracht der Aufgabenstellung ist cointracking sehr leistungsfähig, beinahe "alternativlos".
Es gibt ja durchaus Alternativen, z.B.
https://bitcoin.tax/. Andererseits finde ich cointracking ansonsten ja gut, und habe ja mehrere hundert Euro für meinen Account hingelegt, nur um jetzt zu merken, dass ich es es vergessen kann damit meine Auswertung für die Steuer zu machen.
Ich überlege jetzt die FIFO-Berechnung, wie ich sie oben skizziert habe, selber zu implementieren. Nur bräuchte ich dafür Zugriff auf die historischen Kurse der Coins. Gibt es dafür eine API bei cointracking?
Als allerletzte Möglichkeit werde ich noch einen Hack ausprobieren den hier im Thread jemand vorschlug, nämlich separate (fiktive) Coin-Pendants fürs längerfristige Halten einzutragen. Heißt ich führe einen ungelisteten Coin "ETH (Hold)" ein, der 1 ETH Wert ist und wenn ich mich entscheide einen ETH längerfristig zu halten dann trage ich einen Trade von ETH nach ETH (Hold) ein. Da diese Coins identischen Wert haben, sollte hier auch kein Gewinn/Verlust realisiert werden. Damit kann ich dann separat kurz und langfristige Coins verkaufen. Nachteil ist nur, dass man fiktive Buchungen anlegen muss und im Report Coins auftauchen die es so gar nicht gibt.
Meines Erachtens ist die korrekte Behandlung von Verkäufen, getrennt nach FIFO pro Börse ein unverzichtbares Feature, was schnellstmöglich eingebaut werden sollte.