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