|
|
|
@ -54,7 +54,7 @@ class Money(util.Base):
|
|
|
|
|
rates = self.cr.get_rates("USD")
|
|
|
|
|
return rates
|
|
|
|
|
|
|
|
|
|
def get_acceptable_margins(self, currency, amount):
|
|
|
|
|
def get_acceptable_margins(self, platform, currency, amount):
|
|
|
|
|
"""
|
|
|
|
|
Get the minimum and maximum amounts we would accept a trade for.
|
|
|
|
|
:param currency: currency code
|
|
|
|
@ -62,29 +62,31 @@ class Money(util.Base):
|
|
|
|
|
:return: (min, max)
|
|
|
|
|
:rtype: tuple
|
|
|
|
|
"""
|
|
|
|
|
sets = util.get_settings(platform)
|
|
|
|
|
rates = self.get_rates_all()
|
|
|
|
|
if currency == "USD":
|
|
|
|
|
min_amount = amount - float(settings.Agora.AcceptableUSDMargin)
|
|
|
|
|
max_amount = amount + float(settings.Agora.AcceptableUSDMargin)
|
|
|
|
|
min_amount = amount - float(sets.AcceptableUSDMargin)
|
|
|
|
|
max_amount = amount + float(sets.AcceptableUSDMargin)
|
|
|
|
|
return (min_amount, max_amount)
|
|
|
|
|
amount_usd = amount / rates[currency]
|
|
|
|
|
min_usd = amount_usd - float(settings.Agora.AcceptableUSDMargin)
|
|
|
|
|
max_usd = amount_usd + float(settings.Agora.AcceptableUSDMargin)
|
|
|
|
|
min_usd = amount_usd - float(sets.AcceptableUSDMargin)
|
|
|
|
|
max_usd = amount_usd + float(sets.AcceptableUSDMargin)
|
|
|
|
|
min_local = min_usd * rates[currency]
|
|
|
|
|
max_local = max_usd * rates[currency]
|
|
|
|
|
return (min_local, max_local)
|
|
|
|
|
|
|
|
|
|
def get_minmax(self, asset, currency):
|
|
|
|
|
def get_minmax(self, platform, asset, currency):
|
|
|
|
|
sets = util.get_settings(platform)
|
|
|
|
|
rates = self.get_rates_all()
|
|
|
|
|
if currency not in rates and not currency == "USD":
|
|
|
|
|
self.log.error(f"Can't create ad without rates: {currency}")
|
|
|
|
|
return
|
|
|
|
|
if asset == "XMR":
|
|
|
|
|
min_usd = float(settings.Agora.MinUSDXMR)
|
|
|
|
|
max_usd = float(settings.Agora.MaxUSDXMR)
|
|
|
|
|
min_usd = float(sets.MinUSDXMR)
|
|
|
|
|
max_usd = float(sets.MaxUSDXMR)
|
|
|
|
|
elif asset == "BTC":
|
|
|
|
|
min_usd = float(settings.Agora.MinUSDBTC)
|
|
|
|
|
max_usd = float(settings.Agora.MaxUSDBTC)
|
|
|
|
|
min_usd = float(sets.MinUSDBTC)
|
|
|
|
|
max_usd = float(sets.MaxUSDBTC)
|
|
|
|
|
if currency == "USD":
|
|
|
|
|
min_amount = min_usd
|
|
|
|
|
max_amount = max_usd
|
|
|
|
|