]>
git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blob - main.py
6 from datetime
import datetime
8 import portfolio
, market
10 parser
= argparse
.ArgumentParser(
11 description
="Run the trade bot")
13 parser
.add_argument("-c", "--config",
16 help="Config file to load (default: config.ini)")
17 parser
.add_argument("--before",
18 default
=False, action
='store_const', const
=True,
19 help="Run the steps before the cryptoportfolio update")
20 parser
.add_argument("--after",
21 default
=False, action
='store_const', const
=True,
22 help="Run the steps after the cryptoportfolio update")
23 parser
.add_argument("--debug",
24 default
=False, action
='store_const', const
=True,
25 help="Run in debug mode")
27 args
= parser
.parse_args()
29 if not os
.path
.exists(args
.config
):
30 print("no config file found, exiting")
33 config
= configparser
.ConfigParser()
34 config
.read(args
.config
)
36 pg_config
= config
["postgresql"]
38 connection
= psycopg2
.connect(**pg_config
)
39 cursor
= connection
.cursor()
41 cursor
.execute("SELECT config,user_id FROM market_configs")
43 report_path
= config
["app"]["report_path"]
44 if not os
.path
.exists(report_path
):
45 os
.makedirs(report_path
)
48 market_config
, user_id
= row
50 user_market
= market
.get_market(market_config
)
52 portfolio
.h
.process_sell_all__1_all_sell(user_market
, debug
=args
.debug
)
54 portfolio
.Portfolio
.wait_for_recent()
55 portfolio
.h
.process_sell_all__2_all_buy(user_market
, debug
=args
.debug
)
56 except Exception as e
:
60 report_file
= "{}/{}_{}.json".format(report_path
, datetime
.now().isoformat(), user_id
)
61 with open(report_file
, "w") as f
:
62 f
.write(portfolio
.ReportStore
.to_json())
63 portfolio
.h
.reset_all()