]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blobdiff - helper.py
Add main running file and fetch information from database
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / helper.py
index 87539f19e93f03cb0592e51b4b29a8d20f92d9ac..fa92ac71ab631d78f36ffeacc4ad1d94bfecb63f 100644 (file)
--- a/helper.py
+++ b/helper.py
@@ -74,7 +74,6 @@ def fetch_fees(market):
 
 def prepare_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", debug=False):
     ReportStore.log_stage("prepare_trades")
-    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, liquidity=liquidity)
@@ -84,7 +83,6 @@ def prepare_trades(market, base_currency="BTC", liquidity="medium", compute_valu
 
 def update_trades(market, base_currency="BTC", liquidity="medium", compute_value="average", only=None, debug=False):
     ReportStore.log_stage("update_trades")
-    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, liquidity=liquidity)
@@ -92,7 +90,6 @@ def update_trades(market, base_currency="BTC", liquidity="medium", compute_value
 
 def prepare_trades_to_sell_all(market, base_currency="BTC", compute_value="average", debug=False):
     ReportStore.log_stage("prepare_trades_to_sell_all")
-    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, repartition={ base_currency: (1, "long") })
@@ -120,6 +117,7 @@ def follow_orders(sleep=None):
 
 def print_orders(market, base_currency="BTC"):
     ReportStore.log_stage("print_orders")
+    BalanceStore.fetch_balances(market, tag="print_orders")
     prepare_trades(market, base_currency=base_currency, compute_value="average", debug=True)
     TradeStore.prepare_orders(compute_value="average")
 
@@ -129,38 +127,52 @@ def print_balances(market, base_currency="BTC"):
         ReportStore.print_log("total:")
         ReportStore.print_log(sum(BalanceStore.in_currency(base_currency, market).values()))
 
+def reset_all():
+    # use them as regular classes, sub-object of market
+    ReportStore.logs = []
+    BalanceStore.all = {}
+    TradeStore.all = []
+
 def process_sell_needed__1_sell(market, liquidity="medium", base_currency="BTC", debug=False):
     ReportStore.log_stage("process_sell_needed__1_sell_begin")
+    BalanceStore.fetch_balances(market, tag="process_sell_needed__1_sell_begin")
     prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
     TradeStore.prepare_orders(compute_value="average", only="dispose")
     TradeStore.run_orders()
     follow_orders()
+    BalanceStore.fetch_balances(market, tag="process_sell_needed__1_sell_end")
     ReportStore.log_stage("process_sell_needed__1_sell_end")
 
 def process_sell_needed__2_buy(market, liquidity="medium", base_currency="BTC", debug=False):
     ReportStore.log_stage("process_sell_needed__2_buy_begin")
+    BalanceStore.fetch_balances(market, tag="process_sell_needed__2_buy_begin")
     update_trades(market, base_currency=base_currency, liquidity=liquidity, debug=debug, only="acquire")
     TradeStore.prepare_orders(compute_value="average", only="acquire")
     move_balances(market, debug=debug)
     TradeStore.run_orders()
     follow_orders()
+    BalanceStore.fetch_balances(market, tag="process_sell_needed__2_buy_end")
     ReportStore.log_stage("process_sell_needed__2_buy_end")
 
 def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False, liquidity="medium"):
     ReportStore.log_stage("process_sell_all__1_all_sell_begin")
+    BalanceStore.fetch_balances(market, tag="process_sell_all__1_all_sell_begin")
     prepare_trades_to_sell_all(market, base_currency=base_currency, debug=debug)
     TradeStore.prepare_orders(compute_value="average")
     TradeStore.run_orders()
     follow_orders()
+    BalanceStore.fetch_balances(market, tag="process_sell_all__1_all_sell_end")
     ReportStore.log_stage("process_sell_all__1_all_sell_end")
 
 def process_sell_all__2_all_buy(market, base_currency="BTC", debug=False, liquidity="medium"):
     ReportStore.log_stage("process_sell_all__2_all_buy_begin")
+    BalanceStore.fetch_balances(market, tag="process_sell_all__2_all_buy_begin")
     prepare_trades(market, liquidity=liquidity, base_currency=base_currency, debug=debug)
     TradeStore.prepare_orders(compute_value="average")
     move_balances(market, debug=debug)
     TradeStore.run_orders()
     follow_orders()
+    BalanceStore.fetch_balances(market, tag="process_sell_all__2_all_buy_end")
     ReportStore.log_stage("process_sell_all__2_all_buy_end")