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

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

Страницы: 1
Сделка по точному времени сервера
 
Есть простая задача, выставить заявку максимально рано в предторговый период 09:45:00 - 09:59:59 мск
Несколько дней потратил написал вот такой скипт, но где-то от моего взора прячется ошибка
Код
base_time = "09:45:00"  
WORK_DONE = false
stime = tostring(GetInfoParam("SERVERTIME")) 

   function FixTime(V)
      V=tostring(V)
      local Out = os.date("!*t",os.time())
      local len = string.len(V)
      if len>6 then
         Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)%p(%d%d)%p(%d%d)")
      elseif len==6 then
         Out.hour,Out.min,Out.sec  = string.match(V,"(%d%d)(%d%d)(%d%d)")
      elseif len==5 then
         Out.hour,Out.min,Out.sec  = string.match(V,"(%d)(%d%d)(%d%d)")
      end
      return Out
   end

function main()

while true do
 if os.time(FixTime(stime)) < os.time(FixTime(base_time)) then
   WORK_DONE=false
 elseif not WORK_DONE then
   WORK_DONE=true
transaction = {}
transaction['TRANS_ID'] = '????'
transaction['CLASSCODE'] = '????'
transaction['ACTION'] = 'Ввод заявки'
transaction['Торговый счет'] = '??????????????'
transaction['К/П'] = 'Продажа'
transaction['Тип'] = 'Лимитная'
transaction['Тип по цене'] = 'По разным ценам'
transaction['Тип по остатку'] = 'Поставить в очередь'
transaction['Тип ввода значения цены'] = 'По цене'
transaction['Назначение заявки'] = 'По умолчанию'
transaction['Тип события активации заявки'] = 'Обычная заявка'
transaction['Режим'] = '????'
transaction['Инструмент'] = '??????'
transaction['Цена'] = '????'
transaction['Лоты'] = '1'
transaction['Примечание'] = ''
transaction['Объем заявки'] = ''
transaction['Код внешнего пользователя'] = ''
transaction['Время активации'] = ''
transaction['Доп. инфо'] = ''
transaction['Фирма торгового счета'] = ''
   end
   sleep(1000)
end
end
Страницы: 1
Наверх