Блог им. 1823244

Журнал истории сделок и открытых позиций

Не для пиара, а на пользу коллегам публикую журнал сделок и открытых позиций для квика.

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 из-за ежедневных клирингов эту цену показать не может. Открывать, закрывать сделки, ставить тейки, стопы и трейлинги скрипт не способен, но т.к. код открыт, то можете доделать сами любой нужный вам функционал.

  • Ведение сделок в разрезе комментариев.

Если при открытии позиции был указан комментарий, то закрывать позицию следует также с указанием этого комментария. В противном случае откроется противоположная позиция.

 

Известные проблемы.

  1. На валютной секции не реализована поставка валюты. Т.е. если вы купили TOM, то скрипт откроет позицию по нему. Если на следующий день продадите эту валюту в TOD, то у вас откроется шорт в TODe, а TOM так и останется непроданным.

 

Сторонние библиотеки.

Скрипт использует 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

★36

А не проще видос снять? А то этот птичий язык малопонятен. А вообще то тема нужная. На фортсе работает?
avatar

spas911

spas911, О, на видосах-то и язык понятнее, и темы обычно ещё нужнее..
Не призывайте лучше к развитию тупиковой ветви.
avatar

Дмитрий Ш

вымученный муторный  (((
Огромное спасибо!
avatar

Саша

Здравствуйте! У меня ошибка вылезла «no such table: fifo_short_2» что не так сделал?
avatar

mrAndrew

mrAndrew, проверьте, чтобы файл positions2.db лежал в папке со скриптом. Если он нулевого размера, значит нужно скачать его еще раз с github.
avatar

nicolas

nicolas, а папка со скриптом в папке квика? 
avatar

mrAndrew

mrAndrew, нет, это не обязательно. в папке квика только две dll-ки
avatar

nicolas

nicolas, странно вроде все сделал как вы описали, positions2.db лежит в папке размер 61440 но ошибка вылазит :(
avatar

mrAndrew

mrAndrew, мистика какая-то. у меня работает. я скачал весь проект с гитхаба для проверки и он нормально запускается и фиксирует сделки. только что проверил. квик 7.2.1.5, не знаю, важна ли версия или нет.
avatar

nicolas

nicolas, возможно с версией связано :(
avatar

mrAndrew

разобрались. если меняете путь к базе, то учитывайте синтаксис Lua (вместо одного слэша нужно писать 2)
avatar

nicolas

 Спасибо! Очень помог! Все работает!
avatar

mrAndrew

1.работает ли с единым счетом в Открытии?
2. работает ли с фортс?
avatar

nazhiva

nazhiva, 
1.работает ли с единым счетом в Открытии? — да. Нет разницы, ЕДС это или нет.
2. работает ли с фортс? — да. изначально проект разрабатывался, чтобы учитывать текущую позицию на ФОРТС (чтобы клиринги не мешали видеть реальный профит/лосс)
avatar

nicolas

Вылезает ошибка ...\Quik_Open\TradeHistory-master\TradeHistory_FIFO.lua:256: attempt to concatenate field 'trans_id' (a nil value)  что с этим делать ?
avatar

Андрей Корнев

спасибо на БКС работает, на едином счете в Открытии не получилось запустить(

avatar

nazhiva


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW