parent
8ae44c204e
commit
cde432fef0
@ -50,14 +50,6 @@ class Gate(Exchange):
|
|||||||
(TradingMode.FUTURES, MarginMode.ISOLATED)
|
(TradingMode.FUTURES, MarginMode.ISOLATED)
|
||||||
]
|
]
|
||||||
|
|
||||||
def validate_ordertypes(self, order_types: Dict) -> None:
|
|
||||||
|
|
||||||
if self.trading_mode != TradingMode.FUTURES:
|
|
||||||
if any(v == 'market' for k, v in order_types.items()):
|
|
||||||
raise OperationalException(
|
|
||||||
f'Exchange {self.name} does not support market orders.')
|
|
||||||
super().validate_stop_ordertypes(order_types)
|
|
||||||
|
|
||||||
def _get_params(
|
def _get_params(
|
||||||
self,
|
self,
|
||||||
side: BuySell,
|
side: BuySell,
|
||||||
|
@ -4,42 +4,9 @@ from unittest.mock import MagicMock
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from freqtrade.enums import MarginMode, TradingMode
|
from freqtrade.enums import MarginMode, TradingMode
|
||||||
from freqtrade.exceptions import OperationalException
|
|
||||||
from freqtrade.exchange import Gate
|
|
||||||
from freqtrade.resolvers.exchange_resolver import ExchangeResolver
|
|
||||||
from tests.conftest import EXMS, get_patched_exchange
|
from tests.conftest import EXMS, get_patched_exchange
|
||||||
|
|
||||||
|
|
||||||
def test_validate_order_types_gate(default_conf, mocker):
|
|
||||||
default_conf['exchange']['name'] = 'gate'
|
|
||||||
mocker.patch(f'{EXMS}._init_ccxt')
|
|
||||||
mocker.patch(f'{EXMS}._load_markets', return_value={})
|
|
||||||
mocker.patch(f'{EXMS}.validate_pairs')
|
|
||||||
mocker.patch(f'{EXMS}.validate_timeframes')
|
|
||||||
mocker.patch(f'{EXMS}.validate_stakecurrency')
|
|
||||||
mocker.patch(f'{EXMS}.validate_pricing')
|
|
||||||
mocker.patch(f'{EXMS}.name', 'Gate')
|
|
||||||
exch = ExchangeResolver.load_exchange('gate', default_conf, True)
|
|
||||||
assert isinstance(exch, Gate)
|
|
||||||
|
|
||||||
default_conf['order_types'] = {
|
|
||||||
'entry': 'market',
|
|
||||||
'exit': 'limit',
|
|
||||||
'stoploss': 'market',
|
|
||||||
'stoploss_on_exchange': False
|
|
||||||
}
|
|
||||||
|
|
||||||
with pytest.raises(OperationalException,
|
|
||||||
match=r'Exchange .* does not support market orders.'):
|
|
||||||
ExchangeResolver.load_exchange('gate', default_conf, True)
|
|
||||||
|
|
||||||
# market-orders supported on futures markets.
|
|
||||||
default_conf['trading_mode'] = 'futures'
|
|
||||||
default_conf['margin_mode'] = 'isolated'
|
|
||||||
ex = ExchangeResolver.load_exchange('gate', default_conf, True)
|
|
||||||
assert ex
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
def test_fetch_stoploss_order_gate(default_conf, mocker):
|
def test_fetch_stoploss_order_gate(default_conf, mocker):
|
||||||
exchange = get_patched_exchange(mocker, default_conf, id='gate')
|
exchange = get_patched_exchange(mocker, default_conf, id='gate')
|
||||||
|
Loading…
Reference in New Issue
Block a user