Added property _ft_has_default.ccxt_futures_name and removed subclass ccxt_config properties
This commit is contained in:
parent
2e451da08f
commit
3d86b18492
@ -27,6 +27,7 @@ class Binance(Exchange):
|
|||||||
"trades_pagination": "id",
|
"trades_pagination": "id",
|
||||||
"trades_pagination_arg": "fromId",
|
"trades_pagination_arg": "fromId",
|
||||||
"l2_limit_range": [5, 10, 20, 50, 100, 500, 1000],
|
"l2_limit_range": [5, 10, 20, 50, 100, 500, 1000],
|
||||||
|
"ccxt_futures_name": "future"
|
||||||
}
|
}
|
||||||
funding_fee_times: List[int] = [0, 8, 16] # hours of the day
|
funding_fee_times: List[int] = [0, 8, 16] # hours of the day
|
||||||
# but the schedule won't check within this timeframe
|
# but the schedule won't check within this timeframe
|
||||||
@ -38,24 +39,6 @@ class Binance(Exchange):
|
|||||||
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
||||||
]
|
]
|
||||||
|
|
||||||
@property
|
|
||||||
def _ccxt_config(self) -> Dict:
|
|
||||||
# Parameters to add directly to ccxt sync/async initialization.
|
|
||||||
if self.trading_mode == TradingMode.MARGIN:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "margin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elif self.trading_mode == TradingMode.FUTURES:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "future"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else:
|
|
||||||
return {}
|
|
||||||
|
|
||||||
def stoploss_adjust(self, stop_loss: float, order: Dict, side: str) -> bool:
|
def stoploss_adjust(self, stop_loss: float, order: Dict, side: str) -> bool:
|
||||||
"""
|
"""
|
||||||
Verify stop_loss against stoploss-order value (limit or price)
|
Verify stop_loss against stoploss-order value (limit or price)
|
||||||
|
@ -21,6 +21,7 @@ class Bybit(Exchange):
|
|||||||
|
|
||||||
_ft_has: Dict = {
|
_ft_has: Dict = {
|
||||||
"ohlcv_candle_limit": 200,
|
"ohlcv_candle_limit": 200,
|
||||||
|
"ccxt_futures_name": "linear"
|
||||||
}
|
}
|
||||||
|
|
||||||
funding_fee_times: List[int] = [0, 8, 16] # hours of the day
|
funding_fee_times: List[int] = [0, 8, 16] # hours of the day
|
||||||
|
@ -69,6 +69,7 @@ class Exchange:
|
|||||||
"trades_pagination_arg": "since",
|
"trades_pagination_arg": "since",
|
||||||
"l2_limit_range": None,
|
"l2_limit_range": None,
|
||||||
"l2_limit_range_required": True, # Allow Empty L2 limit (kucoin)
|
"l2_limit_range_required": True, # Allow Empty L2 limit (kucoin)
|
||||||
|
"ccxt_futures_name": "swap"
|
||||||
}
|
}
|
||||||
_ft_has: Dict = {}
|
_ft_has: Dict = {}
|
||||||
|
|
||||||
@ -234,6 +235,19 @@ class Exchange:
|
|||||||
@property
|
@property
|
||||||
def _ccxt_config(self) -> Dict:
|
def _ccxt_config(self) -> Dict:
|
||||||
# Parameters to add directly to ccxt sync/async initialization.
|
# Parameters to add directly to ccxt sync/async initialization.
|
||||||
|
if self.trading_mode == TradingMode.MARGIN:
|
||||||
|
return {
|
||||||
|
"options": {
|
||||||
|
"defaultType": "margin"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elif self.trading_mode == TradingMode.FUTURES:
|
||||||
|
return {
|
||||||
|
"options": {
|
||||||
|
"defaultType": self._ft_has["ccxt_futures_name"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else:
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -35,24 +35,6 @@ class Gateio(Exchange):
|
|||||||
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
||||||
]
|
]
|
||||||
|
|
||||||
@property
|
|
||||||
def _ccxt_config(self) -> Dict:
|
|
||||||
# Parameters to add directly to ccxt sync/async initialization.
|
|
||||||
if self.trading_mode == TradingMode.MARGIN:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "margin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elif self.trading_mode == TradingMode.FUTURES:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "swap"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else:
|
|
||||||
return {}
|
|
||||||
|
|
||||||
def validate_ordertypes(self, order_types: Dict) -> None:
|
def validate_ordertypes(self, order_types: Dict) -> None:
|
||||||
super().validate_ordertypes(order_types)
|
super().validate_ordertypes(order_types)
|
||||||
|
|
||||||
|
@ -25,21 +25,3 @@ class Okex(Exchange):
|
|||||||
# (TradingMode.FUTURES, Collateral.CROSS), # TODO-lev: Uncomment once supported
|
# (TradingMode.FUTURES, Collateral.CROSS), # TODO-lev: Uncomment once supported
|
||||||
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
# (TradingMode.FUTURES, Collateral.ISOLATED) # TODO-lev: Uncomment once supported
|
||||||
]
|
]
|
||||||
|
|
||||||
@property
|
|
||||||
def _ccxt_config(self) -> Dict:
|
|
||||||
# Parameters to add directly to ccxt sync/async initialization.
|
|
||||||
if self.trading_mode == TradingMode.MARGIN:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "margin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elif self.trading_mode == TradingMode.FUTURES:
|
|
||||||
return {
|
|
||||||
"options": {
|
|
||||||
"defaultType": "swap"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else:
|
|
||||||
return {}
|
|
||||||
|
@ -3253,13 +3253,6 @@ def test_validate_trading_mode_and_collateral(
|
|||||||
("binance", "spot", {}),
|
("binance", "spot", {}),
|
||||||
("binance", "margin", {"options": {"defaultType": "margin"}}),
|
("binance", "margin", {"options": {"defaultType": "margin"}}),
|
||||||
("binance", "futures", {"options": {"defaultType": "future"}}),
|
("binance", "futures", {"options": {"defaultType": "future"}}),
|
||||||
("kraken", "spot", {}),
|
|
||||||
("kraken", "margin", {}),
|
|
||||||
("kraken", "futures", {}),
|
|
||||||
("ftx", "spot", {}),
|
|
||||||
("ftx", "margin", {}),
|
|
||||||
("ftx", "futures", {}),
|
|
||||||
("bittrex", "spot", {}),
|
|
||||||
("gateio", "spot", {}),
|
("gateio", "spot", {}),
|
||||||
("gateio", "margin", {"options": {"defaultType": "margin"}}),
|
("gateio", "margin", {"options": {"defaultType": "margin"}}),
|
||||||
("gateio", "futures", {"options": {"defaultType": "swap"}}),
|
("gateio", "futures", {"options": {"defaultType": "swap"}}),
|
||||||
|
Loading…
Reference in New Issue
Block a user