snegovik3009 (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Авто stop для открытых позиций без привязки к графику.
 
[14036] -----------------START--------------------
[14036] Код бумаги_SBER
[14036] Код клиента_1238
[14036] Текущий остаток по бумагам_10.0
[14036] Цена приобретения_118.37
[14036] Тип лимита_0
[14036] ==================END=======================
[14036] SEC_CODE_SBER_QTY_LOTS_10.0
[14036] -----------------START--------------------
[14036] Код бумаги_GMKN
[14036] Код клиента_1238
[14036] Текущий остаток по бумагам_1.0
[14036] Цена приобретения_19778.0
[14036] Тип лимита_0
[14036] ==================END=======================
[14036] -----------------START--------------------
[14036] Код бумаги_LKOH
[14036] Код клиента_1238
[14036] Текущий остаток по бумагам_1.0
[14036] Цена приобретения_3925.0
[14036] Тип лимита_0
[14036] ==================END=======================
[14036] -----------------START--------------------
[14036] Код бумаги_ROSN
[14036] Код клиента_1238
[14036] Текущий остаток по бумагам_1.0
[14036] Цена приобретения_351.5
[14036] Тип лимита_0
[14036] ==================END=======================
[14036] -----------------START--------------------
[14036] Код бумаги_SBER
[14036] Код клиента_1238
[14036] Текущий остаток по бумагам_10.0
[14036] Цена приобретения_118.37
[14036] Тип лимита_0
[14036] ==================END=======================
[14036] SEC_CODE_SBER_QTY_LOTS_10.0
Авто stop для открытых позиций без привязки к графику.
 
[img]file:///F:/windows/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202022-05-26%20105437.png[/img]
Авто stop для открытых позиций без привязки к графику.
 
Подскажите. Не могу сообразить. Сканирую таблицу depo_limits в самой функции видит позиции, но возращает только одну и туже позицию, что через return, что через присваивание глобальных переменных. Результат одинаковый. Как сделать что бы возращались параметры по каждой позиции, а не только одной и той же?
Код
IsRun       = true
ACCOUNT     = 'NL0011100043' -- Код счета
CLASS_CODE  = 'QJSIM' -- Код класса
EXPIRY_DATE = 'TODAY' -- Срок действия стоп-заявки: 'TODAY' - до окончания текущей торговой сессии, 'GTC' -до отмены, или время в формате 'ГГГГММДД'
PriceStep   = 0
Procent     = 2
IsRun       = true
SEC_CODE    = '' -- Код инструмента
QTY_LOTS    = 0

function OnStop()
    IsRun = false
end

function main()

    while IsRun do
    ScanerPortfelya()
    PrintDbgStr("SEC_CODE_"..SEC_CODE.."_QTY_LOTS_"..QTY_LOTS)
        sleep(1000)
        SEC_CODE = ""
        QTY_LOTS = 0
    end
end

-- Сканирует Портфель
ScanerPortfelya = function()
    -- Акции
    
        -- Перебирает таблицу "Позиции по инструментам"
        local num = getNumberOf('depo_limits')
        local depo_limit
        for i = 0, num - 1 do
            depo_limit = getItem('depo_limits', i)
            if depo_limit.limit_kind == 0 and depo_limit.currentbal ~= 0 then
                
                SEC_CODE = depo_limit.sec_code
                QTY_LOTS = depo_limit.currentbal

            PrintDbgStr("-----------------START--------------------")
            PrintDbgStr("Код бумаги_"..depo_limit.sec_code)      -- Код бумаги  (STRING) 
            --PrintDbgStr("Счет депо_"..depo_limit.trdaccid)     -- Счет депо  (STRING) 
            --PrintDbgStr("Идентификатор фирмы_"..depo_limit.firmid)
            PrintDbgStr("Код клиента_"..depo_limit.client_code)
           -- PrintDbgStr("Входящий остаток по бумагам_"..depo_limit.openbal)
           -- PrintDbgStr("Входящий лимит по бумагам_"..depo_limit.openlimit)
            PrintDbgStr("Текущий остаток по бумагам_"..depo_limit.currentbal)
            -- PrintDbgStr("Текущий лимит по бумагам_"..depo_limit.currentlimit)
            -- PrintDbgStr("Заблокировано на продажу количества лотов_"..depo_limit.locked_sell)
            -- PrintDbgStr("Заблокированного на покупку количества лотов_"..depo_limit.locked_buy)
            -- PrintDbgStr("Стоимость ценных бумаг, заблокированных под покупку_"..depo_limit.locked_buy_value)
            -- PrintDbgStr("Стоимость ценных бумаг, заблокированных под продажу_"..depo_limit.locked_sell_value)
            PrintDbgStr("Цена приобретения_"..depo_limit.awg_position_price)
            PrintDbgStr("Тип лимита_"..depo_limit.limit_kind)
            PrintDbgStr("==================END=======================")
           -- return  depo_limit.sec_code, depo_limit.currentbal, depo_limit.awg_position_price
            
           -- return depo_limit.sec_code, depo_limit.currentbal 
            end
        end
end

Авто stop для открытых позиций без привязки к графику.
 
Цитата
Евгений написал:
Конечно это возможно и это самое простое что можно сделать
Спасибо. А какую таблицу с канировать роботу,  что бы выставлять стопы на фондовом рынке в отдельном субсчете?
Авто stop для открытых позиций без привязки к графику.
 
Добрый день. Я новичок. Не могу понять возможно ли написать на lua робота, что бы при открытии сделки или при проверки роботом  таблицы состояние счета или какойто другой табилцы? Он проверял выставлен ли стоп по открытой позиции и выставлял его вслучае отсутсвия. И что бы он работал без участия пользователя. Один раз настроил нужный процент и другие параметры, и всё. Полностью автоматический. Без таких заморочек: прежде чем выставить стоп нужно постоянно выбирать код бумаги и тд.  Возможно написать такого робота или это не возможно на lua?
futures_client_holding выдает значение nil
 
Сам прохожу обучение по видео пистолетова такая же ошибка. Разобрался может кому поможет
Problem = ""

  local PosNow = PosNowFunc(Emit,MyAccount)
     
       PutDataToTable(posNow) не правильно должно быть с заглавной буквы  PosNow:  PutDataToTable(PosNow)
Страницы: 1
Наверх