Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_TradingCompetition2022-main/account/AccountBuilder.py
5931 views
1
from account.Account import Account
2
from account.SandboxAccount import SandBoxAccount
3
from decimal import Decimal
4
from logger.LoggerFactory import LoggerFactory
5
from logger.BusinessLogger import BusinessLogger
6
7
8
class AccountBuilder:
9
10
@classmethod
11
def build_account(cls, client, config):
12
combat_mode = True if config.get(section='main', option='combat_mode') == 'True' else False
13
account_id = config.get(section='main', option='account')
14
daily_limit = config.get(section='TradingStrategy', option='daily_limit')
15
daily_drop_limit = config.get(section='TradingStrategy', option='daily_drop_limit')
16
if combat_mode is True:
17
# combat_mode Account class
18
account = Account(client=client, account_id=account_id)
19
else:
20
# Sandbox version of account class
21
account = SandBoxAccount(client=client, account_id=account_id)
22
account.set_daily_limit(Decimal(daily_limit))
23
account.set_daily_drop_limit(Decimal(daily_drop_limit))
24
# Log data
25
LoggerFactory.get_business_logger_instance().add_event(BusinessLogger.ACCOUNT_STARTED, account, account)
26
return account
27
28