Daemon script for the ehdtd package
The ehdtd-daemon is a Python script designed to collect historic and current data from exchanges and store it into a database (PostgreSQL or MySQL). It works in conjunction with the ehdtd package.
pip install --upgrade pip setuptools # This line is only necesary in some setups
pip install ehdtd_daemon
python ehdtd_daemon.py [options] command
python ehdtd_daemon.py start
sleep 900
python ehdtd_daemon.py stop
-h, --help
: Display this help message and exit.-c, --config=CONFIG_FILE
: Specify an alternative config file, Default is '/etc/ehdtd-daemon/ehdtd-daemon.yaml'
start
: Start the daemonstop
: Stop the daemon
The ehdtd-daemon.yaml configuration file follows a YAML (YAML Ain't Markup Language) format. It consists of several sections and parameters, allowing customization of the daemon's behavior.
The global configuration section defines settings that apply to the entire daemon operation.
log_dir: The directory path for log files. Default is /var/log/ehdtd-daemon.
run_dir: The directory path for runtime files. Default is /run/ehdtd-daemon.
debug: A boolean flag indicating whether to enable debug mode. Default is false.
The database configuration section defines parameters for connecting to the database.
db_type: The type of database used by the daemon. Supported options are postgresql, pgsql and mysql.
db_name: The name of the database.
db_user: The username used to connect to the database.
db_pass: The password used to authenticate the database user.
db_host: The hostname or IP address of the database server.
db_port: The port number on which the database server is listening.
The exchange configuration section defines parameters specific to each supported exchange.
trading_type: The type of trading supported by the exchange. Currently, only SPOT trading is supported.
fetch_data: A list of dictionaries, each specifying the symbol and interval for fetching data from the exchange.
symbol: The trading pair symbol.
interval: The time interval for fetching data, such as 1m for 1 minute or 5m for 5 minutes.
global:
log_dir: /var/log/ehdtd-daemon
run_dir: /run/ehdtd-daemon
debug: false
db_data:
db_type: postgresql
db_name: 'DB_NAME'
db_user: 'DB_USER'
db_pass: 'DB_PASS'
db_host: 'DB_HOST'
db_port: 'DB_PORT'
exchanges:
binance:
trading_type: SPOT
fetch_data:
- symbol: BTC/USDT
interval: '1m'
- symbol: BNB/USDT
interval: '1m'
- symbol: ETH/USDT
interval: '1m'
- symbol: LTC/USDT
interval: '1m'
- symbol: BTC/USDT
interval: '5m'
- symbol: BNB/USDT
interval: '5m'
- symbol: ETH/USDT
interval: '5m'
- symbol: LTC/USDT
interval: '5m'