Skip to content

Commit 8d064eb

Browse files
committed
[MarketMaking] make init more flexible
1 parent 7cdbd00 commit 8d064eb

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

Trading/Mode/market_making_trading_mode/market_making_trading.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,16 @@ async def get_forced_updater_channels(
191191
@classmethod
192192
def get_is_trading_on_exchange(cls, exchange_name, tentacles_setup_config) -> bool:
193193
"""
194-
returns True if exchange_name is not in price sources
194+
returns True if exchange_name is trading exchange or the hedging exchange
195+
"""
196+
return cls.has_trading_exchange_configuration(
197+
exchange_name, octobot_tentacles_manager.api.get_tentacle_config(tentacles_setup_config, cls)
198+
)
199+
200+
@classmethod
201+
def get_is_using_trading_mode_on_exchange(cls, exchange_name, tentacles_setup_config) -> bool:
202+
"""
203+
returns True if exchange_name is a trading exchange that is not the hedging exchange
195204
"""
196205
return cls.has_trading_exchange_configuration(
197206
exchange_name, octobot_tentacles_manager.api.get_tentacle_config(tentacles_setup_config, cls)
@@ -762,8 +771,8 @@ async def _handle_market_making_orders(
762771
outdated_orders = self._get_orders_to_cancel(sorted_orders, reference_price)
763772
if outdated_orders:
764773
self.logger.info(
765-
f"{len(outdated_orders)} outdated orders for {self.symbol} {self.exchange_manager.exchange_name}: "
766-
f"{[str(o) for o in outdated_orders]} [trigger source: {trigger_source}]"
774+
f"{len(outdated_orders)} outdated orders for {self.symbol} on {self.exchange_manager.exchange_name} (trigger_source: {trigger_source}): "
775+
f"{[str(o) for o in outdated_orders]}"
767776
)
768777

769778
# get ideal distribution
@@ -1071,12 +1080,11 @@ def _get_orders_to_cancel(
10711080
]
10721081

10731082
def _is_outdated(
1074-
self, price: decimal.Decimal, side: trading_enums.TradeOrderSide, reference_price: decimal.Decimal
1083+
self, order_price: decimal.Decimal, side: trading_enums.TradeOrderSide, reference_price: decimal.Decimal
10751084
) -> bool:
1076-
return (
1077-
(side == trading_enums.TradeOrderSide.BUY and price > reference_price)
1078-
or (side == trading_enums.TradeOrderSide.SELL and price < reference_price)
1079-
)
1085+
if side == trading_enums.TradeOrderSide.BUY:
1086+
return order_price > reference_price
1087+
return order_price < reference_price
10801088

10811089
def _sort_orders(self, open_orders: list) -> list:
10821090
"""
@@ -1292,7 +1300,7 @@ async def _get_reference_price(self) -> decimal.Decimal:
12921300
local_exchange_name, self.exchange_manager.id
12931301
):
12941302
exchange_manager = trading_api.get_exchange_manager_from_exchange_id(exchange_id)
1295-
if exchange_manager.is_trading and exchange_manager is not self.exchange_manager:
1303+
if exchange_manager.trading_modes and exchange_manager is not self.exchange_manager:
12961304
await self.sent_once_critical_notification(
12971305
"Configuration issue",
12981306
f"Multiple simultaneous trading exchanges is not supported on {self.trading_mode.get_name()}"

0 commit comments

Comments
 (0)