Beispiel #1
0
 def test_price(self, value, subclass, pips, frac_pips):
     if subclass is ValueError:
         with pytest.raises(ValueError):
             Price(value)
     else:
         price = Price(value)
         assert price.pips == pips
         assert FracPips.from_price(price) == frac_pips
         assert isinstance(price, BasePrice)
         assert isinstance(price, subclass)
 def test_frac_pips(self, frac_pips: FracPips, pair: Pair, price: Price):
     p1 = frac_pips.to_ratio_price(pair.quote.rounder)
     p2 = frac_pips.to_quote_price(pair.quote)
     p3 = frac_pips.to_pair_price(pair)
     fp = FracPips.from_price(price)
     assert isinstance(p1, BasePrice)
     assert isinstance(p2, BasePrice)
     assert isinstance(p3, BasePrice)
     assert isinstance(fp, FracPips)
     assert price == p1 == p2 == p3
     assert frac_pips == fp
Beispiel #3
0
 def c_fp(self) -> FracPips:
     """Closing price as Fractional Pips."""
     return FracPips.from_price(self.c)
Beispiel #4
0
 def l_fp(self) -> FracPips:
     """Low price as Fractional Pips."""
     return FracPips.from_price(self.l)
Beispiel #5
0
 def h_fp(self) -> FracPips:
     """High price as Fractional Pips."""
     return FracPips.from_price(self.h)
Beispiel #6
0
 def o_fp(self) -> FracPips:
     """Open price as Fractional Pips."""
     return FracPips.from_price(self.o)
Beispiel #7
0
 def price_to_y(self, price: Price) -> int:
     """Convert Price to y pixel coordinate."""
     return self.fp_to_y(FracPips.from_price(price))