-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
52 lines (41 loc) · 1.51 KB
/
main.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
49
50
51
52
import asyncio
import logging
from decimal import Decimal
from tradingtools import assets
from tradingtools import utils
from tradingtools import visitors
from tradingtools import bot
from tradingtools import broker
from tradingtools import strategies
from tradingtools import data
from tradingtools.broker import exchanges, fillers
from tradingtools.data import dataloader
from tradingtools.utils import setup_signal_handlers, RunType
# Set up logging
terminal_handler = logging.StreamHandler()
terminal_handler.setFormatter(utils.ColoredLogFormatter())
logging.basicConfig(level=logging.INFO, handlers=[terminal_handler])
config = bot.BotConfig(
run_type=RunType.backtest,
strategy__config=strategies.StrategyConfig(type=strategies.StrategyTypes.dummy),
data_loader__config=dataloader.DataLoaderConfig(
type=dataloader.DataLoaderTypes.historical,
pairs=["BTC/USDT", "ETH/USDT", "DOT/USDT", "ADA/USDT", "XLM/USDT", "XRP/USDT"],
interval="1M",
burn_in_interval="300D",
hist__sleep_interval="0S",
max_history_interval="60M",
),
visitors__config=[
visitors.LogAssetVisitorConfig(visitors.AssetVisitorTypes.logger)
],
broker__config=broker.BrokerConfig(
filler__config=fillers.FillStrategyConfig(type=fillers.FillerTypes.marketorder),
exchange__config=exchanges.ExchangeConfig(type=exchanges.ExchangeTypes.dummy),
),
)
bot = bot.Bot(config)
loop = asyncio.get_event_loop()
setup_signal_handlers(loop)
bot.start(loop)
loop.run_forever()