henrydatei / wikifolio-api

A Python API-Wrapper for the unofficial wikifolio API
GNU General Public License v3.0
17 stars 4 forks source link

Buy_limit funktioniert nicht #21

Closed Georchde closed 4 months ago

Georchde commented 4 months ago

Hallo,

ich versuche wikifolio-api zum laufen zu bekommen. Testweise wollte ich einen Kauf prozessieren.

Falls ich "buy_limit" verwende, erhalte ich folgenden Fehler:

wf.buy_limit(amount =1, isin="DE000A0LBKW6", limit_price=10 ) Traceback (most recent call last): File "", line 1, in File "/Volumes/SSD Data/USER/Wiki/wikifolio-api/wikifolio.py", line 584, in buy_limit return OrderResponse(**raw_json) TypeError: init() missing 2 required positional arguments: 'reason' and 'orderGuid'

was mache ich falsch? bzw. woran liegt es?

bei "buy_quote" endet es in einer Endlosschleife:

wf.buy_quote(amount=1, isin="DE000A0LBKW6") 1 2 3 4

henrydatei commented 4 months ago

Hi,

ich habe das mit der OrderResponse gefixt, ich hatte da Felder nicht als nicht-notwendig zum Instanzieren des Objektes deklariert. Zumindest funktioniert buy_limit jetzt bei mir. Du solltest auch beachten, dass wenn du 2FA aktiviert hast, dass es dann sein kann, dass Orders nicht gehen, weil du diese mit 2FA freischalten musst. Das würdest du an dem Feld needsTfaReAuth=True in OrderResponse erkennen.

Die Funktion buy_quote ist sehr merkwürdig. Eigentlich habe ich diese genau so nachgebaut, wie Wikifolio sie im Browser verwendet (leider gibt es keine offizielle Dokumentation), aber aus irgendwelchen Gründen geht der API Call nicht immer durch. Deswegen habe ich da eine Endloschschleife eingebaut, die den API Call solange probiert, bis er durchgeht. Zumindest meinen Erfahrungen nach, die aber schon einige Zeit zurückliegen, sollte das aber nicht mehr als 10 Versuche brauchen, bis die Quote-Order durch geht. Aber auch hier musst du beachten, dass eventuell 2FA nötig ist, sonst wird das mit der Quote-Order nie was und die Endlosschleife läuft wirklich endlos.