nicolas
nicolas личный блог
16 января 2017, 23:52

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

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

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

17 Комментариев
  • spas911
    17 января 2017, 00:10
    А не проще видос снять? А то этот птичий язык малопонятен. А вообще то тема нужная. На фортсе работает?
    • Дмитрий Ш
      17 января 2017, 00:29
      spas911, О, на видосах-то и язык понятнее, и темы обычно ещё нужнее..
      Не призывайте лучше к развитию тупиковой ветви.
  • Зарабатывающий Юзер
    17 января 2017, 01:09
    вымученный муторный  (((
  • Саша
    17 января 2017, 07:13
    Огромное спасибо!
  • mrAndrew
    17 января 2017, 09:34
    Здравствуйте! У меня ошибка вылезла «no such table: fifo_short_2» что не так сделал?
      • mrAndrew
        17 января 2017, 10:38
        nicolas, а папка со скриптом в папке квика? 
          • mrAndrew
            17 января 2017, 10:45
            nicolas, странно вроде все сделал как вы описали, positions2.db лежит в папке размер 61440 но ошибка вылазит :(
              • mrAndrew
                17 января 2017, 12:17
                nicolas, возможно с версией связано :(
  • mrAndrew
    17 января 2017, 12:54
     Спасибо! Очень помог! Все работает!
  • nazhiva
    17 января 2017, 13:57
    1.работает ли с единым счетом в Открытии?
    2. работает ли с фортс?
  • Андрей Корнев
    17 января 2017, 14:49
    Вылезает ошибка ...\Quik_Open\TradeHistory-master\TradeHistory_FIFO.lua:256: attempt to concatenate field 'trans_id' (a nil value)  что с этим делать ?
  • nazhiva
    17 января 2017, 15:46
    спасибо на БКС работает, на едином счете в Открытии не получилось запустить(

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн