def move_balances(market, debug=False):
needed_in_margin = {}
+ for currency in BalanceStore.all:
+ if BalanceStore.all[currency].margin_free != 0:
+ needed_in_margin[currency] = 0
for trade in TradeStore.all:
+ if trade.value_to.currency not in needed_in_margin:
+ needed_in_margin[trade.value_to.currency] = 0
if trade.trade_type == "short":
- if trade.value_to.currency not in needed_in_margin:
- needed_in_margin[trade.value_to.currency] = 0
needed_in_margin[trade.value_to.currency] += abs(trade.value_to)
for currency, needed in needed_in_margin.items():
current_balance = BalanceStore.all[currency].margin_free
print("All orders finished")
def print_orders(market, base_currency="BTC"):
- prepare_trades(market, base_currency=base_currency, compute_value="average")
+ prepare_trades(market, base_currency=base_currency, compute_value="average", debug=True)
TradeStore.prepare_orders(compute_value="average")
for currency, balance in BalanceStore.all.items():
print(balance)
TradeStore.print_all_with_order()
-def make_orders(market, base_currency="BTC"):
- prepare_trades(market, base_currency=base_currency)
- for trade in TradeStore.all:
- print(trade)
- for order in trade.orders:
- print("\t", order, sep="")
- order.run()
+def print_balances(market, base_currency="BTC"):
+ BalanceStore.fetch_balances(market)
+ for currency, balance in BalanceStore.all.items():
+ print(balance)
+ if base_currency is not None:
+ 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)
+ TradeStore.prepare_orders(compute_value="average", only="dispose")
+ print("------------------")
+ for currency, balance in BalanceStore.all.items():
+ print(balance)
+ print("------------------")
+ TradeStore.print_all_with_order()
+ print("------------------")
+ 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")
+ TradeStore.prepare_orders(compute_value="average", only="acquire")
+ print("------------------")
+ for currency, balance in BalanceStore.all.items():
+ print(balance)
+ print("------------------")
+ TradeStore.print_all_with_order()
+ print("------------------")
+ move_balances(market, debug=debug)
+ TradeStore.run_orders()
+ follow_orders()
-def process_sell_all_sell(market, base_currency="BTC", debug=False):
- prepare_trades_to_sell_all(market, debug=debug)
+def process_sell_all__1_all_sell(market, base_currency="BTC", debug=False):
+ prepare_trades_to_sell_all(market, base_currency=base_currency, debug=debug)
TradeStore.prepare_orders(compute_value="average")
print("------------------")
for currency, balance in BalanceStore.all.items():
TradeStore.run_orders()
follow_orders()
-def process_sell_all_buy(market, base_currency="BTC", debug=False):
- prepare_trades(market, debug=debug)
+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()
print("------------------")
for currency, balance in BalanceStore.all.items():