Skip to content

Commit f720a54

Browse files
committed
[PricesManager] fix recent trade mark price overriding exchange mark price
1 parent 658792e commit f720a54

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

octobot_trading/exchange_data/prices/prices_manager.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,13 @@ def set_mark_price(self, mark_price, mark_price_source) -> bool:
7070

7171
# set mark price value if MarkPriceSources.RECENT_TRADE_AVERAGE.value has already been updated
7272
elif mark_price_source == enums.MarkPriceSources.RECENT_TRADE_AVERAGE.value:
73-
if self.mark_price_from_sources.get(enums.MarkPriceSources.RECENT_TRADE_AVERAGE.value, None) is not None:
74-
self._set_mark_price_value(mark_price)
75-
is_mark_price_updated = True
76-
else:
77-
# set time at 0 to ensure invalid price but keep track of initialization
78-
self.mark_price_from_sources[mark_price_source] = (mark_price, 0)
73+
if enums.MarkPriceSources.EXCHANGE_MARK_PRICE.value not in self.mark_price_from_sources:
74+
if self.mark_price_from_sources.get(enums.MarkPriceSources.RECENT_TRADE_AVERAGE.value, None) is not None:
75+
self._set_mark_price_value(mark_price)
76+
is_mark_price_updated = True
77+
else:
78+
# set time at 0 to ensure invalid price but keep track of initialization
79+
self.mark_price_from_sources[mark_price_source] = (mark_price, 0)
7980

8081
# set mark price value if other sources have expired
8182
elif mark_price_source in (enums.MarkPriceSources.TICKER_CLOSE_PRICE.value,

0 commit comments

Comments
 (0)