Авто stop для открытых позиций без привязки к графику.

Страницы: 1
RSS
Авто stop для открытых позиций без привязки к графику.
 
Добрый день. Я новичок. Не могу понять возможно ли написать на lua робота, что бы при открытии сделки или при проверки роботом  таблицы состояние счета или какойто другой табилцы? Он проверял выставлен ли стоп по открытой позиции и выставлял его вслучае отсутсвия. И что бы он работал без участия пользователя. Один раз настроил нужный процент и другие параметры, и всё. Полностью автоматический. Без таких заморочек: прежде чем выставить стоп нужно постоянно выбирать код бумаги и тд.  Возможно написать такого робота или это не возможно на lua?
 
Конечно это возможно и это самое простое что можно сделать
                       
 
Цитата
Евгений написал:
Конечно это возможно и это самое простое что можно сделать
Спасибо. А какую таблицу с канировать роботу,  что бы выставлять стопы на фондовом рынке в отдельном субсчете?
 
ту таблицу в которой у вас высвечивается открытая позиция, то есть ту где отображаются открытые  позиции.
                       
 
Подскажите. Не могу сообразить. Сканирую таблицу 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

 
[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]
 
[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
Страницы: 1
Читают тему
Наверх