Фёдор Сухов (Автор тем)

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

Страницы: 1
ZeroBrane Studio Lightweight IDE for your Lua needs, полезная для новичков среда разработки со всеми необходимыми качествами
 
Доброе время суток!
Думаю будет полезным дать новичкам и не только ссылку на
среду для разработчика под Lua:
https://studio.zerobrane.com
https://studio.zerobrane.com/download?not-this-time

Ещё не проверял как эта оболочка с встроенным отладчиком с Квиком работает.
Остановка QUIK или странное поведение, Остановка QUIK или странное поведение без зависания
 
Добрый день!
Хочу разобраться в эксплуатации Квика.
На данный момент нами арендуется Windows Server 2008 через брокера.

Проблема непонятного поведения Квика выглядит примерно так:
1. Теряется соединение.
Сам Квик не хочет повторить соединение.
Завсиания не наблюдается (менюшки работают)
При этом Интернет есть и с другого рабочего места коннект есть и удалённое управление работает.

2. Пробуем перелогиниться.
Соединение происходит и далее дальнейшая работа продолжается.

3. Вчера выдал Квик, что недостаточно ему памяти для выполнения Люа модуля.
Памяти сам Квик занимал вчера 1,6 ГБайт, а сегодня 2,6 ГБайт.
И сегодня ему памяти достаточно.
Но поведение такое же, но Люа модуль работает нормально, но коннект потерялся.

4. Высылаю скриншоты Диспетчера задач.




Спрэд в стакане и цены совершённых сделок (Таблица всех сделок), Проблема понимания изменения спрэда в стакане и цены совершённых сделок в Таблице всех сделок
 
Суть проблемы:
Почему сделки находятся за пределами установленного на данный момент спрэда (19:00:00)?
Правильно ли берётся спрэд из стакана заявок?
Что неправильно в коде?

Например:
Покупка по цене 62050, а спрэд находится в диапазоне цен 62076-62099 (Рис. 1).
или
Продажа по цене 62076, а спрэд находится в диапазоне цен 62052-62071 (Рис. 2).

Ссылки на изображения прилагаю.


Рис.1. Копия сделок и спрэд в стакане

Рис.2. Копия сделок и спрэд в стакане

Рис.3. Фрагмент Таблицы всех сделок (Квик)
Код
sClassCode = "SPBFUT" 
sSecCode = "SiU5" 
deltaSpread=10 -- рублей

    if alltrade.sec_code == sSecCode and alltrade.class_code == sClassCode then
                if  bit.band(alltrade.flags, 0x1) ~= 0 then
                        direction="Продажа"
                        qt = getQuoteLevel2(sClassCode, sSecCode)
                        priceBid=qt.bid[qt.bid_count+0].price
                        priceAsk=qt.offer[1].price
                        if priceAsk-priceBid>=deltaSpread then 
                        f=f+1
                        ttt=tostring(direction.." Price="..alltrade.price.." bid="..priceBid.." ask="..priceAsk.." V="..alltrade.qty)
                        local row = t:AddLine()
                        SetCell(t.t_id, row, 1, tostring(f))
                        SetCell(t.t_id, row, 2,   table_time)
                        SetCell(t.t_id, row, 3,  ttt )
                        end                        
                end
                if  bit.band(alltrade.flags, 0x2) ~= 0 then
                        direction="Купля"
                        qt = getQuoteLevel2(sClassCode, sSecCode)
                        priceBid=qt.bid[qt.bid_count+0].price
                        priceAsk=qt.offer[1].price
                        if priceAsk-priceBid>=deltaSpread then 
                        f=f+1
                        ttt=tostring(direction.." Price="..alltrade.price.." bid="..priceBid.." ask="..priceAsk.." V="..alltrade.qty)
                        local row = t:AddLine()
                        SetCell(t.t_id, row, 1, tostring(f))
                        SetCell(t.t_id, row, 2,   table_time)
                        SetCell(t.t_id, row, 3,  ttt )
                        end
                end
    end
 
Таблица всех сделок, Проблема при считывании направлении сделок ("Купля" или "Продажа")
 
Добрый день!
Столкнулся с проблемой определения направления сделок из "Таблицы всех сделок", а именно:
1. Это бывает редко, но бывает.
Пример кода:
Код
sClassCode = "SPBFUT"
sSecCode = "SiU5"

            if alltrade.sec_code == sSecCode and alltrade.class_code == sClassCode then
                if alltrade.flags==1 then 
                        direction="Продажа"
                        end
                if alltrade.flags==2 then 
                        direction="Купля"
                        end
Так вот, например сегодня 28.07.2015 при старте в 10:00:00
первая сделка в текстовом представлении терминала QUIK (версия 6.17.1.17) выглядит так:
№      Время      Цена      Кол-во      Операция
______________________________________
1 10:00:00    60648             55     Купля
______________________________________

С помощью программы на Lua не получается определить направление сделки,
причём это бывает всегда, а именно, при старте.

Далее, всё работает нормально и все направления определяются правильно,
но и после старта случается невозможным определить направление, правда, гораздо реже.

Что же делать?
Как быть?
Что не так?
Как сам терминал определяет направление и, надеюсь, правильно определяет?

С уважением ко всем разработчикам!
Заранее благодарю!
Страницы: 1
Наверх