Блог им. EASE

Как подключиться к таблице состояние счета LUA, QUIK

    • 04 июля 2022, 13:06
    • |
    • EASE
  • Еще
Как подключиться к  таблице состояние счета LUA, чтобы робот обращался или брал информацию из этой таблицы?
  • обсудить на форуме:
  • Quik Lua
3 комментария
у меня экспорт денег в этой функции, попробуйте разобраться
— экспорт позиции и денег на фортс и валютном рынках
function ExportMoney()
— Если не соединено то выходим
if isConnected() == 0 then return; end
— PapersForts (позиции ФОРТС)
local portfolio = «S|»
local count1 = getNumberOf(«futures_client_holding»)
for i = 0, (count1 — 1) do
local r = getItem(«futures_client_holding», i)
portfolio = portfolio… r.sec_code… ","… r.totalnet… "|"
end
— собираем Позиции по валютному рынку
— количество строк валюты
local count2 = getNumberOf(«depo_limits»)
— проходимся по строкам
for i = 0, (count2 — 1) do
— строка позиции
    local r = getItem(«depo_limits», i)
portfolio = portfolio… r.sec_code… ","… r.currentbal… "|"
end
— Добавим E на конце
portfolio = portfolio… «E»
— Если текст для portfolio изменился и запись прошла
if g_LastPortfolioText ~= portfolio and WriteText(«d:\\G\\»… g_folder… "\\Portfolio\\"… GetTime()… ".txt", portfolio) then
— Запоминаем текст
g_LastPortfolioText = portfolio
— Добавим в лог
Log(«запись portfolio»)
end
— собираем деньги на фортс
local money = «S|»
— собираем все деньги
local myMoney = ""
— количество строк в лимитах фьючерсов
local count2 = getNumberOf(«futures_client_limits»)
— проходим по строкам
for i = 0, (count2 — 1) do
— получаем строку
local r = getItem(«futures_client_limits», i)
myMoney = myMoney… r.firmid… " " ..r.trdaccid ..  " "… r.cbplimit… " "… r.cbplplanned… "\r\n"
if (r.cbplimit ~= 0) then
money = money… r.cbplimit… "|"… r.cbplplanned… "|"
end
end
— количество строк в лимитах денег
count2 = getNumberOf(«money_limits»)
— проходим по строкам
for i = 0, (count2 — 1) do
— получаем строку
local r = getItem(«money_limits», i)
myMoney = myMoney… r.firmid… " "… r.currcode… " "… r.openbal… " "… r.openlimit… " "… r.currentbal… " "… r.currentlimit… "\r\n"
end
— количество строк в Денежные позиции
count2 = getNumberOf(«account_positions»)
— проходим по строкам
for i = 0, (count2 — 1) do
— получаем строку
local r = getItem(«account_positions», i)
myMoney = myMoney… r.firmid… " "… r.currcode… " "… r.openbal… " "… r.currentpos… "\r\n"
end
— Добавим E на конце
money = money… «E»
— Если текст для money изменился и запись прошла
if g_LastMoneyText ~= money and WriteText(«d:\\G\\»… g_folder… "\\Money\\"… GetTime()… ".txt", money) then
— Запоминаем текст
g_LastMoneyText = money
— Добавим в лог
Log(«запись money»)
end
— Если текст для myMoney изменился и запись прошла
if g_LastMyMoneyText ~= myMoney and WriteText(«d:\\G\\Logs\\»… g_folder… "\\MyMoney.log", myMoney) then
— Запоминаем текст
g_LastMyMoneyText = myMoney
— Добавим в лог
Log(«запись myMoney»)
end
— конец функции экспорта позиции и денег
end

Счастливый Конец, как выводить данные из клиентского портфеля  ? Есть ли пример  
avatar
EASE, в моем примере показано как взять позицию на фортс и валютной секции. Для бумаг вроде другая таблица. И таблицы перечислены в файле qlua.chm в папке quik, делайте по аналогии.

теги блога EASE

....все тэги



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