<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Сделка по точному времени сервера]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Сделка по точному времени сервера форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 28 Apr 2026 06:17:58 +0300</pubDate>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41747/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_5bSC05FS" href="/user/13525/" bx-tooltip-user-id="13525">Александр</a> написал:<br />До этого момента os.time(FixTime(stime)) &gt;= os.time(FixTime(base_time)) всегда верное значение выдает.<br />=============<br /><br />Добавьте в код логирование и посмотрите что с чем сравнивается. <br />
			<i>28.01.2020 11:14:41, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41747/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41747/topic5009/</guid>
			<pubDate>Tue, 28 Jan 2020 11:14:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41742/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Столкнулся с проблемой следующего характера<br />Скрипт работает &nbsp;только когда начинается торговая сессий в 10:00:01<br />До этого момента os.time(FixTime(stime)) &gt;= os.time(FixTime(base_time)) всегда верное значение выдает.<br />Можно еще конечно брать время операционной системы, но там погрешность в синхронизации и нету уверенности даже если на операционной системе сделать синхронизацию по квантовым часам, что на стороне сервера на столько же точные данные.<br />Еще вариант спамить заявками каждые 10 миллисекунд (думаю через какое-то время брокер даст по рукам, за такое)<br />Буду рад если есть еще идеи как это можно реализовать. Может зацепится за первый пакет который приходит всегда в 09:45:00.... или еще &nbsp;как-то... &nbsp; <br />
			<i>28.01.2020 10:14:09, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41742/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41742/topic5009/</guid>
			<pubDate>Tue, 28 Jan 2020 10:14:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41707/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот финальный вариант вдруг кому будет полезен
====code====
<pre>-- Вместо ??? поставить свои значения
p='????' -- Id транзакции
base_time = "09:45:00" -- точное время в которое исполнится заявка
&nbsp;&nbsp;
&nbsp;&nbsp; function FixTime(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V=tostring(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Out = os.date("!*t",os.time())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local len = string.len(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if len&#62;6 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)%p(%d%d)%p(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif len==6 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)(%d%d)(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif len==5 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec = string.match(V,"(%d)(%d%d)(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return Out
&nbsp;&nbsp; end

function main()
while true do
stime = tostring(GetInfoParam("SERVERTIME")) 
 if os.time(FixTime(stime)) &#60; os.time(FixTime(base_time)) then
 elseif os.time(FixTime(stime)) &#62;= os.time(FixTime(base_time)) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction = {}
transaction&#91;'TRANS_ID'&#93; = p
transaction&#91;'CLASSCODE'&#93; = '?????'
transaction&#91;'ACTION'&#93; = '?????'
transaction&#91;'Торговый счет'&#93; = '???????????'
transaction&#91;'К/П'&#93; = '???????'
transaction&#91;'Тип'&#93; = '??????'
transaction&#91;'Тип по цене'&#93; = '???????'
transaction&#91;'Тип по остатку'&#93; = '??????'
transaction&#91;'Тип ввода значения цены'&#93; = '???????'
transaction&#91;'Назначение заявки'&#93; = '?????'
transaction&#91;'Тип события активации заявки'&#93; = '?????'
transaction&#91;'Режим'&#93; = '?????'
transaction&#91;'Инструмент'&#93; = '?????'
transaction&#91;'Цена'&#93; = '????'
transaction&#91;'Лоты'&#93; = '????'
transaction&#91;'Примечание'&#93; = ''
transaction&#91;'Объем заявки'&#93; = ''
transaction&#91;'Код внешнего пользователя'&#93; = ''
transaction&#91;'Время активации'&#93; = ''
transaction&#91;'Доп. инфо'&#93; = ''
transaction&#91;'Фирма торгового счета'&#93; = ''
result = sendTransaction(transaction)
&nbsp;&nbsp;&nbsp;if result ~= "" then
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(string.format("Транзакция %s не прошла &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;проверку на стороне терминала QUIK &#91;%s&#93;",
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.TRANS_ID, result))
&nbsp;&nbsp;&nbsp;else
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(string.format("Транзакция %s отправлена",
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transaction.TRANS_ID))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop() -- отключение скрипта
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- os.exit(0) -- выключение Quik
&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp; end
&nbsp;&nbsp; sleep(1000)
end
end

</pre>
============= <br />
			<i>24.01.2020 17:36:25, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41707/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41707/topic5009/</guid>
			<pubDate>Fri, 24 Jan 2020 17:36:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41704/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wRmiX7xh" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />stime = tostring(GetInfoParam(&quot;SERVERTIME&quot;)) <br /><br />Вы здесь прочитали время сервера при старте скрипта, а потом в цикле это значение не обновляете. Потому и не срабатывает<br />=============<br />Спасибо, теперь работает &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp; <br />
			<i>24.01.2020 15:50:12, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41704/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41704/topic5009/</guid>
			<pubDate>Fri, 24 Jan 2020 15:50:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41691/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			stime = tostring(GetInfoParam(&quot;SERVERTIME&quot;)) <br /><br />Вы здесь прочитали время сервера при старте скрипта, а потом в цикле это значение не обновляете. Потому и не срабатывает <br />
			<i>23.01.2020 21:51:57, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41691/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41691/topic5009/</guid>
			<pubDate>Thu, 23 Jan 2020 21:51:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41661/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_ji3OH4MG" href="/user/13525/" bx-tooltip-user-id="13525">Александр</a>, <br /><br />У Вас функция FixTime не правильная.<br />При указании "9:50" Вы отправляете строку размером 4 символа, а в функции у Вас проверка для строки 5, 6 и больше 6 символов.<br />Если же указать "09:50" - 5 символов, то функция string.match не сможет корректно обработать строку т.к. в ней требуются параметры с секундами, т.е. "09:50:00"<br /><br />либо переделайте функцию, либо указывайте время правильно. <br />
			<i>22.01.2020 06:39:36, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41661/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41661/topic5009/</guid>
			<pubDate>Wed, 22 Jan 2020 06:39:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41622/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />Опишите симптомы<br /><br />=============<br />время сервера 10:00 выставляю в фаиле 9:50 заявка исполняется<br />если же выставляю 10:01, то при достижении времени сервера 10:01 сделка не исполняется, а процесс циклически продолжается <br />
			<i>20.01.2020 13:56:53, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41622/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41622/topic5009/</guid>
			<pubDate>Mon, 20 Jan 2020 13:56:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41621/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_JHG6JEJs" href="/user/13525/" bx-tooltip-user-id="13525">Александр</a> написал:<br />но где-то от моего взора прячется ошибка<br />=============<br />Опишите симптомы <br />
			<i>20.01.2020 13:47:33, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41621/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41621/topic5009/</guid>
			<pubDate>Mon, 20 Jan 2020 13:47:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Сделка по точному времени сервера</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message41620/topic5009/">Сделка по точному времени сервера</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Есть простая задача, выставить заявку максимально рано в предторговый период 09:45:00 - 09:59:59 мск<br />Несколько дней потратил написал вот такой скипт, но где-то от моего взора прячется ошибка
====code====
<pre>base_time = "09:45:00"&nbsp;&nbsp;
WORK_DONE = false
stime = tostring(GetInfoParam("SERVERTIME")) 

&nbsp;&nbsp; function FixTime(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;V=tostring(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Out = os.date("!*t",os.time())
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local len = string.len(V)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if len&#62;6 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)%p(%d%d)%p(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif len==6 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec&nbsp;&nbsp;= string.match(V,"(%d%d)(%d%d)(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif len==5 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Out.hour,Out.min,Out.sec&nbsp;&nbsp;= string.match(V,"(%d)(%d%d)(%d%d)")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return Out
&nbsp;&nbsp; end

function main()

while true do
 if os.time(FixTime(stime)) &#60; os.time(FixTime(base_time)) then
&nbsp;&nbsp;&nbsp;WORK_DONE=false
 elseif not WORK_DONE then
&nbsp;&nbsp;&nbsp;WORK_DONE=true
transaction = {}
transaction&#91;'TRANS_ID'&#93; = '????'
transaction&#91;'CLASSCODE'&#93; = '????'
transaction&#91;'ACTION'&#93; = 'Ввод заявки'
transaction&#91;'Торговый счет'&#93; = '??????????????'
transaction&#91;'К/П'&#93; = 'Продажа'
transaction&#91;'Тип'&#93; = 'Лимитная'
transaction&#91;'Тип по цене'&#93; = 'По разным ценам'
transaction&#91;'Тип по остатку'&#93; = 'Поставить в очередь'
transaction&#91;'Тип ввода значения цены'&#93; = 'По цене'
transaction&#91;'Назначение заявки'&#93; = 'По умолчанию'
transaction&#91;'Тип события активации заявки'&#93; = 'Обычная заявка'
transaction&#91;'Режим'&#93; = '????'
transaction&#91;'Инструмент'&#93; = '??????'
transaction&#91;'Цена'&#93; = '????'
transaction&#91;'Лоты'&#93; = '1'
transaction&#91;'Примечание'&#93; = ''
transaction&#91;'Объем заявки'&#93; = ''
transaction&#91;'Код внешнего пользователя'&#93; = ''
transaction&#91;'Время активации'&#93; = ''
transaction&#91;'Доп. инфо'&#93; = ''
transaction&#91;'Фирма торгового счета'&#93; = ''
&nbsp;&nbsp; end
&nbsp;&nbsp; sleep(1000)
end
end
</pre>
============= <br />
			<i>20.01.2020 13:26:52, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message41620/topic5009/</link>
			<guid>http://forum.quik.ru/messages/forum10/message41620/topic5009/</guid>
			<pubDate>Mon, 20 Jan 2020 13:26:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
