Есть простая задача, выставить заявку максимально рано в предторговый период 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 |