Skip to content

Commit 17f561c

Browse files
committed
Refactor to new version of investing algorithm framework
1 parent aa6be70 commit 17f561c

File tree

4 files changed

+22
-1972
lines changed

4 files changed

+22
-1972
lines changed

finterion_investing_algorithm_framework/create_app.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from finterion import Finterion
44
from investing_algorithm_framework import create_app as framework_create_app, \
5-
Task, TimeUnit, App, MarketCredential
5+
Task, TimeUnit, App, MarketCredential, AppHook, Algorithm
66

77
from finterion_investing_algorithm_framework.market_service import \
88
FinterionMarketService
@@ -58,5 +58,11 @@ def run(self, algorithm):
5858
logger.debug("Pinging Finterion platform")
5959
client.ping()
6060

61-
app.add_task(PingTask)
61+
class PingAppHook(AppHook):
62+
63+
def on_run(self, app, algorithm: Algorithm):
64+
algorithm.add_task(PingTask)
65+
66+
# Register the ping task to the algorithm
67+
app.after_initialize(PingAppHook())
6268
return app

finterion_investing_algorithm_framework/market_service.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99

1010

1111
class FinterionMarketService(CCXTMarketService):
12-
12+
"""
13+
Finterion market service implementation.
14+
"""
1315
def cancel_order(self, order, market):
1416
pass
1517

@@ -87,14 +89,14 @@ def get_orders(self, symbol, market, since: datetime = None):
8789
return [self._convert_order(order) for order in orders]
8890

8991
def get_balance(self, market):
92+
"""
93+
Finterion implementation of get_balance.
94+
"""
9095
positions = self._finterion.get_positions()
91-
entries = {"free": {}}
96+
entries = {}
9297

9398
for position in positions:
94-
entries[position["symbol"]] = {
95-
"free": position["amount"],
96-
}
97-
entries["free"][position["symbol"]] = float(position["amount"])
99+
entries[position["symbol"]] = float(position["amount"])
98100

99101
return entries
100102

@@ -176,3 +178,6 @@ def _convert_order(self, finterion_order):
176178
order.updated_at = parser.parse(finterion_order.get("updated_at"))
177179

178180
return order
181+
182+
def get_symbols(self, market):
183+
return self._finterion.get_supported_symbols()

0 commit comments

Comments
 (0)