def adjust_price(self, price, use_quote=True): """ Format the price according to the precision. @param use_quote True use quote display or quote, False base, None no symbol only price. """ if use_quote: precision = self._price_limits[ 3] or self._quote_precision # uses tick price if defined else quote precision else: precision = self._base_precision if not precision: if use_quote: # quote use value per pip precision = decimal_place(self.value_per_pip) else: # base use one pip mean alias tick size precision = decimal_place(self.one_pip_means) if not precision: precision = 8 tick_size = self._price_limits[2] or self.one_pip_means # adjusted price at precision and by step of pip meaning return truncate(round(price / tick_size) * tick_size, precision)
def adjust_price(self, price): """ Format the price according to the precision. """ precision = self._price_limits[3] or 8 tick_size = self._price_limits[2] or 0.00000001 # adjusted price at precision and by step of pip meaning return truncate(round(price / tick_size) * tick_size, precision)
def format_quantity(self, quantity): """ Return a quantity as str according to the precision of the step size. """ precision = self._size_limits[3] or self._quote_precision qty = "{:0.0{}f}".format(truncate(quantity, precision), precision) if '.' in qty: qty = qty.rstrip('0').rstrip('.') return qty
def format_price(self, price): """ Format the price according to the precision. @param use_quote True use quote display or quote, False base, None no symbol only price. """ formatted_price = "{:0.0{}f}".format(truncate(price, self._precision), self._precision) if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') return formatted_price
def format_alt_price(self, price): """ Format the price according to the precision. """ precision = self._alt_currency_precision formatted_price = "{:0.0{}f}".format(truncate(price, precision), precision) if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') return formatted_price
def adjust_price(self, price): """ Format the price according to the precision. @param use_quote True use quote display or quote, False base, None no symbol only price. """ precision = self._price_limits[3] or self._quote_precision if not precision: precision = decimal_place(self.value_per_pip) or 8 tick_size = self._price_limits[2] or self.one_pip_means # adjusted price at precision and by step of pip meaning return truncate(round(price / tick_size) * tick_size, precision)
def format_price(self, price): """ Format the price according to the precision. """ precision = self._price_limits[3] or 8 tick_size = self._price_limits[2] or 0.00000001 adjusted_price = truncate(round(price / tick_size) * tick_size, precision) formatted_price = "{:0.0{}f}".format(adjusted_price, precision) # remove tailing 0s and dot if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') return formatted_price
def format_base_price(self, price): """ Format the base price according to its precision. """ precision = self._base_precision if not precision: precision = decimal_place(self.one_pip_means) or 8 tick_size = self.one_pip_means or 1.0 adjusted_price = truncate( round(price / tick_size) * tick_size, precision) formatted_price = "{:0.0{}f}".format(adjusted_price, precision) # remove tailing 0s and dot if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') return formatted_price
def format_price(self, price, use_quote=True, display_symbol=False): """ Format the price according to the precision. @param use_quote True use quote display or quote, False base, None no symbol only price. """ if use_quote: precision = self._price_limits[ 3] or self._quote_precision # uses tick price if defined else quote precision else: precision = self._base_precision if not precision: if use_quote: # quote use value per pip precision = decimal_place(self.value_per_pip) else: # base use one pip mean alias tick size precision = decimal_place(self.one_pip_means) if not precision: precision = 8 tick_size = self._price_limits[2] or self.one_pip_means # adjusted price at precision and by step of pip meaning # adjusted_price = truncate(int(truncate(price, precision) / tick_size) * tick_size, precision) adjusted_price = truncate( round(price / tick_size) * tick_size, precision) formatted_price = "{:0.0{}f}".format(adjusted_price, precision) # remove tailing 0s and dot if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') if not display_symbol: return formatted_price if use_quote: return "%s%s" % (formatted_price, self._quote_display or self._quote) else: return "%s%s" % (formatted_price, self._base_display or self._base)
def format_price(self, price): """ Format the price according to its precision. """ precision = self._price_limits[3] or self._quote_precision if not precision: precision = decimal_place(self.value_per_pip) or 8 tick_size = self._price_limits[2] or self.one_pip_means # adjusted price at precision and by step of tick size adjusted_price = truncate( round(price / tick_size) * tick_size, precision) formatted_price = "{:0.0{}f}".format(adjusted_price, precision) # remove tailing 0s and dot if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') return formatted_price
def format_price(self, price, use_alt=True, display_symbol=False): """ Format the price according to the precision. @param use_quote True use currency display or alt currency, False base, None no symbol only price. """ if use_alt: precision = self._alt_currency_precision else: precision = self._currency_precision formatted_price = "{:0.0{}f}".format(truncate(price, precision), precision) if '.' in formatted_price: formatted_price = formatted_price.rstrip('0').rstrip('.') if not display_symbol: return formatted_price if use_alt: return "%s%s" % (formatted_price, self._alt_currency_display or self._alt_currency) else: return "%s%s" % (formatted_price, self._currency_display or self._currency)