SyncTradeSQL
- Утилиты
- Maxim Kuznetsov
- Версия: 1.0
Скрипт для быстрого обновления (синхронизации) актуальных данных в базу SQLite. Сохраняет открытые позиции и ордера, текущие котировки.
Воспользуйтесь возможностями SQLite для промежуточного хранения данных, аналитики и интеграций платформы MetaTrader. Сохраняйте все данные в едином месте.
Используйте сохранённые данные в аналитических запросах SQL, из Питон и других языков, для построения dash-boards
Параметры
- useDefaults true - использовать параметры по умолчанию. Сохранять данные в иерархию COMMON, в каталог db/ram/{имя_сервера}.{номер_аккаунта}.trade.db
вы можете указать useDefaults=false и задать свои параметры сохранения:
- useCommon - использовать общую иерерхию COMMON или каталог данных текущего терминала
- useFolder - каталог для сохранения базы
- useFilename - имя базы данных внутри каталога
Схема базы данных
База содержит необходимый минимум, в стиле mt4 и адаптирована для частых изменений. После создания базы скриптом, вы можете внести в неё свои коррективы (добавить индексы, вычислимые поля, дополнительные данные и таблицы)
CREATE TABLE IF NOT EXISTS Trade ( ticket INT PRIMARY KEY, symbol VARCHAR(16), 'type' VARCHAR(16), lots REAL, openPrice REAL, stopLoss REAL, takeProfit REAL, price REAL, 'time' DATETIME, closeTime DATETIME, expiration DATETIME, profit REAL, swap REAL, commission REAL, magic INT , 'comment' VARCHAR(255) ) WITHOUT ROWID
и
CREATE TABLE IF NOT EXISTS Watch ( name VARCHAR(16) PRIMARY KEY, 'time' DATETIME, bid REAL, ask REAL, spread INTEGER, stopLevel INTEGER, tickValue REAL ) WITHOUT ROWID
Использование
Просто запустите скрипт, когда вам нужно получить данные.
Для оптимизации, я рекомендую каталог db/ram помещать на ram-диск
