EASE
EASE личный блог
04 июля 2022, 13:06

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

Как подключиться к  таблице состояние счета LUA, чтобы робот обращался или брал информацию из этой таблицы?
3 Комментария
  • Счастливый Конец
    04 июля 2022, 14:50
    у меня экспорт денег в этой функции, попробуйте разобраться
    — экспорт позиции и денег на фортс и валютном рынках
    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

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

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

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