Блог им. bosov

Матлаб из Клуа

    • 17 января 2017, 16:06
    • |
    • bosov
  • Еще
Для любителей матлаба, похоже с ним можно связаться из клуа

--require "w32" -- говорят что нужна, на практике не увидел
require "luacom"
local isrun = true

function OnStop(flag)
    isrun = false
end
function main()
--w32.CoInitialize(nil)

ML = luacom.CreateObject("matlab.application.single")
assert(ML)
ML.Visible = 1 -- не обязательно там все равно ничего в принципе не видно, но проще убить процесс если что

t = tos(0)
message("tos = " .. tostring(#t)) -- меньше 150 тк фильтр по "SPBFUT"

ML:PutWorkspaceData("C1", "base", t); -- отправляем в МЛ под именем С1
message("Put")
wd = ML:GetWorkspaceData('C1', 'base') -- а вот так получаем обратно
message("C1(1,1) = " .. tostring(wd[1][1]))
ML:Execute("r = TST;") -- в МЛ у меня эта функция пишет данные в файл и возвращает "1", если все гладко
r = ML:GetWorkspaceData('r', 'base') -- на прямую результат возвращает криво, так наверно удобнее
message("Execute TST = " .. tostring®)

ML:Quit()
ML = nil
--w32.CoUninitialize(nil)
message("end COM ML")
end

function tos(n) -- читает ТОС  в матрицу начиная с "n"
   local outcell = {}
   local cnt = 0
   nn = getNumberOf("all_trades")
   for i = n, 150 do -- для примера хватит 150 строчек, но максимум 1500 * 5
                                 -- приходится ограничить - у LuaVM случается грыжа при передаче в МЛ более чем 2000*5
      trade = getItem("all_trades", i)
      cc = trade["class_code"]
      if cc == "SPBFUT" then
         cnt = cnt + 1
         dt = trade["datetime"]
         dt = dt.hour*10000 + dt.min*100 + dt.sec
         outcell[cnt] = {trade.trade_num, trade.sec_code, trade.qty, trade.price, dt}
      end
   end
   return outcell
end
523 | ★5
4 комментария
а с R можно так?
avatar
Vladimir, так вся соль, что клуа в квике…
avatar
bosov, ну я и спрашиваю из клуа не с матлабом, а с R связаться?
avatar
Vladimir, понял — не в курсе. Я МЛ дружу.
avatar

Читайте на SMART-LAB:
Фото
Цвет лебедя – неопределенный
2 ядерные державы опасно сблизились . А для фондового рынка как будто ничего не произошло . -1% по Индексу МосБиржи. И без эффекта для...
Фото
NZD/CAD: цены испытывают давление под натиском продавцов?
Котировки кросс-курса NZD/CAD оттолкнулись от нисходящей трендовой линии, попутно сформировав свечную модель «медвежье поглощение». Судя по всему,...
Фото
Итоги 2025 года и прогнозы от аналитиков «Финама»: облигации
2025 год на рынке облигаций запомнился высокими процентными ставками, повышенной волатильностью и заметным смещением фокуса инвесторов в...
Фото
Стратегия 2026. Часть I: извлекаем правильные уроки из ошибок 2025
Those who cannot remember the past are condemned to repeat it  -  © George Santayana, 1905 В начале 2026 года у нас на руках стратегии 13...

теги блога bosov

....все тэги



UPDONW
Новый дизайн