Не для пиара, а на пользу коллегам публикую журнал сделок и открытых позиций для квика.
https://github.com/9159340/TradeHistory
главный файл — TradeHistory.lua
Ниже — описание из документации.
Таблица открытых позиций.
Внешний вид
Колонки
Account – код брокерского счета
Comment – комментарий из сделки.
secCode – код инструмента
classCode – код класса
tradeNumber – номер сделки, используется только в таблице закрытых позиций
Перечисленные выше колонки – это разрезы учета сделок. Подробнее о работе с комментариями смотрите в разделе «Возможности».
lot – размер лота
dateOpen – дата открытия позиции (самой первой сделки)
timeOpen – время открытия позиции (самой первой сделки)
operation – направление buy/sell
quantity – количество лотов
amount – балансовая стоимость позиции
priceOpen – средняя цена открытия
dateClose – дата закрытия позиции, заполнена только в таблице закрытых
timeClose – время закрытия позиции, заполнено только в таблице закрытых
priceClose – цена закрытия. Колонка обновляется из цен bid/ask, пока идут торги, и цены last, когда торги завершены.
qtyClose – количество, на которое закрыта позиция. В таблице открытых позиций это всегда общее количество в позиции, в таблице закрытых – фактическое количество из сделки, которая закрыла позицию.
Profitpt – прибыль в валюте цены (пунктах). Рассчитывается относительно количества, закрывающего позицию.
profit % — прибыль в процентах (
priceOfStep – стоимость шага цены (для фьючерсов и опционов)
profit – прибыль в рублях (Profitpt * priceOfStep)
commission – комиссия брокера. Для информации. Пока не доделано, отображается только комиссия открывающей сделки на ФОРТС.
Accrual – НКД.
Days – количество дней в позиции.
buyDepo – ГО покупателя
sellDepo – ГО продавца
timeUpdate – время последнего обновления цены закрытия (priceClose).
В последней строке отображается сумма ГО по позициям на ФОРТС.
Двойной щелчок на строке с позицией открывает таблицу с детализацией позиции до сделок.
Таблица закрытых позиций.
Открывается по двойному щелчку на первой строке таблицы открытых позиций, там, где написано «Click here to show closed positions».
Внешний вид ее аналогичен таблице открытых позиций, но заполнены колонки dateClose, timeClose.
В колонке qtyClose отображается фактическое количество, на которое была закрыта позиция. В примере ниже видно, что позиция из двух контрактов была закрыта двумя сделками.
Возможности.
В первую очередь скрипт предназначен для отображения текущих позиций на ФОРТС с реальной ценой входа, т.к. QUIK из-за ежедневных клирингов эту цену показать не может. Открывать, закрывать сделки, ставить тейки, стопы и трейлинги скрипт не способен, но т.к. код открыт, то можете доделать сами любой нужный вам функционал.
Если при открытии позиции был указан комментарий, то закрывать позицию следует также с указанием этого комментария. В противном случае откроется противоположная позиция.
Известные проблемы.
Сторонние библиотеки.
Скрипт использует 2 dll.
1 sqlite3.dll
https://sqlite.org/download.html
Это микро-субд, обладающая почти всеми возможностями более серьезных, например MS SQL
2 lsqlite3.dll
Обертка над sqlite3.dll
http://lua.sqlite.org/index.cgi/index
для самостоятельной компиляции лучше воспользоваться системой luarocks.
Подробный процесс компиляции смотрите в файле Trade History developers guide.docx
Оба файла нужно положить в папку QUIK.
Настройки
Настройки находятся в файле TradeHistory_settings.lua.
function Settings:Init()
self.db_path = getScriptPath()… "\\positions2.db" — здесь указываем путь к базе данных
self.dark_theme = true — включаем темную (true) или светлую (false) тему
self.show_total_collateral_on_forts = true — показывать итоговое ГО на фортс в последней строке
end
Не призывайте лучше к развитию тупиковой ветви.
2. работает ли с фортс?
1.работает ли с единым счетом в Открытии? — да. Нет разницы, ЕДС это или нет.
2. работает ли с фортс? — да. изначально проект разрабатывался, чтобы учитывать текущую позицию на ФОРТС (чтобы клиринги не мешали видеть реальный профит/лосс)