<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Подскажите какая функция читает  &quot;доску опционов&quot; ?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Подскажите какая функция читает  &quot;доску опционов&quot; ? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 15:54:52 +0300</pubDate>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27460/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4ekTdO4t" href="/user/8750/" bx-tooltip-user-id="8750">c3po</a> написал:<br />Спасибо за ответ. Имелся в виду открытый интерес по страйкам. В текущей версии квика данная колонка названа открытыми позициями.<br />=============<br /><br />Прошу прощения, изначально вопрос был понят не правильно.<br />Открытый интерес из таблицы текущих торгов можно получить функцией getParamEx с параметром NUMCONTRACTS <br />
			<i>30.10.2017 09:41:13, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27460/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27460/topic748/</guid>
			<pubDate>Mon, 30 Oct 2017 09:41:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27457/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Спасибо за ответ. Имелся в виду открытый интерес по страйкам. В текущей версии квика данная колонка названа открытыми позициями. <br />
			<i>30.10.2017 09:28:56, c3po.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27457/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27457/topic748/</guid>
			<pubDate>Mon, 30 Oct 2017 09:28:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27453/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4y6Wj69O" href="/user/8750/" bx-tooltip-user-id="8750">c3po</a> написал:<br />Добрый день!<br />Какие способы есть прочитать значения открытых позиций из доски опционов?<br />=============<br /><br />На всякий случай:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4iFYrUAI" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> написал:<br />В текущей версии доступа к таблицы "Доска опционов" нет.<br />=============<br /><br />Но выход есть.<br />Доска опционов берет данные об открытых позициях из таблицы Позиции по клиентским счетам.<br />А значит, чтобы получить нужную цифру, Вам достаточно обратиться к этой таблице через функцию getItem <br />
			<i>30.10.2017 06:13:52, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27453/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27453/topic748/</guid>
			<pubDate>Mon, 30 Oct 2017 06:13:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message27445/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день!<br /><br />Какие способы есть прочитать значения открытых позиций из доски опционов? <br />
			<i>29.10.2017 16:17:19, c3po.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message27445/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message27445/topic748/</guid>
			<pubDate>Sun, 29 Oct 2017 16:17:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25452/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Может я не прав, но если в этой строке
====code====
<pre>local Tt = tmpParam.DAYS_TO_MAT_DATE / YearLen --"T-t" время до истечения срока опциона (период опциона);</pre>
=============
значение tmpParam.DAYS_TO_MAT_DATE является <I>целым</I>, то будет получаться погрешность при вычислении времени Tt до истечения срока опциона. Эта погрешность будет относительно небольшой, если до квартальной экспирации ещё долго (как сейчас), а непосредственно перед экспирацией это уже ощутимо. Биржа считает время до истечения <I>точно</I>, вычисляя разницу между текущим моментом и моментом экспирации и переводя в доли года. Давно исследовал этот вопрос, даже разбирался для RI момент экспирации считается 18:45 или 19:00. <br />
			<i>23.06.2017 06:22:19, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25452/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25452/topic748/</guid>
			<pubDate>Fri, 23 Jun 2017 06:22:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25446/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			На всякий случай, код скрипта на котором проверяли:<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>--&#91;&#91;
Что делает:
&nbsp;&nbsp; По Таблице текущих параметров строит таблицу опционов с расcчитанными греками
&nbsp;&nbsp; Формулы взяты отсюда:
&nbsp;&nbsp; http://en.wikipedia.org/wiki/Black%96Scholes
&nbsp;&nbsp; http://en.wikipedia.org/wiki/Greeks_%28finance%29
&nbsp;&nbsp; 
Как использовать:
&nbsp;&nbsp; откройте Таблицу Текущих Параметров (меню Таблицы -&#62; Текущая Таблица)
&nbsp;&nbsp; Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)
&nbsp;&nbsp; чтобы сохранить в CSV файл, текущее состояние таблицы, нужно нажать комбинацию клавиш Ctrl+S файл сохраняется в папку со скриптом, с именем HHHMMDD.csv
&#93;&#93;
-------------------------------НАСТРОЙКИ-------------------------------
RiskFree=0/100 --безрисковая ставка %, Указывается вручную

BaseClassCode = "SPBFUT" --Класс базового актива
ClassCode = "SPBOPT" --Класс опционов

--Список базовых активов, через запятую, по которым отображать опционы:
BaseSecList = "RIU7" --getClassSecurities(BaseClassCode) --все сразу
 
--Список опционов через запятую:
SecList = getClassSecurities(ClassCode) --все сразу

INTERVAL = 1000 --Интервал обновления таблицы

doLogging=false --включает запись в файл, формата csv. 
log_file=getScriptPath() .. "&#92;&#92;Greek.csv" --путь к csv файлу 

-----------------------------------------------------------------------

-------------------------------ТО ЧТО НИЖЕ, ТРОГАТЬ НЕ НАДО------------------------------------------------------------------
--Параметры таблицы
tbl = {
&#91;"caption"&#93;="Greek",
&#91;1&#93;="Название",
&#91;2&#93;="Код опциона",
&#91;3&#93;="Тип опциона",
&#91;4&#93;="Баз. актив",
&#91;5&#93;="Расчетная цена",
&#91;6&#93;="Страйк",
&#91;7&#93;="Волатильность",
&#91;8&#93;="До исполнения",
&#91;9&#93;="Дельта",
&#91;10&#93;="Гамма(%)",
&#91;11&#93;="Тэта",
&#91;12&#93;="Вега",
&#91;13&#93;="Ро",
&#91;"t_id"&#93;=0
}

abTable = {}
BaseCol = {}
Sec2row = {}
file = nil
Sep = ";"
YearLen=365.0 --Число дней в году
WORK = true
CALC = false
G_ROW = -1
if (BaseSecList == "") or (BaseSecList == nil) then
&nbsp;&nbsp;&nbsp;BaseSecList = getClassSecurities(BaseClassCode)
end

if (SecList == "") or (SecList == nil) then
&nbsp;&nbsp;&nbsp;SecList = getClassSecurities(ClassCode)
end

-------------------------------ФУНКЦИИ------------------------------------------------------------------
function Logging(str) --Пишет лог
&nbsp;&nbsp;&nbsp;if file~=nil and doLogging then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:write(str .. "&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:flush()
&nbsp;&nbsp;&nbsp;end
end

function N(x) --Нормальное среднее
&nbsp;&nbsp;&nbsp;&nbsp;if (x &#62; 10) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1
&nbsp;&nbsp;&nbsp;elseif (x &#60; -10) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t = 1 / (1 + 0.2316419 * math.abs(x))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local p = 0.3989423 * math.exp(-0.5 * x * x) * t * ((((1.330274 * t - 1.821256) * t + 1.781478) * t - 0.3565638) * t + 0.3193815)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if x &#62; 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p=1-p
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return p&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;end
end

function pN(x) --производная от функции нормального среднего
&nbsp;&nbsp;&nbsp;return math.exp(-0.5 * x * x) / math.sqrt(2 * math.pi) 
end

function Greek(tmpParam)
&nbsp;&nbsp;&nbsp;local b = tmpParam.volatility / 100 --"b" волатильность доходности (квадратный корень из дисперсии) базисной акции.
&nbsp;&nbsp;&nbsp;local S = tmpParam.settleprice --"S" текущая цена базисной акции;
&nbsp;&nbsp;&nbsp;local Tt = tmpParam.DAYS_TO_MAT_DATE / YearLen --"T-t" время до истечения срока опциона (период опциона);
&nbsp;&nbsp;&nbsp;local K =&nbsp;&nbsp;tmpParam.strike --"K" цена исполнения опциона;
&nbsp;&nbsp;&nbsp;local r = RiskFree --"r" безрисковая процентная ставка;
&nbsp;&nbsp;&nbsp;local d1 = (math.log(S / K) + (r + b * b * 0.5) * Tt) / (b * math.sqrt(Tt))
&nbsp;&nbsp;&nbsp;local d2 = d1-(b * math.sqrt(Tt))
&nbsp;&nbsp;&nbsp;
local Delta = 0
local Gamma = 0
local Theta = 0
local Vega = 0
local Rho = 0 

local e = math.exp(-1 * r * Tt)
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;Gamma = pN(d1) / (S * b * math.sqrt(Tt))
&nbsp;&nbsp;&nbsp;Vega = S * e * pN(d1) * math.sqrt(Tt)
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;Theta = (-1 * S * b * e * pN(d1)) / (2 * math.sqrt(Tt))

&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;if tmpParam.Optiontype == "Call" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delta = e * N(d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Theta = Theta - (r * K * e * N(d2)) + r * S * e * N(d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----Theta = Theta - (r * K * e * N(d2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rho = K * Tt * e * N(d2)
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delta = -1 * e * N(-1*d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Theta = Theta + (r * K * e * N(-1 * d2)) - r * S * e * N(-1 * d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----Theta = Theta + (r * K * e * N(-1 * d2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rho = -1 * K * Tt * e * N(-1 * d2)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;return {
&nbsp;&nbsp;&nbsp;&#91;"Delta"&#93; = Delta,
&nbsp;&nbsp;&nbsp;&#91;"Gamma"&#93; = 100 * Gamma,
&nbsp;&nbsp;&nbsp;&#91;"Theta"&#93; = Theta / YearLen,
&nbsp;&nbsp;&nbsp;&#91;"Vega"&#93; = Vega / 100,
&nbsp;&nbsp;&nbsp;&#91;"Rho"&#93; = Rho / 100
&nbsp;&nbsp;&nbsp;}
end

function GetRow(ID,row) --возвращает строку таблицы
local rows, col = GetTableSize(ID)
local result = ""
if rows~=nil and row&#60;=rows then
&nbsp;&nbsp;&nbsp;for i=1,col do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=result..GetCell(ID,row,i).image .. Sep
&nbsp;&nbsp;&nbsp;end
end
&nbsp;&nbsp;&nbsp;return result
end

function CSV(T) --пишет таблицу в csv файл
&nbsp;&nbsp;&nbsp;function FTEXT(V) --ПРОВЕРЯЕМ КОРРЕКТНОСТЬ КОЛИЧЕСТВА СИМОЛОВ ПЕРЕМЕННОЙ
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V=tostring(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (string.len(V)==1) or (string.len(V)==5) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V="0".. V
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return V&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;end
local temp = os.date("*t")
local Fname =getScriptPath() .. "&#92;&#92;" .. FTEXT(temp.year) .. FTEXT(temp.month) .. FTEXT(temp.day) .. ".csv"
&nbsp;&nbsp;&nbsp;CSVFile = io.open(Fname, "w+")
&nbsp;&nbsp;&nbsp;if CSVFile~=nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local rows, col = GetTableSize(T.t_id)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1,col do --расставляем заголовки
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:write(T&#91;i&#93; .. Sep)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:write("&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1,rows do --пишем таблицу
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:write(GetRow(T.t_id,i).."&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:flush()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:close()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Файл успешно сохранен:&#92;n"..Fname, 1)
&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ошибка при сохранении файла:&#92;n"..Fname, 3)
&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;
end

function round(num, idp) --округляет до указанного количества знаков
&nbsp;&nbsp;&nbsp;local mult = 10^(idp or 0)
&nbsp;&nbsp;&nbsp;return math.floor(num * mult + 0.5) / mult
end 

function comma_value(n) --ставит разделители в числах
&nbsp;&nbsp;&nbsp;local left,num,right = string.match(n,'^(&#91;^%d&#93;*%d)(%d*)(.-)$')
&nbsp;&nbsp;&nbsp;return left..(num:reverse():gsub('(%d%d%d)','%1 '):reverse())..right
end

function CreateDataSourceEX(Class,Sec,Par)
&nbsp;&nbsp;&nbsp;local ds,err = CreateDataSource(Class, Sec, INTERVAL_TICK, Par)
&nbsp;&nbsp;&nbsp;if ds==nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ошибка при получении параметра "..Par..":&#92;n"..err, 3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false
&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:SetEmptyCallback()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (ds:Size()==0) and (WORK) do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true
&nbsp;&nbsp;&nbsp;end
end

function Stop()
&nbsp;&nbsp;&nbsp;if doLogging then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:close() 
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;WORK = false
end


function Calculate(row,do_calc)
if (row~=nil) and (row&#62;=0) and (do_calc) then

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local T=BaseCol&#91;row&#93;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local tmpParam ={
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optiontype"&#93; = T.Optiontype,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"settleprice"&#93; = getParamEx(BaseClassCode,T.Optionbase,"settleprice").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"strike"&#93; = getParamEx(ClassCode,T.SecCode,"strike").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"volatility"&#93; = getParamEx(ClassCode,T.SecCode,"volatility").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"DAYS_TO_MAT_DATE"&#93; = T.DAYS_TO_MAT_DATE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local tmpGreek = Greek(tmpParam)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 5, comma_value(tmpParam.settleprice), tmpParam.settleprice) -- "Расчетная цена",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 6, comma_value(tmpParam.strike), tmpParam.strike) --"Страйк",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 7, tostring(tmpParam.volatility), tmpParam.volatility) -- "Волатильность",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 8, tostring(tmpParam.DAYS_TO_MAT_DATE), tmpParam.DAYS_TO_MAT_DATE) --"До исполнения",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 9, tostring(round(tmpGreek.Delta,2)), tmpGreek.Delta) --"Дельта",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 10, tostring(round(tmpGreek.Gamma,4)), tmpGreek.Gamma) -- "Гамма(%)",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 11, tostring(round(tmpGreek.Theta,2)), tmpGreek.Theta) -- "Тэта",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 12, tostring(round(tmpGreek.Vega,2)), tmpGreek.Vega) -- "Вега",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 13, tostring(round(tmpGreek.Rho,2)), tmpGreek.Rho) -- "Ро",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if doLogging then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logging(os.date().. Sep .. GetRow(tbl.t_id,row))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
end
return false
end

-------------------------------Колбэки------------------------------------------------------------------
function f_cb(t_id,msg,par1,par2) --событие на нажатие клавиш
&nbsp;&nbsp;&nbsp;if (msg==QTABLE_CHAR) and (par2==19) then --сохранить в CSV файл текущее состояние таблицы нужно нажать комбинацию клавиш Ctrl+S
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSV(tbl)
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;if (msg==QTABLE_CLOSE) then --закрытие окна
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stop()
&nbsp;&nbsp;&nbsp;end

&nbsp;&nbsp;&nbsp;if (msg==QTABLE_VKEY) and (par2==116) then --функция принудительного обновления таблицы при нажатии клавиши Ctrl+F5
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for SecCode in string.gmatch(SecList, "(&#91;^,&#93;+)") do --перебираем опционы по очереди.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calculate(Sec2row&#91;SecCode&#93;,true)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Highlight(tbl.t_id, Sec2row&#91;SecCode&#93;, QTABLE_NO_INDEX, RGB(255,0,0), QTABLE_DEFAULT_COLOR, INTERVAL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;end
end

function OnStop()
&nbsp;&nbsp;&nbsp;Stop()
&nbsp;&nbsp;&nbsp;DestroyTable(tbl.t_id)
end

function OnInit()
local STR = ""
&nbsp;&nbsp;&nbsp;if doLogging then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file = io.open(log_file, "w+") 
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;tbl.t_id = AllocTable()
&nbsp;&nbsp;&nbsp;for i=1,table.maxn(tbl) do --добавляем колонки
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i&#60;=4 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(tbl.t_id, i, tbl&#91;i&#93;, true, QTABLE_CACHED_STRING_TYPE, string.len(tbl&#91;i&#93;)*2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(tbl.t_id, i, tbl&#91;i&#93;, true, QTABLE_DOUBLE_TYPE, 10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if doLogging then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR=STR..tbl&#91;i&#93;..Sep
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;Logging("Дата Время".. Sep .. STR)
&nbsp;&nbsp;&nbsp;CreateWindow(tbl.t_id)
&nbsp;&nbsp;&nbsp;SetWindowCaption(tbl.t_id,tbl.caption)
&nbsp;&nbsp;&nbsp;SetTableNotificationCallback(tbl.t_id, f_cb)
end

function OnParam(class, sec)
if (class==ClassCode) and (WORK) and (string.find(SecList,sec)~=nil) then
&nbsp;&nbsp;&nbsp;G_ROW = Sec2row&#91;sec&#93;
&nbsp;&nbsp;&nbsp;if (G_ROW~=nil) and (G_ROW&#62;=0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Highlight(tbl.t_id, G_ROW, QTABLE_NO_INDEX, RGB(255,0,0), QTABLE_DEFAULT_COLOR, INTERVAL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CALC=true
&nbsp;&nbsp;&nbsp;end
end
end

function main()

WORK = false
CALC=true
&nbsp;&nbsp;&nbsp;for SecCode in string.gmatch(SecList, "(&#91;^,&#93;+)") do --перебираем опционы по очереди.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Optionbase=getParamEx(ClassCode,SecCode,"optionbase").param_image
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Optiontype=getParamEx(ClassCode,SecCode,"optiontype").param_image
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (string.find(BaseSecList,Optionbase)~=nil) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local row = InsertRow(tbl.t_id,-1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local T={
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Name"&#93; = getSecurityInfo(ClassCode,SecCode).name,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"SecCode"&#93; = SecCode,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optiontype"&#93; = Optiontype,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optionbase"&#93; = Optionbase,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"DAYS_TO_MAT_DATE"&#93; = getParamEx(ClassCode,SecCode,"DAYS_TO_MAT_DATE").param_value+0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BaseCol&#91;row&#93;=T
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--заполняем статичные параметры
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sec2row&#91;SecCode&#93;=row
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 1, BaseCol&#91;row&#93;.Name) -- "Название опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 2, BaseCol&#91;row&#93;.SecCode) --"Код опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 3, BaseCol&#91;row&#93;.Optiontype) -- "Тип опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(tbl.t_id, row, 4, BaseCol&#91;row&#93;.Optionbase) --"Баз. актив",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--заказ данных
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateDataSourceEX(BaseClassCode,T.Optionbase,"settleprice")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateDataSourceEX(ClassCode,T.SecCode,"strike")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateDataSourceEX(ClassCode,T.SecCode,"volatility")

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--заполняем динамичные параметры
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CALC=Calculate(row,true) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
WORK = true
while WORK do
&nbsp;&nbsp;&nbsp;CALC=Calculate(G_ROW,CALC)
&nbsp;&nbsp;&nbsp;sleep(INTERVAL)
end
end

</pre>
=============
</td></tr></tbody></table> <br />
			<i>22.06.2017 20:11:18, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25446/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25446/topic748/</guid>
			<pubDate>Thu, 22 Jun 2017 20:11:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25445/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Проблема не воспроизводится<br />[FILE ID=2346]<br /><br />Возможно, что причина в том что терминале заданная волатильность не обновляется автоматически, а в Lua скрипте она берется из таблицы текущих торгов? <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=2346&" width="1191" height="378" /><br /><i>22.06.2017 20:10:12, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25445/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25445/topic748/</guid>
			<pubDate>Thu, 22 Jun 2017 20:10:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25432/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте! Присоединяюсь к предыдущему вопросу.Та же ситуация - не совпадают значения ? <br />
			<i>22.06.2017 13:00:39, echaki.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25432/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25432/topic748/</guid>
			<pubDate>Thu, 22 Jun 2017 13:00:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message25431/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте, скажите пожалуйста данный скрипт на сегодня актуален, или что то поменялось в расчетах? Так как при запуске на реале и на демо дельту скрипт показывает отличную от дельты транслируемой терминалом на 0,08 - 0,10. <br />
			<i>22.06.2017 12:57:32, Константин Рейм.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message25431/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message25431/topic748/</guid>
			<pubDate>Thu, 22 Jun 2017 12:57:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23182/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_raH3Wqgq" href="/user/921/" bx-tooltip-user-id="921">Дмитрий</a> написал:<br />А доступ к &quot;Доске опционов&quot; так и не был добавлен?<br />=============<br />Добрый день,<br /><br />На текущий момент Ваше пожелание не реализовано. При его реализации сообщим Вам в этой ветке форума. <br />
			<i>23.03.2017 13:25:52, Stanislav Tvorogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23182/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23182/topic748/</guid>
			<pubDate>Thu, 23 Mar 2017 13:25:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message23163/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А доступ к &quot;Доске опционов&quot; так и не был добавлен? <br />
			<i>22.03.2017 10:58:32, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message23163/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message23163/topic748/</guid>
			<pubDate>Wed, 22 Mar 2017 10:58:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message21696/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_z9fMfhqs" href="/user/1790/" bx-tooltip-user-id="1790">gihar</a> написал:<br /><br />====quote====<br /> max max &nbsp; написал:<br />Все перепроверил. Все равно вот что вылезает<br /><br /><br /> Название &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Код опциона Тип опциона Баз. актив <br /> RTS-9.15M150915CA 20000 RI20000BI5 &nbsp; Call &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RIU5<br />=============<br />Было точно такая же проблема у меня. Нужно поменять в 197 строке код
====code====
<pre>&nbsp;&nbsp; while&nbsp;&nbsp;ds: Size () =&nbsp;&nbsp;=&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;</pre>
=============
на 
====code====
<pre>&nbsp;&nbsp; while&nbsp;&nbsp;ds: Size () =&nbsp;&nbsp;=&nbsp;&nbsp;nil&nbsp;&nbsp; </pre>
=============
<br />после этого всё заводиться!<br />Спасибо автору за скрипт.<br />=============<br />Благодарю! Мне действительно помогло. &nbsp; <br />
			<i>15.01.2017 14:11:35, Геннадий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message21696/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message21696/topic748/</guid>
			<pubDate>Sun, 15 Jan 2017 14:11:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14909/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Hrn5I3M3" href="/user/1727/" bx-tooltip-user-id="1727">Константин Рейм</a> написал:<br /><br />====quote====<br /> Imersio Arrigo &nbsp; написал:<br />Я конечно знаю, что с 95% вероятностью получу ответ: &quot;да у вас формула кривая&quot;. И, вероятно, вы будете правы.<br />Поэтому вопрос не в том как посчитать греки самому, а как получить &quot;те же цифры&quot; из квика.<br />=============<br />Доска опционов 1 раз в минуту обновляется, по этому у Вас не совпадают цифры<br />=============<br />И в стаканах опционных тоже раз в минуту, да? <br />
			<i>01.04.2016 09:44:16, Imersio Arrigo.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14909/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14909/topic748/</guid>
			<pubDate>Fri, 01 Apr 2016 09:44:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14908/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_xCeaUYqR" href="/user/1103/" bx-tooltip-user-id="1103">Imersio Arrigo</a> написал:<br />Я конечно знаю, что с 95% вероятностью получу ответ: &quot;да у вас формула кривая&quot;. И, вероятно, вы будете правы.<br />Поэтому вопрос не в том как посчитать греки самому, а как получить &quot;те же цифры&quot; из квика.<br />=============<br />Доска опционов 1 раз в минуту обновляется, по этому у Вас не совпадают цифры <br />
			<i>01.04.2016 08:33:50, Константин Рейм.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14908/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14908/topic748/</guid>
			<pubDate>Fri, 01 Apr 2016 08:33:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message14895/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_fkjdbAiD" href="/user/1134/" bx-tooltip-user-id="1134">max max</a> написал:<br />Все перепроверил. Все равно вот что вылезает<br /><br /><br /> Название &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Код опциона Тип опциона Баз. актив <br /> RTS-9.15M150915CA 20000 RI20000BI5 &nbsp; Call &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RIU5<br />=============<br />Было точно такая же проблема у меня. Нужно поменять в 197 строке код
====code====
<pre>while ds:Size()==0 </pre>
=============
на 
====code====
<pre>while ds:Size()==nil</pre>
=============
<br />после этого всё заводиться!<br />Спасибо автору за скрипт. <br />
			<i>31.03.2016 23:20:33, gihar.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message14895/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message14895/topic748/</guid>
			<pubDate>Thu, 31 Mar 2016 23:20:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message9807/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Own26P8T" href="/user/1377/" bx-tooltip-user-id="1377">Антонио</a> пишет: <br />Вопрос к <noindex><a href="https://forum.quik.ru/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex> <br /><br />На другой ветке ( <noindex><a href="https://forum.quik.ru/messages/forum10/message9801/topic525/#message9801" target="_blank" rel="nofollow">#105</a></noindex> 03.11.2015 19:52:13 ), посвящённой CreateDataSource , я задал три вопроса по Вашему скрипту...<br /><br />=============<br /> &nbsp; На вопросы отвечено в той же ветке. <br />
			<i>03.11.2015 21:10:58, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message9807/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message9807/topic748/</guid>
			<pubDate>Tue, 03 Nov 2015 21:10:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message9802/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вопрос к &nbsp;<noindex><a href="https://forum.quik.ru/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex><br /><br />На другой ветке (<noindex><a href="https://forum.quik.ru/messages/forum10/message9801/topic525/#message9801" target="_blank" rel="nofollow">#105</a></noindex> &nbsp;03.11.2015 19:52:13 &nbsp;), посвящённой &nbsp;<B>CreateDataSource</B> , я задал три вопроса по Вашему скрипту... <br />
			<i>03.11.2015 20:04:47, Антонио.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message9802/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message9802/topic748/</guid>
			<pubDate>Tue, 03 Nov 2015 20:04:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7322/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Slpfp72F" href="/user/19/" bx-tooltip-user-id="19">Egor Zaytsev</a> пишет: <br /><br />====quote====<br /> max max пишет: <br /><br />====quote====<br /> Egor Zaytsev пишет: <br />Добрый день.<br /><br />В текущей версии доступа к таблицы "Доска опционов" нет.<br /><br />=============<br />Подскажите когда планируется добавить доступ ?<br />Есть ли возможность минуя доску получить данные по волатильности и теор цене ?<br /><br />=============<br />Пожелание зарегистрируем.<br /><br />=============<br />Добрый день, <br /> Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО. <br />
			<i>27.07.2015 08:52:56, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7322/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7322/topic748/</guid>
			<pubDate>Mon, 27 Jul 2015 08:52:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7221/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7JO3IYSF" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Если упомянутая выше настройка не помогает, пришлите нам архив всей папки с Вашим терминалом (без ключей доступа) на адрес 911@quik.ru<br /><br />=============<br /> <br />
			<i>21.07.2015 17:33:04, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7221/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7221/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 17:33:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7220/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_O5LTNMiW" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> max max пишет: <br />Подскажите какие настройки указывать в тек таблице ?<br />Может в этом проблема<br /><br />=============<br /><br />====quote====<br /> Sergey Gorokhov пишет: <br />в таблице должны быть добавлены колонки "Расчетная цена", "Страйк", "До исполнения" и "Волатильность"<br />И в этих колонках должны быть данные.<br /><br />=============<br /><br />=============<br />Все перепроверил. Все равно вот что вылезает<br /><br /><br /> Название &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Код опциона Тип опциона Баз. актив <br /> RTS-9.15M150915CA 20000 RI20000BI5 &nbsp; Call &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RIU5 <br />
			<i>21.07.2015 17:31:30, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7220/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7220/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 17:31:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7219/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_foe8lMPP" href="/user/1134/" bx-tooltip-user-id="1134">max max</a> пишет: <br />Подскажите какие настройки указывать в тек таблице ?<br />Может в этом проблема<br /><br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_BnGt4EXi" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />в таблице должны быть добавлены колонки "Расчетная цена", "Страйк", "До исполнения" и "Волатильность"<br />И в этих колонках должны быть данные.<br /><br />=============<br /> <br />
			<i>21.07.2015 17:07:56, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7219/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7219/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 17:07:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7218/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_A7aJy7A0" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> max max пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба<br /><br />=============<br />Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.<br />Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение<br />=============<br />Подскажите какие настройки указывать в тек таблице ?<br />Может в этом проблема <br />
			<i>21.07.2015 17:04:27, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7218/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7218/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 17:04:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7217/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_hXh6ZOJM" href="/user/1134/" bx-tooltip-user-id="1134">max max</a> пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба<br /><br />=============<br />Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.<br />Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение<br /><br />=============<br />В таблицу текущих параметров загнал фьюч и все опционы по этому фьючу<br />Включил все параметры (и волу и теорию и пр)<br />Потом запустил скрипт. Ничего не менял. Инструмент RIU5 и тп<br />Опять не показывает<br />Брокер Октрытие и Втб24<br />И там и там пусто<br /><br />=============<br />Могу Вас уверить что данный скрипт прекрасно работает. Проблема именно в настройках о чем было сказано в последнем посте. <br />Если упомянутая выше настройка не помогает, пришлите нам архив всей папки с Вашим терминалом (без ключей доступа) на адрес 911@quik.ru <br />
			<i>21.07.2015 16:53:37, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7217/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7217/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:53:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7216/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_thb69aHM" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> max max пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба<br /><br />=============<br />Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.<br />Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение<br /><br />=============<br />В таблицу текущих параметров загнал фьюч и все опционы по этому фьючу<br />Включил все параметры (и волу и теорию и пр)<br />Потом запустил скрипт. Ничего не менял. Инструмент RIU5 и тп<br />Опять не показывает<br />Брокер Октрытие и Втб24<br />И там и там пусто <br />
			<i>21.07.2015 16:48:54, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7216/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7216/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:48:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7215/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_cuT5TQGc" href="/user/17/" bx-tooltip-user-id="17">"Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> max max пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба<br /><br />=============<br />Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.<br />Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение<br /><br />=============<br />Для работы скрипта в таблице должны быть добавлены колонки "Расчетная цена", "Страйк", "До исполнения" и "Волатильность"<br />И в этих колонках должны быть данные.<br />Если их нет, проверьте настройки терминала. в меню Настройки - Основные - Программа - Получение данных, должно быть "Исходя из настроек открытых пользователем таблиц <br />
			<i>21.07.2015 16:37:56, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7215/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7215/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:37:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7214/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_CtknwOao" href="/user/1134/" bx-tooltip-user-id="1134">max max</a> пишет: <br /><br />====quote====<br /> Sergey Gorokhov пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба<br /><br />=============<br />Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.<br />Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение <br />
			<i>21.07.2015 16:34:29, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7214/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7214/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:34:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7212/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_eTDrg42n" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> max max пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) <br />=============<br /><br />=============<br />Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт<br />Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба <br />
			<i>21.07.2015 16:26:34, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7212/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7212/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:26:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7211/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dRVHDadK" href="/user/1134/" bx-tooltip-user-id="1134">max max</a> пишет: <br />Греки не показывает<br /><br />=============<br /><br />====quote====<br />Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -&gt; Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты) &nbsp;<br />=============<br /> <br />
			<i>21.07.2015 16:09:19, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7211/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7211/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:09:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7210/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_6VGptB3C" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br /><br />====quote====<br /> Imersio Arrigo пишет: <br /><br />====quote====<br /> Egor Zaytsev пишет: <br />Греки только в доске опционов.<br /><br />=============<br />В доске нет греков <br />Они только в &quot;Таблице параметров опционов&quot;<br /><br />=============<br />Здравствуйте,<br />Если Вам нужны греки в LUA единственный способ их получить это рассчитать по формулам.<br />У нас есть готовый пример скрипта, можете взять формулы от туда:<br /> Скрытый текст 
====code====
<pre> --&#91;&#91;
Что делает:
&nbsp;&nbsp; По Таблице текущих параметров строит таблицу опционов с расcчитанными греками
&nbsp;&nbsp; Формулы взяты отсюда:
&nbsp;&nbsp; http://en.wikipedia.org/wiki/Black%96Scholes
&nbsp;&nbsp; http://en.wikipedia.org/wiki/Greeks_%28finance%29
&nbsp;&nbsp; 
Как использовать:
&nbsp;&nbsp; откройте Таблицу Текущих Параметров (меню Таблицы -&#62; Текущая Таблица)
&nbsp;&nbsp; Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)
&nbsp;&nbsp; чтобы сохранить в CSV файл, текущее состояние таблицы, нужно нажать комбинацию клавиш Ctrl+S файл сохраняется в папку со скриптом, с именем HHHMMDD.csv
&#93;&#93;
-------------------------------НАСТРОЙКИ-------------------------------
RiskFree=0/100 --безрисковая ставка %, Указывается вручную

BaseClassCode = "SPBFUT" --Класс базового актива
ClassCode = "SPBOPT" --Класс опционов

--Список базовых активов, через запятую, по которым отображать опционы:
BaseSecList = "RIU5" --getClassSecurities(BaseClassCode) --все сразу
 
--Список опционов через запятую:
SecList = getClassSecurities(ClassCode) --все сразу

INTERVAL = 1000 --Интервал обновления таблицы

doLogging=false --включает запись в файл, формата csv. 
log_file=getScriptPath() .. "&#92;&#92;Greek.csv" --путь к csv файлу 

-----------------------------------------------------------------------

-------------------------------ТО ЧТО НИЖЕ, ТРОГАТЬ НЕ НАДО------------------------------------------------------------------
--Параметры таблицы
tbl = {
&#91;"caption"&#93;="Greek",
&#91;1&#93;="Название",
&#91;2&#93;="Код опциона",
&#91;3&#93;="Тип опциона",
&#91;4&#93;="Баз. актив",
&#91;5&#93;="Расчетная цена",
&#91;6&#93;="Страйк",
&#91;7&#93;="Волатильность",
&#91;8&#93;="До исполнения",
&#91;9&#93;="Дельта",
&#91;10&#93;="Гамма(%)",
&#91;11&#93;="Тэта",
&#91;12&#93;="Вега",
&#91;13&#93;="Ро",
&#91;"t_id"&#93;=0
}

abTable = {}
BaseCol = {}
Sec2row = {}
file = nil
Sep = ";"
YearLen=365.0 --Число дней в году
WORK = true
CALC = false
G_ROW = -1
if (BaseSecList == "") or (BaseSecList == nil) then
&nbsp;&nbsp; BaseSecList = getClassSecurities(BaseClassCode)
end

if (SecList == "") or (SecList == nil) then
&nbsp;&nbsp; SecList = getClassSecurities(ClassCode)
end

-------------------------------ФУНКЦИИ------------------------------------------------------------------
function Logging(str) --Пишет лог
&nbsp;&nbsp; if file~=nil and doLogging then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:write(str .. "&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:flush()
&nbsp;&nbsp; end
end

function N(x) --Нормальное среднее
&nbsp;&nbsp;&nbsp;&nbsp;if (x &#62; 10) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1
&nbsp;&nbsp; elseif (x &#60; -10) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t = 1 / (1 + 0.2316419 * math.abs(x))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local p = 0.3989423 * math.exp(-0.5 * x * x) * t * ((((1.330274 * t - 1.821256) * t + 1.781478) * t - 0.3565638) * t + 0.3193815)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if x &#62; 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p=1-p
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return p&nbsp;&nbsp; 
&nbsp;&nbsp; end
end

function pN(x) --производная от функции нормального среднего
&nbsp;&nbsp; return math.exp(-0.5 * x * x) / math.sqrt(2 * math.pi) 
end

function Greek(tmpParam)
&nbsp;&nbsp; local b = tmpParam.volatility / 100 --"b" волатильность доходности (квадратный корень из дисперсии) базисной акции.
&nbsp;&nbsp; local S = tmpParam.settleprice --"S" текущая цена базисной акции;
&nbsp;&nbsp; local Tt = tmpParam.DAYS_TO_MAT_DATE / YearLen --"T-t" время до истечения срока опциона (период опциона);
&nbsp;&nbsp; local K =&nbsp;&nbsp;tmpParam.strike --"K" цена исполнения опциона;
&nbsp;&nbsp; local r = RiskFree --"r" безрисковая процентная ставка;
&nbsp;&nbsp; local d1 = (math.log(S / K) + (r + b * b * 0.5) * Tt) / (b * math.sqrt(Tt))
&nbsp;&nbsp; local d2 = d1-(b * math.sqrt(Tt))
&nbsp;&nbsp; 
local Delta = 0
local Gamma = 0
local Theta = 0
local Vega = 0
local Rho = 0 

local e = math.exp(-1 * r * Tt)
&nbsp;&nbsp; 
&nbsp;&nbsp; Gamma = pN(d1) / (S * b * math.sqrt(Tt))
&nbsp;&nbsp; Vega = S * e * pN(d1) * math.sqrt(Tt)
&nbsp;&nbsp; 
&nbsp;&nbsp; Theta = (-1 * S * b * e * pN(d1)) / (2 * math.sqrt(Tt))

&nbsp;&nbsp; 
&nbsp;&nbsp; if tmpParam.Optiontype == "Call" then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delta = e * N(d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Theta = Theta - (r * K * e * N(d2)) + r * S * e * N(d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----Theta = Theta - (r * K * e * N(d2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rho = K * Tt * e * N(d2)
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delta = -1 * e * N(-1*d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Theta = Theta + (r * K * e * N(-1 * d2)) - r * S * e * N(-1 * d1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;----Theta = Theta + (r * K * e * N(-1 * d2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rho = -1 * K * Tt * e * N(-1 * d2)
&nbsp;&nbsp; end
&nbsp;&nbsp; 

&nbsp;&nbsp; return {
&nbsp;&nbsp; &#91;"Delta"&#93; = Delta,
&nbsp;&nbsp; &#91;"Gamma"&#93; = 100 * Gamma,
&nbsp;&nbsp; &#91;"Theta"&#93; = Theta / YearLen,
&nbsp;&nbsp; &#91;"Vega"&#93; = Vega / 100,
&nbsp;&nbsp; &#91;"Rho"&#93; = Rho / 100
&nbsp;&nbsp; }
end

function GetRow(ID,row) --возвращает строку таблицы
local rows, col = GetTableSize(ID)
local result = ""
if rows~=nil and row&#60;=rows then
&nbsp;&nbsp; for i=1,col do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result=result..GetCell(ID,row,i).image .. Sep
&nbsp;&nbsp; end
end
&nbsp;&nbsp; return result
end

function CSV(T) --пишет таблицу в csv файл
&nbsp;&nbsp; function FTEXT(V) --ПРОВЕРЯЕМ КОРРЕКТНОСТЬ КОЛИЧЕСТВА СИМОЛОВ ПЕРЕМЕННОЙ
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V=tostring(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (string.len(V)==1) or (string.len(V)==5) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V="0".. V
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return V&nbsp;&nbsp;
&nbsp;&nbsp; end
local temp = os.date("*t")
local Fname =getScriptPath() .. "&#92;&#92;" .. FTEXT(temp.year) .. FTEXT(temp.month) .. FTEXT(temp.day) .. ".csv"
&nbsp;&nbsp; CSVFile = io.open(Fname, "w+")
&nbsp;&nbsp; if CSVFile~=nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local rows, col = GetTableSize(T.t_id)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1,col do --расставляем заголовки
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSVFile:write(T&#91;i&#93; .. Sep)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:write("&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1,rows do --пишем таблицу
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSVFile:write(GetRow(T.t_id,i).."&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:flush()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSVFile:close()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Файл успешно сохранен:&#92;n"..Fname, 1)
&nbsp;&nbsp; else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ошибка при сохранении файла:&#92;n"..Fname, 3)
&nbsp;&nbsp; end&nbsp;&nbsp; 
end

function round(num, idp) --округляет до указанного количества знаков
&nbsp;&nbsp; local mult = 10^(idp or 0)
&nbsp;&nbsp; return math.floor(num * mult + 0.5) / mult
end 

function comma_value(n) --ставит разделители в числах
&nbsp;&nbsp; local left,num,right = string.match(n,'^(&#91;^%d&#93;*%d)(%d*)(.-)$')
&nbsp;&nbsp; return left..(num:reverse():gsub('(%d%d%d)','%1 '):reverse())..right
end

function CreateDataSourceEX(Class,Sec,Par)
&nbsp;&nbsp; local ds,err = CreateDataSource(Class, Sec, INTERVAL_TICK, Par)
&nbsp;&nbsp; if ds==nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Ошибка при получении параметра "..Par..":&#92;n"..err, 3)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false
&nbsp;&nbsp; else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ds:SetEmptyCallback()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while ds:Size()==0 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep(100)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true
&nbsp;&nbsp; end
end

function Stop()
&nbsp;&nbsp; if doLogging then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file:close() 
&nbsp;&nbsp; end
&nbsp;&nbsp; WORK = false
end


function Calculate(row,do_calc)
if (row~=nil) and (row&#62;=0) and (do_calc) then

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local T=BaseCol&#91;row&#93;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local tmpParam ={
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optiontype"&#93; = T.Optiontype,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"settleprice"&#93; = getParamEx(BaseClassCode,T.Optionbase,"settleprice").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"strike"&#93; = getParamEx(ClassCode,T.SecCode,"strike").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"volatility"&#93; = getParamEx(ClassCode,T.SecCode,"volatility").param_value+0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"DAYS_TO_MAT_DATE"&#93; = T.DAYS_TO_MAT_DATE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local tmpGreek = Greek(tmpParam)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 5, comma_value(tmpParam.settleprice), tmpParam.settleprice) -- "Расчетная цена",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 6, comma_value(tmpParam.strike), tmpParam.strike) --"Страйк",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 7, tostring(tmpParam.volatility), tmpParam.volatility) -- "Волатильность",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 8, tostring(tmpParam.DAYS_TO_MAT_DATE), tmpParam.DAYS_TO_MAT_DATE) --"До исполнения",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 9, tostring(round(tmpGreek.Delta,2)), tmpGreek.Delta) --"Дельта",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 10, tostring(round(tmpGreek.Gamma,4)), tmpGreek.Gamma) -- "Гамма(%)",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 11, tostring(round(tmpGreek.Theta,2)), tmpGreek.Theta) -- "Тэта",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 12, tostring(round(tmpGreek.Vega,2)), tmpGreek.Vega) -- "Вега",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 13, tostring(round(tmpGreek.Rho,2)), tmpGreek.Rho) -- "Ро",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Logging(os.date().. Sep .. GetRow(tbl.t_id,row))
end
return false
end

-------------------------------Колбэки------------------------------------------------------------------
function f_cb(t_id,msg,par1,par2) --событие на нажатие клавиш
&nbsp;&nbsp; if (msg==QTABLE_CHAR) and (par2==19) then --сохранить в CSV файл текущее состояние таблицы нужно нажать комбинацию клавиш Ctrl+S
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSV(tbl)
&nbsp;&nbsp; end
&nbsp;&nbsp; if (msg==QTABLE_CLOSE) then --закрытие окна
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stop()
&nbsp;&nbsp; end
end

function OnStop()
&nbsp;&nbsp; Stop()
&nbsp;&nbsp; DestroyTable(tbl.t_id)
end

function OnInit()
local STR = ""
&nbsp;&nbsp; if doLogging then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file = io.open(log_file, "w+") 
&nbsp;&nbsp; end
&nbsp;&nbsp; tbl.t_id = AllocTable()
&nbsp;&nbsp; for i=1,table.maxn(tbl) do --добавляем колонки
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i&#60;=4 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddColumn(tbl.t_id, i, tbl&#91;i&#93;, true, QTABLE_CACHED_STRING_TYPE, string.len(tbl&#91;i&#93;)*2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddColumn(tbl.t_id, i, tbl&#91;i&#93;, true, QTABLE_DOUBLE_TYPE, 10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if doLogging then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STR=STR..tbl&#91;i&#93;..Sep
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp; end
&nbsp;&nbsp; Logging("Дата Время".. Sep .. STR)
&nbsp;&nbsp; CreateWindow(tbl.t_id)
&nbsp;&nbsp; SetWindowCaption(tbl.t_id,tbl.caption)
&nbsp;&nbsp; SetTableNotificationCallback(tbl.t_id, f_cb)
end

function OnParam(class, sec)
if (class==ClassCode) and (WORK) and (string.find(SecList,sec)~=nil) then
&nbsp;&nbsp; G_ROW = Sec2row&#91;sec&#93;
&nbsp;&nbsp; if (G_ROW~=nil) and (G_ROW&#62;=0) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Highlight(tbl.t_id, G_ROW, QTABLE_NO_INDEX, RGB(255,0,0), QTABLE_DEFAULT_COLOR, INTERVAL)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CALC=true
&nbsp;&nbsp; end
end
end

function main()

WORK = false
CALC=true
&nbsp;&nbsp; for SecCode in string.gmatch(SecList, "(&#91;^,&#93;+)") do --перебираем опционы по очереди.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Optionbase=getParamEx(ClassCode,SecCode,"optionbase").param_image
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Optiontype=getParamEx(ClassCode,SecCode,"optiontype").param_image
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (string.find(BaseSecList,Optionbase)~=nil) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local row = InsertRow(tbl.t_id,-1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local T={
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Name"&#93; = getSecurityInfo(ClassCode,SecCode).name,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"SecCode"&#93; = SecCode,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optiontype"&#93; = Optiontype,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"Optionbase"&#93; = Optionbase,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"DAYS_TO_MAT_DATE"&#93; = getParamEx(ClassCode,SecCode,"DAYS_TO_MAT_DATE").param_value+0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BaseCol&#91;row&#93;=T
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --заполняем статичные параметры
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sec2row&#91;SecCode&#93;=row
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 1, BaseCol&#91;row&#93;.Name) -- "Название опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 2, BaseCol&#91;row&#93;.SecCode) --"Код опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 3, BaseCol&#91;row&#93;.Optiontype) -- "Тип опциона",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetCell(tbl.t_id, row, 4, BaseCol&#91;row&#93;.Optionbase) --"Баз. актив",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --заказ данных
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CreateDataSourceEX(BaseClassCode,T.Optionbase,"settleprice")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CreateDataSourceEX(ClassCode,T.SecCode,"strike")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CreateDataSourceEX(ClassCode,T.SecCode,"volatility")

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --заполняем динамичные параметры
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CALC=Calculate(row,true) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp; end
WORK = true
while WORK do
&nbsp;&nbsp; CALC=Calculate(G_ROW,CALC)
&nbsp;&nbsp; sleep(INTERVAL)
end
end

 </pre>
=============
<br /><br />=============<br />Запустил код. Таблица открылась но заполнились только первые четыре колонки до &quot;базового актива&quot; <br />Греки не показывает &nbsp; <br />
			<i>21.07.2015 16:01:03, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7210/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7210/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 16:01:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Подскажите какая функция читает  &quot;доску опционов&quot; ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message7209/topic748/">Подскажите какая функция читает  &quot;доску опционов&quot; ?</a></b> <i>доска опционов</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Z83t9ikr" href="/user/1103/" bx-tooltip-user-id="1103">Imersio Arrigo</a> пишет: <br /><br />====quote====<br /> Egor Zaytsev пишет: <br />Греки только в доске опционов.<br /><br />=============<br />В доске нет греков <br />Они только в "Таблице параметров опционов"<br /><br />=============<br />Это плохо ... <br />
			<i>21.07.2015 15:50:18, max max.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message7209/topic748/</link>
			<guid>http://forum.quik.ru/messages/forum10/message7209/topic748/</guid>
			<pubDate>Tue, 21 Jul 2015 15:50:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
