Александр Правилов (Автор тем)

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

Страницы: 1
Цена закрытия в предторговом акционе
 
Коллеги, добрый день!

Подскажите, как получить цену закрытия в предторговой сессии?

Имею следующий код, но

1. В предторговой сессии в переменной LAST получаю nil всегда
2. Как только начинается основная сессия, в переменную LAST получаю цену закрытия как положено

Как быть?

---Код сокращен, всё отрабатывает, значения в таблицу пишутся, в этом плане всё ок---
Код
is_run = true

 tbl=QTable:new()
 tbl:SetCaption('Робот')
 tbl:AddColumn('LAST',QTABLE_STRING_TYPE ,20)
 tbl:Show()
line_count_table={}

function OnParam (class, sec)
    if class=="TQBR" or class=="TQDE" then
   local LAST_T = getParamEx(class,  sec, "PREVPRICE")
   LAST=tonumber(toPrice(sec, LAST_T.param_value))   
    end
end

function main()
   while is_run do
   sleep (50)
   end 
end 
Мгновенная отмена заявки
 
Коллеги, добрый день!

Имеем следующий код (только отрывок который интересует, функции отправки и снятия заявок - 100% рабочие, проверено):

Дело в том, что заявка выставляется и попадает в систему, но следующая за выставлением заявки функция отмены всех заявок не отрабатывает, я так понимаю, потому что заявка ещё не попала в таблицу квика по скорости.
Если функцию отмены перенести в колбэк OnOrder - она снимется.

При тесте,что до запуска скрипта уже есть активные заявки, снимаются все, кроме только что отправленной.

Вопрос - есть возможность как-то быстро снять заявку только-что выставленную? или придется ждать завершения всего кода в OnParam, только после этого отработает OnOrder и я смогу её снять?
Код
function OnParam (class, sec)
.......
if Delta > 0.9 and CurentActiveOrder.image == "Wait" then
        
        --Отправляем заявку
        local id,ms = sendLimit(class,sec,"S",string.format(AUCTPRICE),1,account,client_code,"Коммент")
        --Помещаем в ячейку необходимую фразу
        tbl:SetValue(line_count_table[sec],'ЕстьЗаявка', string.format("Active"))
        --Тут же отменяем все заявки
        local trid,ms = killAllOrders(nil)
end
Использование данных при вызове OnParam, вопрос
 
Добрый день, товарищи!
Есть определенный набор тиккеров в скрипте.

При колбэке OnParam получаю определенные параметры, параметры отправляются в таблицу, так же в таблице присутствует расчетный параметр Delta.
Но незадача в том, что как только я добавляю закомментированное условие, всё, что после данного условия перестает выполняться.

При присвоении Delta - LASTDEPTHT, LASTDEPTHT в отладчике уже nil
Если убрать условие - всё ок

Не понимаю как условие на проверку времени дает такой эффект.

Пожалуйста, расскажите, почему? Я только изучаю Lua и могу что-то делать не правильно, прошу натолкнуть на путь истинный )

З.Ы.
В моей задаче необходимо получать значение последней сделки только при проведении основных торгов, далее, после основных производить вычисление только с последним значением.
Если условие не поставить, то по фонде цифра последней сделки поменяется после аукциона, а мне этого не надо.
Код
function OnParam (class, sec)
   
if string.find(ticker_list,sec)~=nil and (class==«TQBR» or class==«SPBFUT») then

        local BIDDEPTHT_T = getParamEx(class,  sec, «BID»)
        local BIDDEPTHT=tonumber(toPrice(sec, BIDDEPTHT_T.param_value))
        tbl:SetValue(line_count_table[sec],'BID', string.format(BIDDEPTHT))

        local OFFERDEPTHT_T = getParamEx(class,  sec, «OFFER»)
        local OFFERDEPTHT=tonumber(toPrice(sec, OFFERDEPTHT_T.param_value))
        tbl:SetValue(line_count_table[sec],'OFFER', string.format(OFFERDEPTHT))

        ------if getSTime()>100000 and getSTime()<184003 then

        local LASTDEPTHT_T = getParamEx(class,  sec, «LAST»)
        local LASTDEPTHT=tonumber(toPrice(sec, LASTDEPTHT_T.param_value))

        tbl:SetValue(line_count_table[sec],'LAST', string.format(LASTDEPTHT))

        ------end

        local Delta = LASTDEPTHT
        tbl:SetValue(line_count_table[sec],'Отклонение', string.format(Delta))
end
Перестал работать DDE с квика, Перестал работать DDE с квика
 
Добрый день!
Дано:
— Чистая ОС Win 10 Лицензия
— MS Office сначала 13, потом 10, потом опять 13 (тестировал)
— Чистый квик от Открытия
— В офисе галка об игнорировании DDE не стоит
— Все рекомендации в справке квика сделаны
— От имени админа запускал
— На другом ПК работает (и на этом тоже работало)

Суть: Не работает вывод через DDE в Excel, вообще никак… не могу понять почему, возможно кто-то сталкивался с данной проблемой и знает пути решения, поделитесь, пожалуйста :(

По скрину: книга запущена и лист тоже. сам Excel через квик загружается нормально.

Страницы: 1
Наверх