diff --git a/btsprice/feedapi.py b/btsprice/feedapi.py index ec642d1..5e8775a 100644 --- a/btsprice/feedapi.py +++ b/btsprice/feedapi.py @@ -113,16 +113,17 @@ def init_chain_info(self): def encode_feed(self, asset, price, bts_price, custom={}): feed_info = self.feed_temple.copy() - feed_info["settlement_price"]["base"]["asset_id"] = \ - self.asset_info[asset]["id"] - feed_info["core_exchange_rate"]["base"]["asset_id"] = \ - self.asset_info[asset]["id"] + feed_info["settlement_price"]["base"]["asset_id"] = self.asset_info[asset]["id"] + feed_info["core_exchange_rate"]["base"]["asset_id"] = self.asset_info[asset]["id"] if "maintenance_collateral_ratio" in custom: - feed_info["maintenance_collateral_ratio"] = \ - custom["maintenance_collateral_ratio"] + feed_info["maintenance_collateral_ratio"] = custom["maintenance_collateral_ratio"] if "maximum_short_squeeze_ratio" in custom: - feed_info["maximum_short_squeeze_ratio"] = \ - custom["maximum_short_squeeze_ratio"] + feed_info["maximum_short_squeeze_ratio"] = custom["maximum_short_squeeze_ratio"] + + if 'min_price' in custom: + pmin = float(custom["min_price"]) + if price < pmin: + price = pmin bts_quote_precision = self.asset_info[self.quote_asset]["precision"] if "quote_asset" in custom: diff --git a/btsprice/feedprice.py b/btsprice/feedprice.py index ffaeff7..e04fc5f 100644 --- a/btsprice/feedprice.py +++ b/btsprice/feedprice.py @@ -298,15 +298,13 @@ def check_publish(self, asset_list, my_feeds, real_price): if asset not in my_feeds: need_publish[asset] = real_price[asset] continue - change = fabs(my_feeds[asset]["price"] - real_price[asset]) * \ - 100.0 / my_feeds[asset]["price"] + change = fabs(my_feeds[asset]["price"] - real_price[asset]) * 100.0 / my_feeds[asset]["price"] if change >= self.config["price_limit"]["change_max"]: continue if asset not in my_feeds: need_publish[asset] = real_price[asset] continue - if time.time() - my_feeds[asset]["timestamp"] > \ - self.feedapi.asset_info[asset]["feed_lifetime_sec"] - 600: + if time.time() - my_feeds[asset]["timestamp"] > self.feedapi.asset_info[asset]["feed_lifetime_sec"] - 600: need_publish[asset] = real_price[asset] continue if change > self.config["price_limit"]["change_min"]: diff --git a/btsprice/metadata.py b/btsprice/metadata.py index d6871bc..0c9b4c3 100644 --- a/btsprice/metadata.py +++ b/btsprice/metadata.py @@ -8,7 +8,7 @@ package = 'btsprice' project = "btsprice" project_no_spaces = project.replace(' ', '') -version = '0.3.1' +version = '0.3.2' description = 'get price for BitShares' authors = ['Alt','Necklace'] authors_string = ', '.join(authors) diff --git a/config.json.sample b/config.json.sample index cc6b29c..7130a19 100644 --- a/config.json.sample +++ b/config.json.sample @@ -55,7 +55,8 @@ "maintenance_collateral_ratio": 1750, "maximum_short_squeeze_ratio": 1100, "quote_asset": "BTS", - "quote_asset_id": "1.3.0" + "quote_asset_id": "1.3.0", + "min_price":0 }, "GCNY": { "core_exchange_factor": 1.20,