def create_order(symbol, type, action, amount, price=None):
self.assertEqual("limit", type)
if symbol == "ETH/BTC":
- self.assertEqual("bid", action)
+ self.assertEqual("sell", action)
self.assertEqual(2, 3*amount)
self.assertEqual(D("0.14014"), price)
elif symbol == "XVG/BTC":
- self.assertEqual("bid", action)
+ self.assertEqual("sell", action)
self.assertEqual(1000, amount)
self.assertEqual(D("0.00003003"), price)
else:
self.assertEqual("sell", trades["XVG"].action)
# Action 6
- portfolio.Trade.prepare_orders(only="buy", compute_value=lambda x, y: x["ask"] * D("0.999"))
+ portfolio.Trade.prepare_orders(only="buy", compute_value=lambda x, y: x["ask"])
+
all_orders = portfolio.Trade.all_orders(state="pending")
self.assertEqual(3, len(all_orders))
- self.assertEqual(portfolio.Amount("ETC", D("15.4")), all_orders[0].amount)
- self.assertEqual(D("0.002997"), all_orders[0].rate)
- self.assertEqual("ask", all_orders[0].action)
- self.assertEqual(portfolio.Amount("BTD", D("9.7")), all_orders[1].amount)
- self.assertEqual(D("0.0011988"), all_orders[1].rate)
- self.assertEqual("ask", all_orders[1].action)
+ self.assertEqual(portfolio.Amount("ETC", D("38.5")/3), all_orders[0].amount)
+ self.assertEqual(D("0.003"), all_orders[0].rate)
+ self.assertEqual("buy", all_orders[0].action)
+
+ self.assertEqual(portfolio.Amount("BTD", D("24.25")/3), all_orders[1].amount)
+ self.assertEqual(D("0.0012"), all_orders[1].rate)
+ self.assertEqual("buy", all_orders[1].action)
+
self.assertEqual(portfolio.Amount("BTC", D("0.0097")), all_orders[2].amount)
- self.assertEqual(D("15984"), all_orders[2].rate)
- self.assertEqual("bid", all_orders[2].action)
+ self.assertEqual(D("16000"), all_orders[2].rate)
+ self.assertEqual("sell", all_orders[2].action)
with mock.patch.object(portfolio.time, "sleep") as sleep:
# Action 7