mirror of
https://github.com/freqtrade/freqtrade.git
synced 2025-12-08 17:01:15 +00:00
merged with feat/short
This commit is contained in:
@@ -18,7 +18,7 @@ from freqtrade import constants
|
||||
from freqtrade.commands import Arguments
|
||||
from freqtrade.data.converter import ohlcv_to_dataframe
|
||||
from freqtrade.edge import Edge, PairInfo
|
||||
from freqtrade.enums import RunMode
|
||||
from freqtrade.enums import Collateral, RunMode, TradingMode
|
||||
from freqtrade.exchange import Exchange
|
||||
from freqtrade.freqtradebot import FreqtradeBot
|
||||
from freqtrade.persistence import LocalTrade, Trade, init_db
|
||||
@@ -81,7 +81,13 @@ def patched_configuration_load_config_file(mocker, config) -> None:
|
||||
)
|
||||
|
||||
|
||||
def patch_exchange(mocker, api_mock=None, id='binance', mock_markets=True) -> None:
|
||||
def patch_exchange(
|
||||
mocker,
|
||||
api_mock=None,
|
||||
id='binance',
|
||||
mock_markets=True,
|
||||
mock_supported_modes=True
|
||||
) -> None:
|
||||
mocker.patch('freqtrade.exchange.Exchange._load_async_markets', MagicMock(return_value={}))
|
||||
mocker.patch('freqtrade.exchange.Exchange.validate_pairs', MagicMock())
|
||||
mocker.patch('freqtrade.exchange.Exchange.validate_timeframes', MagicMock())
|
||||
@@ -90,10 +96,22 @@ def patch_exchange(mocker, api_mock=None, id='binance', mock_markets=True) -> No
|
||||
mocker.patch('freqtrade.exchange.Exchange.id', PropertyMock(return_value=id))
|
||||
mocker.patch('freqtrade.exchange.Exchange.name', PropertyMock(return_value=id.title()))
|
||||
mocker.patch('freqtrade.exchange.Exchange.precisionMode', PropertyMock(return_value=2))
|
||||
|
||||
if mock_markets:
|
||||
mocker.patch('freqtrade.exchange.Exchange.markets',
|
||||
PropertyMock(return_value=get_markets()))
|
||||
|
||||
if mock_supported_modes:
|
||||
mocker.patch(
|
||||
f'freqtrade.exchange.{id.capitalize()}._supported_trading_mode_collateral_pairs',
|
||||
PropertyMock(return_value=[
|
||||
(TradingMode.MARGIN, Collateral.CROSS),
|
||||
(TradingMode.MARGIN, Collateral.ISOLATED),
|
||||
(TradingMode.FUTURES, Collateral.CROSS),
|
||||
(TradingMode.FUTURES, Collateral.ISOLATED)
|
||||
])
|
||||
)
|
||||
|
||||
if api_mock:
|
||||
mocker.patch('freqtrade.exchange.Exchange._init_ccxt', MagicMock(return_value=api_mock))
|
||||
else:
|
||||
@@ -101,8 +119,8 @@ def patch_exchange(mocker, api_mock=None, id='binance', mock_markets=True) -> No
|
||||
|
||||
|
||||
def get_patched_exchange(mocker, config, api_mock=None, id='binance',
|
||||
mock_markets=True) -> Exchange:
|
||||
patch_exchange(mocker, api_mock, id, mock_markets)
|
||||
mock_markets=True, mock_supported_modes=True) -> Exchange:
|
||||
patch_exchange(mocker, api_mock, id, mock_markets, mock_supported_modes)
|
||||
config['exchange']['name'] = id
|
||||
try:
|
||||
exchange = ExchangeResolver.load_exchange(id, config)
|
||||
@@ -442,7 +460,10 @@ def get_markets():
|
||||
'max': 500000,
|
||||
},
|
||||
},
|
||||
'info': {},
|
||||
'info': {
|
||||
'leverage_buy': ['2'],
|
||||
'leverage_sell': ['2'],
|
||||
},
|
||||
},
|
||||
'TKN/BTC': {
|
||||
'id': 'tknbtc',
|
||||
@@ -468,7 +489,10 @@ def get_markets():
|
||||
'max': 500000,
|
||||
},
|
||||
},
|
||||
'info': {},
|
||||
'info': {
|
||||
'leverage_buy': ['2', '3', '4', '5'],
|
||||
'leverage_sell': ['2', '3', '4', '5'],
|
||||
},
|
||||
},
|
||||
'BLK/BTC': {
|
||||
'id': 'blkbtc',
|
||||
@@ -493,7 +517,10 @@ def get_markets():
|
||||
'max': 500000,
|
||||
},
|
||||
},
|
||||
'info': {},
|
||||
'info': {
|
||||
'leverage_buy': ['2', '3'],
|
||||
'leverage_sell': ['2', '3'],
|
||||
},
|
||||
},
|
||||
'LTC/BTC': {
|
||||
'id': 'ltcbtc',
|
||||
@@ -518,7 +545,10 @@ def get_markets():
|
||||
'max': 500000,
|
||||
},
|
||||
},
|
||||
'info': {},
|
||||
'info': {
|
||||
'leverage_buy': [],
|
||||
'leverage_sell': [],
|
||||
},
|
||||
},
|
||||
'XRP/BTC': {
|
||||
'id': 'xrpbtc',
|
||||
@@ -596,7 +626,10 @@ def get_markets():
|
||||
'max': None
|
||||
}
|
||||
},
|
||||
'info': {},
|
||||
'info': {
|
||||
'leverage_buy': [],
|
||||
'leverage_sell': [],
|
||||
},
|
||||
},
|
||||
'ETH/USDT': {
|
||||
'id': 'USDT-ETH',
|
||||
@@ -712,6 +745,8 @@ def get_markets():
|
||||
'max': None
|
||||
}
|
||||
},
|
||||
'info': {
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user