<?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>Sat, 02 May 2026 22:31:17 +0300</pubDate>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56784/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gEdDAEEq" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />наше в разы проще в реализации<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_DLYWPyT6" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />согласование с разработчиком возможно исключительно только после регистрации пожелания<br />=============<br /><br />Получается сотрудник QUIK clients support самовольно решает, что будет "проще в реализации" для программистов, демонстрируя при этом отсутствие понимания клиент-серверного взаимодействия.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_KBrZ48C6" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Этому вопросу уже больше 10 лет<br />=============<br />Причина установлена: диверсант на предприятии. <br />
			<i>23.07.2021 10:04:41, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56784/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56784/topic6537/</guid>
			<pubDate>Fri, 23 Jul 2021 10:04:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56763/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это ваше пожелание, не мое.<br />Мое предложение здесь: <noindex><a href="https://forum.quik.ru/messages/forum10/message56521/topic6537/#message56521" target="_blank" rel="nofollow">#81</a></noindex> <br />
			<i>21.07.2021 13:14:47, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56763/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56763/topic6537/</guid>
			<pubDate>Wed, 21 Jul 2021 13:14:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56759/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_4W8fXXUU" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a>, <br />Вам уже было сказано что согласование с разработчиком возможно исключительно только после регистрации пожелания.<br />Пожелание зарегистрировано, информация ушла разработчикам, ждите ответ. <br />
			<i>21.07.2021 11:00:44, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56759/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56759/topic6537/</guid>
			<pubDate>Wed, 21 Jul 2021 11:00:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56758/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_MXUB65Au" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Речь была именно про запрос на сервер. те запрос к серверу, сколько есть на сервере в такой-то таблице.<br />=============<br />Я только сейчас понял, что такое не могло быть зарегистрировано в принципе.<br />Вы бы хоть с программистами посоветовались, прежде, чем писать это. <br />
			<i>21.07.2021 09:31:39, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56758/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56758/topic6537/</guid>
			<pubDate>Wed, 21 Jul 2021 09:31:39 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56736/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Ewsv2ORJ" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Речь была именно про запрос на сервер. те запрос к серверу<br />=============<br />Это дурость, такого нам не надо.<br /><br />Когда вы, например, запрашиваете время сервера getInfoParam("SERVERTIME"), функция не отправляет запрос серверу, а берет из кеша последнее полученное значение. <br />
			<i>19.07.2021 19:15:44, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56736/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56736/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 19:15:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56734/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Nu2TrsoS" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Но это же не прямой запрос на сервер. getServerNumberOf вернет последнее значение, полученное с сервера. Или я вас не так понял? <br />=============<br />Речь была именно про запрос на сервер. те запрос к серверу, сколько есть на сервере в такой-то таблице. <br />
			<i>19.07.2021 18:45:03, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56734/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56734/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 18:45:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56733/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4DlHz1W3" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />getServerNumberOf вернет данные в момент запроса. Хотите запрашивайте ДО описания параметров таблицы Торговые счета, хотите после.<br />=============<br />Но это же не прямой запрос на сервер. getServerNumberOf вернет последнее значение, полученное с сервера.<br />Или я вас не так понял? Синхронная функция здесь нафиг не нужна.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_gvAH5hbk" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />если второй шлюз пришлет другие фирму и счет, то лимит совершенно точно будет и условие не сработает<br />=============<br />Условие не сработает только ПОСЛЕ получения нового значения "доступных лимитов на сервере" (N + L).<br />А в промежуток времени между обновлением trade_accounts и получением нового значения getServerNumberOf будет возвращать старое значение с первого шлюза<br />getNumberOf("depo_limits") = N<br />И количество лимитов в это время будет getNumberOf("depo_limits") = N<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_OpNXZR2L" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /><br />====quote====<br /><noindex><a href="/user/14986/" target="_blank" rel="nofollow">Mixa</a></noindex> написал:<br />В противном случае, getServerNumberOf("depo_limits") = N и getNumberOf("depo_limits") = N<br />=============<br />Не доказано.<br />=============<br />Доказано, см. сообщение выше и<br /><noindex><a href="https://forum.quik.ru/messages/forum10/message56684/topic6537/#message56684" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message56684/topic6537/#message56684</a></noindex><br /><noindex><a href="https://forum.quik.ru/messages/forum10/message56725/topic6537/#message56725" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message56725/topic6537/#message56725</a></noindex><br /><noindex><a href="https://forum.quik.ru/messages/forum10/message56729/topic6537/#message56729" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message56729/topic6537/#message56729</a></noindex><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_sf6fXVlD" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Чтобы понять свое заблуждение, напишите нормальный псевдокод с проверкой наличия прав на нужный класс<br />=============<br /> <br />
			<i>19.07.2021 18:39:03, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56733/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56733/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 18:39:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56731/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_opoql5ME" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Пока не будет получено новое значение "доступных лимитов на сервере" с нового шлюза, условие getServerNumberOf("depo_limits") == getNumberOf("depo_limits")будет выполняться.<br />=============<br /><br />Вы боитесь что сервер подсчитает сколько лимитов отправить пользователю с задержкой, т.е. пользователь получил класс и право им торговать, но сам сервер еще не одумался есть ли у пользователя лимиты? Такая ситуация невозможна, если бы она существовала то это была бы дырень в безопасности. <br />
			<i>19.07.2021 17:49:03, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56731/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56731/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 17:49:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56730/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_jM6F4LiM" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Для этого надо гарантировать, что сервер отправит количество доступных на сервере лимитов ДО описания параметров таблицы Торговые счета.<br />=============<br />Мы же договорились что getServerNumberOf вернет данные в момент запроса. Хотите запрашивайте ДО описания параметров таблицы Торговые счета, хотите после. Вам уже решать<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_MUD5SoE2" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />В противном случае, getServerNumberOf("depo_limits") = N и getNumberOf("depo_limits") = N<br /><br />=============<br /><br />Не доказано.<br />Вам уже было сказано что лимиты НЕ привязаны к классам, это можно читать так что лимиты НЕ привязаны к шлюзам (исключение только срочный рынок)<br /><br />Если второй шлюз подключился, и засылает те же бумаги что и первый, с теми же фирмой и счетом, значит у пользователя УЖЕ есть нужные лимиты (получил при первом шлюзе) и условие сработает т.к. грузить просто ничего не надо.<br /><br />Если фирма или счет отличаются, значит условие не сработает, значит есть еще лимиты и другого быть не может.<br />Нет и не может быть такой ситуации при которой по счету нет ни одного лимита. Т.к. связка между счетом и кодом клиента происходит именно через лимит по бумаге.<br />Так что если второй шлюз пришлет другие фирму и счет, то лимит совершенно точно будет и условие не сработает.<br /><br />Если счет и фирма та же, но бумаги другие, значит либо будет лимит по новым бумагам (условие не сработает), либо лимитов вообще нет и не будет (это допустимо т.к. ранее уже был лимит с нужным счетом). <br />
			<i>19.07.2021 17:34:25, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56730/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56730/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 17:34:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56729/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пока не будет получено новое значение "доступных лимитов на сервере" с нового шлюза, условие<br />getServerNumberOf("depo_limits") == getNumberOf("depo_limits")<br />будет выполняться. <br />
			<i>19.07.2021 17:27:43, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56729/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56729/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 17:27:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56728/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_pkifKm1a" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если лимит есть на сервере, но еще не загружен в терминал то условие НЕ выполнится и getNumberOf("depo_limits") покажет МЕНЬШЕ чем getServerNumberOf("depo_limits").<br />=============<br /><br />Для этого надо <U>гарантировать</U>, что сервер отправит количество доступных на сервере лимитов <U>ДО</U> описания параметров таблицы Торговые счета.<br />В противном случае, getServerNumberOf("depo_limits") = N и getNumberOf("depo_limits") = N <br />
			<i>19.07.2021 17:25:47, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56728/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56728/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 17:25:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56726/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_qzmimcRt" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Но и getServerNumberOf("depo_limits") == getNumberOf("depo_limits") = N &nbsp;-- выполняется Хотя лимиты со второго шлюза могут быть еще не загружены!<br />=============<br /><br />ответ УЖЕ был:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_oI11JfMb" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если лимит есть на сервере, но еще не загружен в терминал то условие НЕ выполнится и getNumberOf("depo_limits") покажет МЕНЬШЕ чем getServerNumberOf("depo_limits").<br />=============<br /> <br />
			<i>19.07.2021 17:12:53, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56726/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56726/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 17:12:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56725/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вернемся к нашему примеру.<br />После подключения первого шлюза:<br />getServerNumberOf("trade_accounts") == getNumberOf("trade_accounts") = 1<br />После загрузки лимитов:<br />getServerNumberOf("depo_limits") == getNumberOf("depo_limits") = N<br /><br />Запускается второй шлюз.<br />Как мы <noindex><a href="https://forum.quik.ru/messages/forum10/message56684/topic6537/#message56684" target="_blank" rel="nofollow">выяснили</a></noindex>:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4VvYYYwt" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />лимиты загружаются на клиента НЕ РАНЬШЕ описания параметров таблицы Торговые счета<br />=============<br />Поэтому<br />getServerNumberOf("trade_accounts") == getNumberOf("trade_accounts") = 2 &nbsp;-- условие выполняется<br />Но и getServerNumberOf("depo_limits") == getNumberOf("depo_limits") = N &nbsp;-- выполняется<br />Хотя лимиты со второго шлюза <S>могут быть</S> еще не загружены! <br />
			<i>19.07.2021 16:54:33, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56725/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56725/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 16:54:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56723/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_pm6zxUOk" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />то оба эти условия выполнятся раньше, чем загрузится лимит.<br />=============<br />Ошибаетесь.<br />Если лимит есть на сервере, но еще не загружен в терминал то условие НЕ выполнится и getNumberOf("depo_limits") покажет МЕНЬШЕ чем getServerNumberOf("depo_limits").<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_CoCmXCRy" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />И это заблуждение.<br /><br />=============<br />Ошибаетесь.<br />Раз данные получены с сервера, значит либо лимит есть и тогда Вы его увидите в depo_limits.<br />Либо лимита нет, просто нет, а не "еще не загружен". <br />
			<i>19.07.2021 16:37:30, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56723/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56723/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 16:37:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56722/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Чтобы понять свое заблуждение, напишите нормальный псевдокод с проверкой наличия прав на нужный класс <br />
			<i>19.07.2021 16:21:58, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56722/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56722/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 16:21:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56721/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KQbZSv3F" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />после того как (getServerNumberOf("depo_limits") == getNumberOf("depo_limits")) и (getServerNumberOf("trade_accounts") == getNumberOf("trade_accounts")), проверяем по trade_accounts наличие прав на нужный класс<br />=============<br /><br />Если не гарантировать <br />====quote====<br /><a class="blog-p-user-name" id="bp_kHTiK42A" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />сервер должен отправить "количество строк доступных на сервере" ДО описания параметров таблицы Торговые счета<br />=============<br />то оба эти условия выполнятся раньше, чем загрузится лимит.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_bLqf542P" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />ищем в depo_limits нужный лимит, уже уверенные что данные получены с сервера<br />=============<br />И это заблуждение. <br />
			<i>19.07.2021 16:19:21, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56721/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56721/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 16:19:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56719/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_Ts3gpoXa" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a>, <br />Пожелание уже было зарегистрировано (см соседнюю ветку).<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_FspguFA2" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />У вас выполнится условие getServerNumberOf("depo_limits") == getNumberOf("depo_limits"), когда загрузятся лимиты по любому рынку. А запись в trade_accounts может точно появится раньше, чем загрузятся лимиты по бумаге X.<br />=============<br />И что это меняет? Пожелание было зарегистрировано с оговоркой чтобы гипотетическая функция getServerNumberOf будет работала для всех таблиц из списка getItem, в том числе и trade_accounts.<br />Таким образом, Вы сможете проверить наличие прав при условии что getServerNumberOf("trade_accounts") == getNumberOf("trade_accounts")<br />т.е. после того как (getServerNumberOf("depo_limits") == getNumberOf("depo_limits")) и (getServerNumberOf("trade_accounts") == getNumberOf("trade_accounts")), проверяем по trade_accounts наличие прав на нужный класс и ищем в depo_limits нужный лимит, уже уверенные что данные получены с сервера. <br />
			<i>19.07.2021 16:02:45, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56719/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56719/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 16:02:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56717/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_daxE1q06" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/14986/" target="_blank" rel="nofollow">Mixa</a></noindex> написал:<br />С учетом того, что сервер должен отправить "количество строк доступных на сервере" ДО описания параметров таблицы Торговые счета.<br />=============<br /> <br />Ранее было сказано что у нас нет структуры определяющей строгость загрузки тех или иных данных.<br />Проще говоря, никто не следит за тем какие данные придут точно раньше, а какие точно позже.<br />Очередности просто нет. А значит и поменять ее нельзя.<br />Причина в том что данные едут разными потоками, которые между собой никак специально не синхронизируются.<br />Да есть некое условное представление о том что приедет раньше, а что позже, но это &nbsp;не &nbsp;вбито в коде, а просто устоявшееся поведение, которое может поменяться в любой момент.<br />=============<br /><br />В таком случае, "ваш взгляд, что такая реализация решает поставленную задачу" неверный:<br />У вас выполнится условие getServerNumberOf("depo_limits") == getNumberOf("depo_limits"), когда загрузятся лимиты по любому рынку.<br />А запись в trade_accounts <S>может</S> точно появится раньше, чем загрузятся лимиты по бумаге X. <br />
			<i>19.07.2021 15:52:34, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56717/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56717/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 15:52:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56715/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_atmP0HMT" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />С учетом того, что сервер должен отправить "количество строк доступных на сервере" ДО описания параметров таблицы Торговые счета.<br />=============<br /><br />Ранее было сказано что у нас нет структуры определяющей строгость загрузки тех или иных данных.<br />Проще говоря, никто не следит за тем какие данные придут точно раньше, а какие точно позже.<br />Очередности просто нет. А значит и поменять ее нельзя.<br />Причина в том что данные едут разными потоками, которые между собой никак специально не синхронизируются.<br />Да есть некое условное представление о том что приедет раньше, а что позже, но это <B>не</B> вбито в коде, а просто устоявшееся поведение, которое может поменяться в любой момент. <br />
			<i>19.07.2021 15:13:08, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56715/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56715/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 15:13:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56714/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0VLhtj6E" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; main ()

&nbsp;&nbsp; while&nbsp;&nbsp;getServerNumberOf( "depo_limits" )&nbsp;&nbsp;!&nbsp;&nbsp;=&nbsp;&nbsp; getNumberOf ( "depo_limits" )&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp; sleep ( 100 )
&nbsp;&nbsp; end 

 end&nbsp;&nbsp; </pre>
=============
 <br />=============<br /><br />Пусть делают.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_cxXMDHG5" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />И на наш взгляд такая реализация вкупе с проверкой trade_accounts решает поставленную Вами задачу<br />=============<br />С учетом того, что сервер должен отправить &quot;количество строк доступных на сервере&quot; <B>ДО</B> описания параметров таблицы Торговые счета. <br />
			<i>19.07.2021 14:54:03, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56714/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56714/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 14:54:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56710/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_scxbOThi" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Напишите псевдокод, как это использовать.<br /><br />=============<br /><br />
====code====
<pre>function main()

&nbsp;&nbsp;while getServerNumberOf("depo_limits") != getNumberOf("depo_limits") do
&nbsp;&nbsp;&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;end

end</pre>
============= <br />
			<i>19.07.2021 13:09:26, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56710/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56710/topic6537/</guid>
			<pubDate>Mon, 19 Jul 2021 13:09:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56684/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_nki6RSK1" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Определите самостоятельно, это не так трудно.<br />=============<br />Для вас, видимо, трудно.<br />Я определил. И делюсь информацией: лимиты загружаются на клиента НЕ РАНЬШЕ описания параметров таблицы Торговые счета.<br />Утверждение<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_026hpT67" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Клиент уже может проверить наличие {Firm2 = {D, E}} в trade_accounts<br />Если есть &nbsp;=&gt; &nbsp;Лимиты по бумаге X &nbsp;загружены<br />=============<br />не соответствует действительности.<br /><U>Без дополнительного уведомления невозможно достоверно</U> говорить о загруженности лимита по бумаге X.<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ldH0LJDF" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Вам предлагалось зарегистрировать такое пожелание. А именно проверку количества строк в таблице с количеством строк доступных на сервере.<br />Если количество совпадает то данные загружены, если нет грузятся.<br />И на наш взгляд такая реализация вкупе с проверкой trade_accounts решает поставленную Вами задачу, без излишних "если".<br />=============<br />Напишите псевдокод, как это использовать. <br />
			<i>16.07.2021 13:08:30, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56684/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56684/topic6537/</guid>
			<pubDate>Fri, 16 Jul 2021 13:08:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56681/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_NnN22buY" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />ДО или ПОСЛЕ загрузки лимитов? Это ключевой момент.<br />=============<br /><br />Определите самостоятельно, это не так трудно.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_kKw1290i" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Это будет то же гадание, что и сейчас: загрузились/не загрузились.<br />=============<br />Еще раз. Если количество строк в таблице терминала равно количеству строк на сервере, это УЖЕ факт того что данные загрузились.<br />Какие данные? Вы УЖЕ можете проверить т.к. есть факт что они загрузились.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_GoPOIJ41" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br /> Sergey Gorokhov , вы вообще понимаете разницу между состояниями 1) "загрузка еще не началась", 2) "идет процесс загрузки данных" и 3) "загрузка закончена"?Пока вы не поймете эти базовые вещи, у вас так и будут "вопросы и примеры трудности реализации".<br />=============<br />А Вы понимаете, что Вам уже несколько раз было предложено?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_p4g4TMUM" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Если уведомление получено, а данных нет, значит их действительно нет. Это не то же самое, что сейчас, когда вы не можете определенно сказать &nbsp;"нулевая ли позиция" или "она ещё не получена с сервера" .<br />=============<br />И в чем разница:<br /> "если количество строк в таблице = количеству на сервере, значит данные загружены, а раз нужных данных в таблице нет, значит их действительно нет.<br /><br />??<br />Докажите что Ваше предложение хоть чем-то отличается от нашего?<br />разница только в том что наше в разы проще в реализации.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_EcSlIHLW" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Как интерпретировать такую информацию: запись {Firm2 = {D, E}} в trade_accounts есть, а самого лимита по бумаге X в таблице лимитов нет?<br />=============<br />Выше было сказано, цитата:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_r5cpxCYy" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Пока лимиты грузятся можно было бы добавить проверку "Флаг загрузки данных".<br />=============<br />Ситуация:<br />Запись {Firm2 = {D, E}} в trade_accounts есть, значит права есть. И это точно.<br />флаг, что все данные в таблице загружены получили.<br />Нужного лимита среди данных нет, значит его просто нет (брокер не загрузил)<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_sbxouZCX" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Конкретизирую вопрос: следует ли из вашего утверждения, что сначала будут ПОЛНОСТЬЮ загружены лимиты по классам D и E для Firm2 и лишь затем в trade_accounts появится запись с {Firm2 = {D, E}}?<br />=============<br />Это легко проверить самостоятельно<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_uoiMhtRP" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Добавьте эту информацию в официальную документацию по QLua.<br /><br />=============<br /><br />У нас нигде нет никакой структуры определяющей строгость загрузки тех или иных данных. <br />
			<i>16.07.2021 09:09:56, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56681/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56681/topic6537/</guid>
			<pubDate>Fri, 16 Jul 2021 09:09:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56640/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WUQOg4rA" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />И на наш взгляд такая реализация вкупе с проверкой trade_accounts решает поставленную Вами задачу<br />=============<br /><br />Полагаю, что не решает, потому что<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_fX44J4dr" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/14986/" target="_blank" rel="nofollow">Mixa</a></noindex> написал:<br />И опять же, сервер не скажет по какому рынку он будет передавать лимиты?<br />=============<br />Только в разрезе таблиц, что для фьючерсов столько, для остальных столько.<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4heA3nob" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Но, <U>косвенно</U> можно судить по наличию класса<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_stPV0xHY" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/17/" target="_blank" rel="nofollow">Sergey Gorokhov</a></noindex> написал:<br />запись там не появится пока не будет получен лимит по &nbsp;любой &nbsp;бумаге связывающей фирму+счет+код клиента.<br />=============<br />Вот именно, "по любой", т.е. лимиты могут находиться еще <U>в процессе загрузки</U>.<br />А нужно уведомление, что <U>получены &nbsp;все</U> &nbsp;лимиты (для данных firmid + class_code).<br />=============<br />Это будет то же гадание, что и сейчас: загрузились/не загрузились.<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_E8y04znr" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Флаг загрузки данных (его нет) и флаг наличия прав (уже есть в trade_accounts).<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4Ja7bwwS" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />наличие прав не всегда равно наличию данных.<br />=============<br /><br />Именно поэтому я и пишу:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_T6MuIDHZ" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />И <U><B>после</B></U> загрузки всех лимитов (даже если их там было 0) сервер отправляет уведомление клиенту<br />=============<br />Если уведомление получено, а данных нет, значит их действительно нет. Это не то же самое, что сейчас, когда вы не можете определенно сказать <noindex><a href="https://forum.quik.ru/messages/forum8/message56359/topic6548/#message56359" target="_blank" rel="nofollow">&quot;нулевая ли позиция&quot; или &quot;она ещё не получена с сервера&quot;</a></noindex>.<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_HuW7yz8j" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />сервер сверяет транслируемые классы с правами пользователя и отправляет клиенту trade_accounts<br />=============<br />ДО или ПОСЛЕ загрузки лимитов? Это ключевой момент.<br /><br /><a class="blog-p-user-name" id="bp_XI3WyW0s" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a>, вы вообще понимаете разницу между состояниями 1) "загрузка еще не началась", 2) "идет процесс загрузки данных" и 3) "загрузка закончена"?<br />Пока вы не поймете эти базовые вещи, у вас так и будут "вопросы и примеры трудности реализации".<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_gnFzj9lC" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Клиент уже может проверить наличие {Firm2 = {D, E}} в trade_accounts<br />Если есть &nbsp;=&gt; &nbsp;Лимиты по бумаге X &nbsp;загружены (скрипт может это проверить в таблице лимитов)<br />=============<br />Как интерпретировать такую информацию: запись {Firm2 = {D, E}} в trade_accounts есть, а самого лимита по бумаге X в таблице лимитов нет?<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_NRKo0fmn" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Если есть &nbsp;=&gt; &nbsp;Лимиты по бумаге X &nbsp;загружены<br />=============<br />Следует ли из вашего утверждения, что описания параметров таблицы Торговые счета загружаются на клиента ПОСЛЕ загрузки лимитов по деньгам и инструментам?<br />Конкретизирую вопрос: следует ли из вашего утверждения, что сначала будут ПОЛНОСТЬЮ загружены лимиты по классам D и E для Firm2 и лишь затем в trade_accounts появится запись с {Firm2 = {D, E}}?<br />Добавьте эту информацию в официальную документацию по QLua. <br />
			<i>15.07.2021 11:27:19, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56640/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56640/topic6537/</guid>
			<pubDate>Thu, 15 Jul 2021 11:27:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56638/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_6puReEqG" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a>, <br />По сути Вы хотите две разные вещи. Флаг загрузки данных (его нет) и флаг наличия прав (уже есть в trade_accounts).<br />Вы же всеми силами пытаясь объединить два разных флага в одну функцию по косвенным признакам. А это вызывает вопросы и примеры трудности реализации.<br />Проще говоря, возникает слишком много разных "если".<br />Предложенный пример не будет надёжно работать т.к. наличие прав не всегда равно наличию данных.<br /><br />Ранее Вы сами предложили<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_WExn8TOZ" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Посчитать количество записей в таблице на сервере и отправить число клиенту. В чем проблема?<br />=============<br />Вам предлагалось зарегистрировать такое пожелание. А именно проверку количества строк в таблице с количеством строк доступных на сервере. <br />Если количество совпадает то данные загружены, если нет грузятся.<br />И на наш взгляд такая реализация вкупе с проверкой trade_accounts решает поставленную Вами задачу, без излишних "если".<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Esg8X0Kl" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Пример:<br /><br />У пользователя есть права на классы A, B по фирме Firm1 и классы D, E по фирме Firm2.<br />Бумага X торгуется в классах A, C и E<br />Скрипт торгует бумагой X в классе E, соответственно ждет лимит по фирме Firm2: isLimitsLoaded(Firm2, E)<br />Сервер подключен к двум шлюзам: первый шлюз транслирует классы A, B, C по фирме Firm1; второй - классы D, E по фирме Firm2.<br /><br />После подключения первого шлюза сервер сверяет транслируемые классы с правами пользователя и формирует табличку вида {Firm1 = {A, B}}<br />Пользователю приходят лимиты по бумагам, содержащимся в классах A и B, в т.ч. по бумаге X. Как обычно, &nbsp;в этой части никаких изменений не требуется! <br />И после загрузки всех лимитов (даже если их там было 0) сервер отправляет уведомление клиенту {Firm1 = {A, B}}.<br />Но isLimitsLoaded(Firm2, E) = false, поэтому скрипт ждет.<br /><br />Далее запускается второй шлюз.<br />И клиенту транслируются лимиты по бумагам D и E. Поскольку лимиты по бумаге X уже были раннее загружены, то повторно не транслируются. Все как обычно, &nbsp;в этой части никаких изменений не требуется! <br />Затем клиенту отправляется уведомление {Firm2 = {D, E}}. Это уведомление формируется на основании прав, не лимитов!<br />После его получения isLimitsLoaded(Firm2, E) = true &nbsp;=&gt; &nbsp;Лимиты по &nbsp;бумаге X &nbsp;загружены, можно торговать в &nbsp;классе E .<br /><br />=============<br /><br />В данном конкретном примере функция isLimitsLoaded вообще не нужна, и даже "Флаг загрузки данных" не обязателен, хотя его можно было бы добавить при желании:<br /><br />После подключения первого шлюза сервер сверяет транслируемые классы с правами пользователя и отправляет клиенту trade_accounts в которой уже есть данные вида {Firm1 = {A, B}}<br />Пользователю приходят лимиты по бумагам, содержащимся в классах A и B, в т.ч. по бумаге X. Как обычно, &nbsp;в этой части никаких изменений не требуется! <br />Пока лимиты грузятся можно было бы добавить проверку "Флаг загрузки данных".<br />Но в trade_accounts нет {Firm2 = {D, E}}, поэтому скрипт ждет.<br /><br />Далее запускается второй шлюз.<br />И клиенту транслируются лимиты по бумагам D и E. Поскольку лимиты по бумаге X уже были раннее загружены, то повторно не транслируются. Все как обычно, &nbsp;в этой части никаких изменений не требуется! <br />Клиент <B>уже</B> может проверить наличие {Firm2 = {D, E}} в trade_accounts<br />Если есть &nbsp;=&gt; &nbsp;Лимиты по бумаге X &nbsp;загружены (скрипт может это проверить в таблице лимитов), можно торговать в &nbsp;классе E. <br />
			<i>15.07.2021 08:30:36, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56638/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56638/topic6537/</guid>
			<pubDate>Thu, 15 Jul 2021 08:30:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56521/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пример:<br /><br />У пользователя есть права на классы A, B по фирме Firm1 и классы D, E по фирме Firm2.<br />Бумага X торгуется в классах A, C и E<br />Скрипт торгует бумагой X в классе E, соответственно ждет лимит по фирме Firm2: isLimitsLoaded(Firm2, E)<br />Сервер подключен к двум шлюзам: первый шлюз транслирует классы A, B, C по фирме Firm1; второй - классы D, E по фирме Firm2.<br /><br />После подключения первого шлюза сервер сверяет транслируемые классы с правами пользователя и формирует табличку вида {Firm1 = {A, B}}<br />Пользователю приходят лимиты по бумагам, содержащимся в классах A и B, в т.ч. по бумаге X. Как обычно, <U>в этой части никаких изменений не требуется!</U><br />И после загрузки всех лимитов (даже если их там было 0) сервер отправляет уведомление клиенту {Firm1 = {A, B}}.<br />Но isLimitsLoaded(Firm2, E) = false, поэтому скрипт ждет.<br /><br />Далее запускается второй шлюз.<br />И клиенту транслируются лимиты по бумагам D и E. Поскольку лимиты по бумаге X уже были раннее загружены, то повторно не транслируются. Все как обычно, <U>в этой части никаких изменений не требуется!</U><br />Затем клиенту отправляется уведомление {Firm2 = {D, E}}. Это уведомление формируется на основании прав, не лимитов!<br />После его получения isLimitsLoaded(Firm2, E) = true &nbsp;=&gt; &nbsp;Лимиты по <B>бумаге X</B> загружены, можно торговать в <B>классе E</B>.<br /><br />Так понятно? <br />
			<i>06.07.2021 13:24:37, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56521/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56521/topic6537/</guid>
			<pubDate>Tue, 06 Jul 2021 13:24:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56508/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bmCm7aZ5" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />в предложенном варианте, серверу понадобится проверить ранее отправленные лимиты, сверив их с поступившим набором инструментов. Чтобы убедиться что отправка действительно была.<br />=============<br />Нахрена?!<br />Подключился шлюз. Сервер получил фирму, классы, отправил лимиты клиенту (если они есть), как и раньше. Далее<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_hf2hXy9m" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />сверить права на firmid + class_code с теми, что дает шлюз.<br />=============<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_T9iuyUJ7" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Если они есть, значит отправляем клиенту уведомление.<br />=============<br /><br />И как я написал выше, вот это<br />====quote====<br /><a class="blog-p-user-name" id="bp_tcNY5K9c" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />сверить права на firmid + class_code с теми, что дает шлюз<br /><br />=============<br />можно сделать первым делом. И тогда<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_7aUbTwAn" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />если для пользователя в правах нет ни одного доступного "firmid + class_code" с этого шлюза, то в лимиты можно уже не смотреть.<br />=============<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_SLLsxwC3" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />было же сказано что если прав нет то и лимитов нет.<br />=============<br />Ага, только вы не знаете наверняка, что сервер сначала делает:<br />SELECT по SQL-базе или<br />проверку прав, а если доступных лимитов нет, то и SELECT тогда уже не нужен<br /><br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_9Cmf3hft" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Например на СПБ американские бумаги, на ФР российские, права одинаковые, лимиты разные.<br />=============<br />И? Если загружены только лимиты по ФР МБ, то isLimitsLoaded(firmid, "TQBR") даст true, а isLimitsLoaded(firmid, "SPBXM") - false и наоборот. <br />
			<i>05.07.2021 14:58:44, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56508/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56508/topic6537/</guid>
			<pubDate>Mon, 05 Jul 2021 14:58:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56507/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7KmgoWzO" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />И после всех объяснений, вы бьете себя пяткой в грудь и кричите: "задача не решаема, закрываем!"<br />=============<br />Задача не решаема в том контексте который Вы просите. Ранее Вам предлагался признак загрузки всех строк в таблице лимитов - такое пожелание возможно.<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_JENKNixA" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Тогда при чем здесь "десятки миллионов лимитов"?<br />=============<br />Как уже было сказано, в предложенном варианте, серверу понадобится проверить ранее отправленные лимиты, сверив их с поступившим набором инструментов. Чтобы убедиться что отправка действительно была. Иначе вариант с правами не надежен.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_03WGsdXV" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Допустим, получил сервер со шлюза классы "class1,class2,class3" для firmid. Их же он и проверяет в правах (не в лимитах!) пользователей.<br />=============<br /><br />Да, сервер проверяет права на классе. Фирма счет (код клиента) и отправляет клиенту те лимиты которые им удовлетворяют. <br />Что это даст не понятно.<br />Например на СПБ американские бумаги, на ФР российские, права одинаковые, лимиты разные. В результате только проверки прав недостаточно.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_JGwBa7gG" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />И это можно использовать для оптимизации: если для пользователя в правах нет ни одного доступного "firmid + class_code" с этого шлюза, то в лимиты можно уже не смотреть.<br /><br />=============<br />Cервер так и делает, было же сказано что если прав нет то и лимитов нет. <br />
			<i>05.07.2021 13:48:40, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56507/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56507/topic6537/</guid>
			<pubDate>Mon, 05 Jul 2021 13:48:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56504/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wtX3r2kj" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />К сожалению, наш внутренний регламент не разрешает связь клиента с разработчиком.<br />=============<br /><br />Ну а как по другому, если для вас приходится "разжевывать"<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_Vjzl0bvV" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />"таблица еще не загрузилась" и "таблица пустая и позиции нулевые" - это принципиально разные состояния.<br />=============<br /><br />И после всех объяснений, вы бьете себя пяткой в грудь и кричите: "задача не решаема, закрываем!"<br />Это что за самоуправство такое?!<br />Форум называется "Программирование на языке Lua". Если чего-то не поняли, ну проконсультируйтесь с программистом. Это-то ваш регламент разрешает?<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_pFJIE9Ou" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Никто не говорил про повторную загрузку.<br />=============<br />Тогда при чем здесь "десятки миллионов лимитов"?<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_gnVO64b3" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />По сути это и есть "повторная проверка доступности"<br />=============<br />Но не по лимитам же.<br />Допустим, получил сервер со шлюза классы "class1,class2,class3" для firmid. Их же он и проверяет в правах (не в лимитах!) пользователей.<br />И это можно использовать для оптимизации: если для пользователя в правах нет ни одного доступного "firmid + class_code" с этого шлюза, то в лимиты можно уже не смотреть. <br />
			<i>05.07.2021 12:22:49, Mixa.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56504/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56504/topic6537/</guid>
			<pubDate>Mon, 05 Jul 2021 12:22:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Написание автономного бота</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message56500/topic6537/">Написание автономного бота</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_MLukWChl" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Я вам пишу, что сами лимиты грузить повторно не надо.<br />=============<br />Никто не говорил про повторную загрузку.<br />Говорилось про проверку доступности, а не загрузку. Это не одно и то же.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_VXkufZ1p" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Надо только сверить права на firmid + class_code с теми, что дает шлюз. Если они есть, значит отправляем клиенту уведомление.<br />=============<br />По сути это и есть "повторная проверка доступности", разве нет?<br />И как уже было сказано, trade_accounts это как раз и есть проверка прав по firmid + class_code и Вы сами сказали что задачу это не решает.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_s5fBr9ZJ" href="/user/14986/" bx-tooltip-user-id="14986">Mixa</a> написал:<br />Давайте я буду общаться с программистом на уровне кода, раз вы не понимаете.<br /><br />=============<br />К сожалению, наш внутренний регламент не разрешает связь клиента с разработчиком. <br />
			<i>05.07.2021 11:30:00, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message56500/topic6537/</link>
			<guid>http://forum.quik.ru/messages/forum10/message56500/topic6537/</guid>
			<pubDate>Mon, 05 Jul 2021 11:30:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
