-
Notifications
You must be signed in to change notification settings - Fork 11
/
trader.py
executable file
·48 lines (36 loc) · 1.06 KB
/
trader.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/env python3
"""
Trading bot
"""
import logging
from bors.app.strategy import Strategy
from bors.strategies.print import Print
from nombot.app.builder import NomAppBuilder
from nombot.app.config import NomAppConf
from nombot.api.services.ccxt import CCXTApi
try:
import coloredlogs
coloredlogs.install()
except ImportError:
print("Use Python coloredlogs module for colored output")
logging.basicConfig(level=logging.DEBUG)
def main(strategies=None, apiclasses=None, configfile=None):
"""Main routine"""
# instantiate this first to avoid weird errors
if strategies is None:
strategies = [
Print(),
]
if apiclasses is None:
apiclasses = [CCXTApi]
# Roll out pipeline
configfile = "config.json" if configfile is None else configfile
with open(configfile) as json_data:
config = json_data.read()
app_conf = NomAppConf(config)
strat = Strategy(*strategies)
impl = NomAppBuilder(apiclasses, strat, app_conf)
# Run
impl.run()
if __name__ == "__main__":
main()