aboutsummaryrefslogtreecommitdiff
path: root/market.py
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2018-03-02 13:59:25 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2018-03-02 14:08:00 +0100
commit9db7d156833cd384baa64b6148b5c646bfcc41f8 (patch)
treed451957ff1d7f0473db6c15d1baa5a56e973832c /market.py
parent7bd830a83b662874c145ea9548edfde79eadc68f (diff)
downloadTrader-9db7d156833cd384baa64b6148b5c646bfcc41f8.tar.gz
Trader-9db7d156833cd384baa64b6148b5c646bfcc41f8.tar.zst
Trader-9db7d156833cd384baa64b6148b5c646bfcc41f8.zip
Add processors
Fixes https://git.immae.eu/mantisbt/view.php?id=45
Diffstat (limited to 'market.py')
-rw-r--r--market.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/market.py b/market.py
index ca365bd..3381d1e 100644
--- a/market.py
+++ b/market.py
@@ -128,20 +128,18 @@ class Market:
128 order.trade.update_order(order, tick) 128 order.trade.update_order(order, tick)
129 self.report.log_stage("follow_orders_end") 129 self.report.log_stage("follow_orders_end")
130 130
131 def prepare_trades(self, base_currency="BTC", liquidity="medium", compute_value="average", only=None): 131 def prepare_trades(self, base_currency="BTC", liquidity="medium",
132 compute_value="average", repartition=None, only=None):
133
132 self.report.log_stage("prepare_trades", 134 self.report.log_stage("prepare_trades",
133 base_currency=base_currency, liquidity=liquidity, 135 base_currency=base_currency, liquidity=liquidity,
134 compute_value=compute_value, only=only) 136 compute_value=compute_value, only=only,
135 values_in_base = self.balances.in_currency(base_currency, compute_value=compute_value) 137 repartition=repartition)
136 total_base_value = sum(values_in_base.values())
137 new_repartition = self.balances.dispatch_assets(total_base_value, liquidity=liquidity)
138 self.trades.compute_trades(values_in_base, new_repartition, only=only)
139 138
140 def prepare_trades_to_sell_all(self, base_currency="BTC", compute_value="average"): 139 values_in_base = self.balances.in_currency(base_currency,
141 self.report.log_stage("prepare_trades_to_sell_all") 140 compute_value=compute_value)
142 values_in_base = self.balances.in_currency(base_currency, compute_value=compute_value)
143 total_base_value = sum(values_in_base.values()) 141 total_base_value = sum(values_in_base.values())
144 new_repartition = self.balances.dispatch_assets(total_base_value, repartition={ base_currency: (1, "long") }) 142 new_repartition = self.balances.dispatch_assets(total_base_value,
145 self.trades.compute_trades(values_in_base, new_repartition) 143 liquidity=liquidity, repartition=repartition)
146 144 self.trades.compute_trades(values_in_base, new_repartition, only=only)
147 145