Евгений Петров (Автор тем)

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

Страницы: 1
Исчезает склейка фьючерсов на следующий день
 
Здравствуйте, на следующую торговую сессию после замены контрактов склейка заменяется на новый контракт, например:


Склейка фьючерсов по нефти BRM2 (BR-6.22)  и BRN2 (BR-7.22): Утром 31.05 склейка есть, на следующий день уже нет, заменилась на BRN2 полностью.


Файлы данных целые и не повреждены: SPBFUT_BRN2_10.dat и SPBFUT_BRM2_10.dat

Терминалы: 9.2.3.15, 9.3.1.11, возможно и другие версии
Брокеры у которых проверял: финам, открытие

Проблема появилась какое-то время назад.

Подскажите, как это исправить?
Знаки вопроса в имени файлов обновления
 
Здравствуйте,

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

Система - Windows server 2012 R2

Все остальные меню квика на русском нормально отображаются, других проблем с кодировкой нет.

Пробовал все рекомендации из раздела "3.18 Проблема со шрифтами", включая редактирования реестра. Удалял эти файлы с русскими имена из каталога квика, ничего не помогло.
Как узнать, будут ли завтра или в другую дату торги по фъючерсу, Автоматическая замена кодов фъючерсов
 
Ломаю голову над вопросом - у меня в скриптах выполняется автоматическая замена кодов фъючерсов за несколько дней до экспирации, но эти несколько дней могут быть праздниками, выходными или прочими неторговыми днями.

Есть ли возможность запросить будут ли по инструменту торги на какую-то дату? Или завтра например?
Кривая выгрузка таблицы getPortfolioInfoEx в версии 7.19.0.51, Сломали таким обновлением мои скрипты
 
Брокер Открытие,

Обновился сегодня с 7.14.1.7 на 7.19.0.51, в результате lua скрипты перестали корректно работать, так как возвращает функция getPortfolioInfoEx кривые поля, например varmargin стал нулевым, а profit_loss показывает занятое ГО.

Помог откат обратно на версию 7.14.1.7

Кто такой красавчик с обновлением - вы или брокер? И что делать теперь?
Трейлинг стоп на графике
 
Здравствуйте,

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

Т.е. например как передать в код индикатора информацию о сделке и уровне стопа, чтобы он уровень стопа нарисовал?
Стоимость портфеля на счете единой денежной позиции, Финам ЕДП
 
Здравствуйте

Никак не могу разобраться как в реальном времени получить стоимость портфеля в для счета ЕДП брокера финам, сейчас использую функцию getPortfolioInfoEx, но возвращаемые значение в поле all_assets в вечернюю сессию начинает отличаться от значений в терминале, есть ли у кого пример, как точно можно вытащить стоимость портфеля в финаме ЕДП?
Работа с файлом несколькими скриптами
 
Есть задача синхронизировать данные между lua скриптами, сейчас у меня следующее решение:

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

function Tofile(config,message) local file=io.open(config,"a")
file:write( message.."\n")
local z=file.close(file)
end

function Toclearfile(config,message)
local file=io.open(config,"w")
file:write( message.."\n")
local z=file.close(file)
end


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

Прошу подсказать, как мне изменить код для обмена данными между скриптами? Есть ли другой способ для обмена данных?
Таблица не обновляется, После перезапуска или переподключения квика
 
Добрый день,

Есть скрипт для расчета, который формирует таблицу и обновляет её если запущен руками, но после перезапуска квика или переподключении таблица не обновляется (хотя скрипт работает без ошибок), значения не наполняются, подскажите, что можно сделать и где поправить?

Прикладываю код, два скриншота, один после запуска скрипта руками (работает правильно), другой с незаполненными полями (надо пофиксить):
Код
function OnInit()
   is_run=true
end
function OnStop()
   do_main=false
   DestroyTable(id)
end
-- ******************************************************************************************************* Блок расчета и вывода КДС
function InitKDS()
    id = AllocTable()
    AddColumn(id, 1, "Счёт", true, QTABLE_CACHED_STRING_TYPE, 18)
   AddColumn(id, 2, "КДС", true, QTABLE_DOUBLE_TYPE, 10)
   AddColumn(id, 3, "Требование (до КДС = 0)", true, QTABLE_DOUBLE_TYPE, 30)
    CreateWindow(id)
    SetWindowCaption(id,"Расчет КДС")
   SetWindowPos(id,1244,0,340,160)
   for i = 0, getNumberOf("futures_client_limits") - 1 do
      if getItem("futures_client_limits",i).limit_type == 0 then
         InsertRow(id, -1)
      end
    end
end
function CalkKDS()
   local ceil=math.ceil
   local j = 1
   local kds = 1
   local margin = 0
   for i = 0, getNumberOf("futures_client_limits") - 1 do
      if getItem("futures_client_limits",i)~=nil then
         if getItem("futures_client_limits",i).limit_type == 0 then
            local fcl = getItem("futures_client_limits",i)
            if (fcl.cbplimit + fcl.accruedint) ~= 0 then
               kds = ceil((fcl.cbplimit + fcl.accruedint - fcl.cbplused_for_positions + fcl.varmargin)/(fcl.cbplimit + fcl.accruedint)*1000)/1000
               if kds >= 0.00 and kds <= 0.20 then
                  SetColor(id, j, 2, RGB(255, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
                  SetColor(id, j, 3, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)                              
               elseif kds < 0.00 then
                  SetColor(id, j, 2, RGB(255, 0, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
                  margin = ceil(fcl.cbplused_for_positions - (fcl.cbplimit + fcl.accruedint + fcl.varmargin)*1000)/1000
                  SetColor(id, j, 3, RGB(255, 0, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
               else 
                  SetColor(id, j, 2, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR) 
                  SetColor(id, j, 3, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
                  mailKDS02=true
               end 
               SetCell(id, j, 1, tostring(fcl.trdaccid),0)
               SetCell(id, j, 2, tostring(kds),kds)
               SetCell(id, j, 3, tostring(margin), margin)
            else 
               SetColor(id, j, 2, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
               SetCell(id, j, 1, tostring(fcl.trdaccid),0)
               SetCell(id, j, 2, tostring(kds),kds)
            end 
            j = j + 1
         end
      end
   end
end
-- *******************************************************************************************************
function main()
   do_main=true
   while isConnected()~=1 do sleep(100) end
   sleep(5000) -- Для отображения таблицы после запуска квика
   InitKDS()
   while do_main do
      if isConnected()==1 then
         if is_run then
            CalkKDS()
            if IsWindowClosed(id) then is_run = false end
         end      
      end
      sleep(1000)
   end
end
Уведомление, когда скрипт перестал работать/не запустился
 
Здравствуйте,

Пожалуйста уточните, как можно понять, что скрипт lua перестал работать или не запустился вместе со стартом квика (например по ошибке) и отправить в результате сообщение?

Хотел написать отдельный скрипт на autoit, но непонятно к чему привязаться, как отслеживать отвалившийся Lua скрипт?
Страницы: 1
Наверх