Compare commits
2 Commits
61a980387e
...
e032d4ed1f
Author | SHA1 | Date | |
---|---|---|---|
e032d4ed1f | |||
99a5dc82e4 |
|
@ -7,7 +7,14 @@ from decimal import Decimal
|
||||||
import fin_defs
|
import fin_defs
|
||||||
import krakenex
|
import krakenex
|
||||||
|
|
||||||
from .data import Depo, DepoFetcher, DepoSingle
|
from .data import (
|
||||||
|
DepoFetcher,
|
||||||
|
DepoSingle,
|
||||||
|
DepositDetails,
|
||||||
|
DoubleRegister,
|
||||||
|
TradeOrderDetails,
|
||||||
|
WithdrawalDetails,
|
||||||
|
)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -56,6 +63,23 @@ class KrakenDepoFetcher(DepoFetcher):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _get_withdrawals(self) -> list[WithdrawalDetails]:
|
||||||
|
raise NotImplementedError("_get_withdrawals is a work in progress")
|
||||||
|
|
||||||
|
def _get_deposits(self) -> list[DepositDetails]:
|
||||||
|
raise NotImplementedError("_get_deposits is a work in progress")
|
||||||
|
|
||||||
|
def _get_historic_spot_orders(self) -> Iterator[TradeOrderDetails]:
|
||||||
|
raise NotImplementedError("_get_historic_spot_orders is a work in progress")
|
||||||
|
|
||||||
|
def _get_double_registers(self) -> list[DoubleRegister]:
|
||||||
|
double_registers: list[DoubleRegister] = []
|
||||||
|
double_registers += self._get_deposits()
|
||||||
|
double_registers += self._get_withdrawals()
|
||||||
|
double_registers += self._get_historic_spot_orders()
|
||||||
|
double_registers.sort(key=lambda x: x.executed_time)
|
||||||
|
return double_registers
|
||||||
|
|
||||||
def parse_asset_from_ticker(ticker: str) -> fin_defs.Asset:
|
def parse_asset_from_ticker(ticker: str) -> fin_defs.Asset:
|
||||||
account = ticker.removesuffix('.HOLD')
|
account = ticker.removesuffix('.HOLD')
|
||||||
if account == 'ZEUR':
|
if account == 'ZEUR':
|
||||||
|
|
|
@ -242,9 +242,16 @@ class KucoinDepoFetcher(DepoFetcher):
|
||||||
for _weeks_back in range(20):
|
for _weeks_back in range(20):
|
||||||
end_time = end_time - datetime.timedelta(days=7)
|
end_time = end_time - datetime.timedelta(days=7)
|
||||||
timestamp = int(end_time.timestamp() * 1000)
|
timestamp = int(end_time.timestamp() * 1000)
|
||||||
raw_details = self.kucoin_client.get_orders(end=timestamp)
|
page_index = 1
|
||||||
yield from (order_from_json(item) for item in raw_details['items'])
|
while True:
|
||||||
del _weeks_back, raw_details
|
raw_details = self.kucoin_client.get_orders(end=timestamp, page=page_index)
|
||||||
|
yield from (order_from_json(item) for item in raw_details['items'])
|
||||||
|
|
||||||
|
page_index = raw_details['currentPage'] + 1
|
||||||
|
if page_index > raw_details['totalPage']:
|
||||||
|
break
|
||||||
|
del raw_details
|
||||||
|
del _weeks_back
|
||||||
|
|
||||||
def _get_double_registers(self) -> list[DoubleRegister]:
|
def _get_double_registers(self) -> list[DoubleRegister]:
|
||||||
double_registers: list[DoubleRegister] = []
|
double_registers: list[DoubleRegister] = []
|
||||||
|
|
Loading…
Reference in New Issue
Block a user