]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/commitdiff
Add liquidity to helper methods
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 19 Feb 2018 17:16:43 +0000 (18:16 +0100)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Mon, 19 Feb 2018 17:16:43 +0000 (18:16 +0100)
helper.py
test.py

index 3e39785d4bb1a75d5bde324403161ddc3dcc053a..23b2d0be4654cc483b4c81eb756b25f3cbe7c7ef 100644 (file)
--- a/helper.py
+++ b/helper.py
@@ -72,20 +72,20 @@ def fetch_fees(market):
         fees_cache[market.__class__] = market.fetch_fees()
     return fees_cache[market.__class__]
 
-def prepare_trades(market, base_currency="BTC", compute_value="average", debug=False):
+def prepare_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", debug=False):
     BalanceStore.fetch_balances(market)
     values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
     total_base_value = sum(values_in_base.values())
-    new_repartition = BalanceStore.dispatch_assets(total_base_value)
+    new_repartition = BalanceStore.dispatch_assets(total_base_value, liquidity=liquidity)
     # Recompute it in case we have new currencies
     values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
     TradeStore.compute_trades(values_in_base, new_repartition, market=market, debug=debug)
 
-def update_trades(market, base_currency="BTC", compute_value="average", only=None, debug=False):
+def update_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", only=None, debug=False):
     BalanceStore.fetch_balances(market)
     values_in_base = BalanceStore.in_currency(base_currency, market, compute_value=compute_value)
     total_base_value = sum(values_in_base.values())
-    new_repartition = BalanceStore.dispatch_assets(total_base_value)
+    new_repartition = BalanceStore.dispatch_assets(total_base_value, liquidity=liquidity)
     TradeStore.compute_trades(values_in_base, new_repartition, only=only, market=market, debug=debug)
 
 def prepare_trades_to_sell_all(market, base_currency="BTC", compute_value="average", debug=False):
@@ -126,8 +126,8 @@ def print_balances(market, base_currency="BTC"):
         print("total:")
         print(sum(BalanceStore.in_currency(base_currency, market).values()))
 
-def process_sell_needed__1_sell(market, base_currency="BTC", debug=False):
-    prepare_trades(market, base_currency=base_currency, debug=debug)
+def process_sell_needed__1_sell(market, liquidity="medium", base_currency="BTC", debug=False):
+    prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
     TradeStore.prepare_orders(compute_value="average", only="dispose")
     print("------------------")
     for currency, balance in BalanceStore.all.items():
@@ -138,8 +138,8 @@ def process_sell_needed__1_sell(market, base_currency="BTC", debug=False):
     TradeStore.run_orders()
     follow_orders()
 
-def process_sell_needed__2_buy(market, base_currency="BTC", debug=False):
-    update_trades(market, base_currency=base_currency, debug=debug, only="acquire")
+def process_sell_needed__2_buy(market, liquidity="medium", base_currency="BTC", debug=False):
+    update_trades(market, base_currency=base_currency, liquidity=liquidity, debug=debug, only="acquire")
     TradeStore.prepare_orders(compute_value="average", only="acquire")
     print("------------------")
     for currency, balance in BalanceStore.all.items():
@@ -151,7 +151,7 @@ def process_sell_needed__2_buy(market, base_currency="BTC", debug=False):
     TradeStore.run_orders()
     follow_orders()
 
-def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False):
+def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False, liquidity="medium"):
     prepare_trades_to_sell_all(market, base_currency=base_currency, debug=debug)
     TradeStore.prepare_orders(compute_value="average")
     print("------------------")
@@ -163,9 +163,9 @@ def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False):
     TradeStore.run_orders()
     follow_orders()
 
-def process_sell_all__2_all_buy(market, base_currency="BTC", debug=False):
-    prepare_trades(market, base_currency=base_currency, debug=debug)
-    TradeStore.prepare_orders()
+def process_sell_all__2_all_buy(market, base_currency="BTC", debug=False, liquidity="medium"):
+    prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
+    TradeStore.prepare_orders(compute_value="average")
     print("------------------")
     for currency, balance in BalanceStore.all.items():
         print(balance)
diff --git a/test.py b/test.py
index d58b2035af902c63609daf0857a2aaea2b42827f..93809ede78009c8db8d9ea62ad3a57120e431ce7 100644 (file)
--- a/test.py
+++ b/test.py
@@ -870,7 +870,7 @@ class HelperTest(WebMockTestCase):
                 }
         helper.process_sell_needed__1_sell(market)
         prepare_trades.assert_called_with(market, base_currency="BTC",
-                debug=False)
+                liquidity="medium", debug=False)
         prepare_orders.assert_called_with(compute_value="average",
                 only="dispose")
         print_all_with_order.assert_called()
@@ -903,7 +903,7 @@ class HelperTest(WebMockTestCase):
                 }
         helper.process_sell_needed__2_buy(market)
         update_trades.assert_called_with(market, base_currency="BTC",
-                debug=False, only="acquire")
+                debug=False, liquidity="medium", only="acquire")
         prepare_orders.assert_called_with(compute_value="average",
                 only="acquire")
         print_all_with_order.assert_called()
@@ -968,8 +968,8 @@ class HelperTest(WebMockTestCase):
                 }
         helper.process_sell_all__2_all_buy(market)
         prepare_trades.assert_called_with(market, base_currency="BTC",
-                debug=False)
-        prepare_orders.assert_called_with()
+                liquidity="medium", debug=False)
+        prepare_orders.assert_called_with(compute_value="average")
         print_all_with_order.assert_called()
         move_balances.assert_called_with(market, debug=False)
         run_orders.assert_called()