diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-03-02 13:59:25 +0100 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2018-03-02 14:08:00 +0100 |
commit | 9db7d156833cd384baa64b6148b5c646bfcc41f8 (patch) | |
tree | d451957ff1d7f0473db6c15d1baa5a56e973832c /market.py | |
parent | 7bd830a83b662874c145ea9548edfde79eadc68f (diff) | |
download | Trader-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.py | 22 |
1 files changed, 10 insertions, 12 deletions
@@ -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 | ||