Блог им. kurd |Скрипты Lua в Quik'е могут строить свою доску опционов - как от Мосбиржи

В скриптах напрямую доступны все данные Quik'а, кроме греков с доски опционов. Но есть возможность рассчитывать их по формуле Блэка-Шоулза, исходя из доступных значений базы, страйка, дюрации и волатильности.
Чтобы удостовериться в совпадении греков с доски и расчётных, пришлось в скрипте отваять на Lua C API сервер DDE для приёма экспорта от доски опционов. И вот картинка
Скрипты Lua в Quik'е могут строить свою доску опционов - как от Мосбиржи
Разница в самом главном Греке — Дельте — менее 1%.
Через Lua в Quik'е доступны все возможности Windows.
local Titles, Entries, Desk = {}, {}, {}
local Wn1_Hndl
local Wn1_Field1, Wn1_Field2, Wn1_Field3, Wn1_Field4, Wn1_Field5
   = "Код CALL", "Страйк", "Дельта CALL", "Дельта расч", "Теор. расч"
   
function OnInit (scriptPath)
  qu = require ("QuikUtil(qu)") -- qc, lu, tu
  blk = require ("BlackScholes(blk)")
  glb_ScriptDir, glb_ScriptName = lu.SplitPath (scriptPath)
  message (glb_ScriptName .." started")
  server = require ("OptionDesk")
end -- OnInit()

function OnStop (signal)
  if Wn1_Hndl then DestroyTable (Wn1_Hndl) end
  StopFlag = true
  return 1000 -- 1 sec
end

local function ShowWin (cols)
  for k = 1, #Desk do
    local calCode = Desk[k][Entries[Wn1_Field1]]
    if calCode:sub (3,3) == "0" then
      calCode = calCode:sub (1,2) .


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Блог им. kurd |"Усердие всё превозмогает. Иногда даже рассудок" (Козьма Прутков). О выявлении крупных сделок

В источнике smart-lab.ru/blog/760357.php код QLua и картинка из Quik'а.
Возможно, смысл в том, чтобы отловить сделки крупных игроков. Но склеивание в одну «крупную сделку» всех обезличенных сделок одного направления, пришедших в одну миллисекунду или несколько подряд, вряд ли служит цели. Это заявки разных игроков. Ведь уловка китов, прибегающих к «Айсберг-заявкам», в том и состоит, чтобы расщепить свою крупную заявку во времени.
Так что если кто хочет схватить такого кита за руку, может попробовать выявлять последовательности тиков одного объёма и направления через равные интервалы времени.
Но!
1) Точно ли  все «Айсберг-заявки» формируются равными объёмами и через равные интервалы времени? Это было бы довольно глупо.
2) Даже если такая глупость существует, к любому тику с заявкой кита может прилепиться много заявок мелкоты. Это сильно затруднит выявление регулярных «Айсберг-заявок».
3) Самые киты входят-выходят на рынке не одной «Айсберг-заявкой» и даже не в один день! А то и ещё и через день — по обстановке. Шансов опознать именно их заявки среди прочих — ноль.
4) В самом ли деле так важно знать сделки крупных игроков? Крупняк никогда не проигрывает?

NB Почему эти вопросы не пришли в голову никому из заинтересованных комментаторов?
Включая торговый терминал, не забудьте включить голову.
  • обсудить на форуме:
  • Quik Lua

Блог им. kurd |Все ли знают, что в Quik'е у каждого скрипта main() свой отдельный Windows-поток (thread)?

Пишу потому, что к большому моему удивлению открыл, что весьма активные писатели Смарт-лаба этого не знают. В главном потоке программы Quik работают только функции обратного вызова типа OnTransReply, OnTrade и индикаторы. Кстати, OnTrade срабатывает не только по заявкам из скрипта, но и поданным интерактивно.

Дело обработчиков событий не обрабатывать, но регистрировать их.
Неверные представления о потоках в Quik'е вынуждают этих писателей городить абсурдный обмен данными между Quik'ом и внешними приложениями. Тогда как вся информация по событиям может быть обработана средствами QLua во вторичных скриптовых потоках без помех для главного потока Quik'а.

Хотя QLua обладает весьма эффективными средствами взаимодействия с любым приложением Windows, не так просто придумать повод для обращения QLua за посторонней помощью. Например, сохранять на диске текущие данные QLua может массой способов от простейшего io.read/write до SQLite.
Количество библиотек для QLua просто изумляет.

NB. Известная проблема скриптовых языков, что ошибки-описки в именах функций и переменных влекут трудно диагностируемые сбои работы, решается двумя простейшими средствами.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

....все тэги
UPDONW
Новый дизайн