mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-11-29 08:33:07 +00:00
Merge branch 'freqtrade:develop' into develop
This commit is contained in:
@@ -6,6 +6,7 @@ from freqtrade.exchange.exchange import Exchange
|
|||||||
from freqtrade.exchange.binance import Binance
|
from freqtrade.exchange.binance import Binance
|
||||||
from freqtrade.exchange.bitpanda import Bitpanda
|
from freqtrade.exchange.bitpanda import Bitpanda
|
||||||
from freqtrade.exchange.bittrex import Bittrex
|
from freqtrade.exchange.bittrex import Bittrex
|
||||||
|
from freqtrade.exchange.bitvavo import Bitvavo
|
||||||
from freqtrade.exchange.bybit import Bybit
|
from freqtrade.exchange.bybit import Bybit
|
||||||
from freqtrade.exchange.coinbasepro import Coinbasepro
|
from freqtrade.exchange.coinbasepro import Coinbasepro
|
||||||
from freqtrade.exchange.exchange_utils import (ROUND_DOWN, ROUND_UP, amount_to_contract_precision,
|
from freqtrade.exchange.exchange_utils import (ROUND_DOWN, ROUND_UP, amount_to_contract_precision,
|
||||||
|
|||||||
23
freqtrade/exchange/bitvavo.py
Normal file
23
freqtrade/exchange/bitvavo.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
"""Kucoin exchange subclass."""
|
||||||
|
import logging
|
||||||
|
from typing import Dict
|
||||||
|
|
||||||
|
from freqtrade.exchange import Exchange
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class Bitvavo(Exchange):
|
||||||
|
"""Bitvavo exchange class.
|
||||||
|
|
||||||
|
Contains adjustments needed for Freqtrade to work with this exchange.
|
||||||
|
|
||||||
|
Please note that this exchange is not included in the list of exchanges
|
||||||
|
officially supported by the Freqtrade development team. So some features
|
||||||
|
may still not work as expected.
|
||||||
|
"""
|
||||||
|
|
||||||
|
_ft_has: Dict = {
|
||||||
|
"ohlcv_candle_limit": 1440,
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ coveralls==3.3.1
|
|||||||
ruff==0.0.261
|
ruff==0.0.261
|
||||||
mypy==1.2.0
|
mypy==1.2.0
|
||||||
pre-commit==3.2.2
|
pre-commit==3.2.2
|
||||||
pytest==7.3.0
|
pytest==7.3.1
|
||||||
pytest-asyncio==0.21.0
|
pytest-asyncio==0.21.0
|
||||||
pytest-cov==4.0.0
|
pytest-cov==4.0.0
|
||||||
pytest-mock==3.10.0
|
pytest-mock==3.10.0
|
||||||
@@ -19,7 +19,7 @@ isort==5.12.0
|
|||||||
# For datetime mocking
|
# For datetime mocking
|
||||||
time-machine==2.9.0
|
time-machine==2.9.0
|
||||||
# fastapi testing
|
# fastapi testing
|
||||||
httpx==0.23.3
|
httpx==0.24.0
|
||||||
|
|
||||||
# Convert jupyter notebooks to markdown documents
|
# Convert jupyter notebooks to markdown documents
|
||||||
nbconvert==7.3.1
|
nbconvert==7.3.1
|
||||||
|
|||||||
@@ -8,4 +8,4 @@ joblib==1.2.0
|
|||||||
catboost==1.1.1; platform_machine != 'aarch64' and 'arm' not in platform_machine and python_version < '3.11'
|
catboost==1.1.1; platform_machine != 'aarch64' and 'arm' not in platform_machine and python_version < '3.11'
|
||||||
lightgbm==3.3.5
|
lightgbm==3.3.5
|
||||||
xgboost==1.7.5
|
xgboost==1.7.5
|
||||||
tensorboard==2.12.1
|
tensorboard==2.12.2
|
||||||
|
|||||||
@@ -528,9 +528,11 @@ class TestCCXTExchange():
|
|||||||
assert res[1] == timeframe
|
assert res[1] == timeframe
|
||||||
assert res[2] == candle_type
|
assert res[2] == candle_type
|
||||||
candles = res[3]
|
candles = res[3]
|
||||||
candle_count = exchange.ohlcv_candle_limit(timeframe, candle_type, since_ms) * 0.9
|
factor = 0.9
|
||||||
candle_count1 = (now.timestamp() * 1000 - since_ms) // timeframe_ms
|
candle_count = exchange.ohlcv_candle_limit(timeframe, candle_type, since_ms) * factor
|
||||||
assert len(candles) >= min(candle_count, candle_count1)
|
candle_count1 = (now.timestamp() * 1000 - since_ms) // timeframe_ms * factor
|
||||||
|
assert len(candles) >= min(candle_count, candle_count1), \
|
||||||
|
f"{len(candles)} < {candle_count} in {timeframe}, Offset: {offset} {factor}"
|
||||||
assert candles[0][0] == since_ms or (since_ms + timeframe_ms)
|
assert candles[0][0] == since_ms or (since_ms + timeframe_ms)
|
||||||
|
|
||||||
def test_ccxt__async_get_candle_history(self, exchange: EXCHANGE_FIXTURE_TYPE):
|
def test_ccxt__async_get_candle_history(self, exchange: EXCHANGE_FIXTURE_TYPE):
|
||||||
|
|||||||
Reference in New Issue
Block a user