Compare commits

...

2 Commits

  1. 16
      src/cryptocom/exchange/market.py
  2. 10
      src/cryptocom/exchange/structs.py

@ -87,11 +87,17 @@ class Exchange:
] ]
return OrderBook(buys, sells, pair) return OrderBook(buys, sells, pair)
async def get_candles(self, pair: Pair, period: Period) -> List[Candle]: async def get_candles(self, pair: Pair, period: Period, endTime:int = None) -> List[Candle]:
data = await self.api.get(
"public/get-candlestick", data = []
{"instrument_name": pair.name, "timeframe": period.value}, if endTime:
) data = await self.api.get(
"public/get-candlestick",
{"instrument_name": pair.name, "timeframe": period.value, "end_time": endTime*1000})
else:
data = await self.api.get(
"public/get-candlestick",
{"instrument_name": pair.name, "timeframe": period.value})
return [Candle.from_api(pair, candle) for candle in data] return [Candle.from_api(pair, candle) for candle in data]
async def listen_candles( async def listen_candles(

@ -141,11 +141,11 @@ class Candle:
def from_api(cls, pair: Pair, data: Dict): def from_api(cls, pair: Pair, data: Dict):
return cls( return cls(
time=int(data["t"] / 1000), time=int(data["t"] / 1000),
open=pair.round_price(data["o"]), open=pair.round_price(float(data["o"])),
high=pair.round_price(data["h"]), high=pair.round_price(float(data["h"])),
low=pair.round_price(data["l"]), low=pair.round_price(float(data["l"])),
close=pair.round_price(data["c"]), close=pair.round_price(float(data["c"])),
volume=pair.round_quantity(data["v"]), volume=pair.round_quantity(float(data["v"])),
pair=pair, pair=pair,
) )

Loading…
Cancel
Save