<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Событие возвращает ошибку 1000]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Событие возвращает ошибку 1000 форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 24 May 2026 21:42:03 +0300</pubDate>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1159/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			На сколько я понял, проблема заключалась в синхронизации потоков main() и onQuote().<br />Дело в том, что при чтении таблицы в событии onQuote(), одновременно в теле main() вызывалась функция sleep(1000) в результате стек портился и функция lua_next в onQuote обращалась по неправильному адресу. В результате этого, возникало исключение и возвращало на вершину стека время в милисекундах, которое я задавал в sleep(). Если я не прав, поправьте меня.<br /><br />Сейчас все работает как часы! Николай, спасибо! Я уже больше месяца решаю эту проблему =). Пошел отмечать =) <br />
			<i>18.02.2015 22:53:18, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1159/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1159/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 22:53:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1151/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			это значит, что на вершине стека лежит эта константа.<br />попробуйте поставить проверку типа <br />после вызова функции обращения к стакану.<br /> &nbsp; &nbsp;lua_pcall(st, 2, 1, 0);<br />весьма возможно что функция ничего не вернула или вернула nil, <br />а вы пытаетесь что-то извлекать из стека. <br />
			<i>18.02.2015 18:29:43, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1151/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1151/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 18:29:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1150/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всех благодарю за помощь. Проблема решилась заменой <br />
====code====
<pre>_luafix.DoStr("while not stopped do&nbsp;&nbsp;&nbsp;sleep(999)&nbsp;&nbsp;&nbsp;end"; 
</pre>
=============
 на<br />
====code====
<pre>while (_stopped) { Sleep(999);</pre>
=============
Получилось:<br />
====code====
<pre>int lua_main(lua_State*st)
{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//_luafix.DoStr("while not stopped do&nbsp;&nbsp;&nbsp;sleep(999)&nbsp;&nbsp;&nbsp;end";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (_stopped) { Sleep(999);&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;return 1;
}</pre>
============= <br />
			<i>18.02.2015 18:29:05, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1150/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1150/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 18:29:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1145/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/62/" target="_blank" rel="nofollow">Николай Камынин</a></noindex>, Вы продвинули меня вперед по проблеме. Я сменил sleep(1000) на sleep(999). <br />Изменился вывод ошибки на 999.<br />Что это может значить я пока не понимаю. <br />
			<i>18.02.2015 16:28:58, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1145/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1145/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 16:28:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1144/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В целом проблема понятно, проверяйте типы данных и значения на nil.<br />И будет Вам счастье. <br />
			<i>18.02.2015 15:46:41, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1144/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1144/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 15:46:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1143/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/286/" target="_blank" rel="nofollow">NiKO</a></noindex>,<br />последний Ваш тест это про другую ошибку<br />т е отсутствие данных по стакану<br />она известна<br />надо проверять на nil <br />
			<i>18.02.2015 15:44:38, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1143/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1143/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 15:44:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1142/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/286/" target="_blank" rel="nofollow">NiKO</a></noindex><br />А сделайте такой тест<br />вместо <br />sleep(1000)<br />напишите<br />sleep(999) <br />
			<i>18.02.2015 15:42:55, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1142/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1142/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 15:42:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1140/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_UUWQFSFm" href="/user/286/" bx-tooltip-user-id="286">NiKO</a>, посмотри какие типы имеют bid_count и offer_count. Quik любит возвращать многие числовые параметры в строковом виде. Интересно как это повлияет на цикл. Возможно никак. Можно попробовать преобразовать tonumber(), если тип строковый.<br /><br />А так у тебя во втором цикле ошибка: замени "tb.bid&#91;i&#93;" на "tb.offer&#91;i&#93;". <br />
			<i>18.02.2015 15:04:23, Constantin Constantin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1140/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1140/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 15:04:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1138/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Решил проверить получение стакана из lua скрипта. Ниже мой код.<br /><br />
====code====
<pre>function&nbsp;&nbsp;main()
&nbsp;&nbsp;&nbsp;while not stopped do&nbsp;&nbsp;&nbsp;sleep(1000)&nbsp;&nbsp;&nbsp;end
end

function OnQuote(class_code, sec_code)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tb=getQuoteLevel2(class_code, sec_code)

&nbsp;&nbsp;&nbsp;for i=1,tb.bid_count,1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = tb.bid&#91;i&#93;.price
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q = tb.bid&#91;i&#93;.quantity
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp;for i=1,tb.offer_count,1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b = tb.bid&#91;i&#93;.price&nbsp;&nbsp; &#60;&#60; на эту строку ругается "test.lua:43: attempt to index field '?' (a nil value)"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q = tb.bid&#91;i&#93;.quantity
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end
end</pre>
=============
Запускаем данный код, открываем 10 стаканов и ждем пока рынок начнет сильное движение.<br />В результате получаем ошибку скрипта <br />
====code====
<pre>test.lua:43: attempt to index field '?' (a nil value)</pre>
=============
Ошибка иногда выскакивает сразу, иногда в течении 10 минут. <br />Проверьте, кто-нибудь у себя.<br /><img src="http://seoxml.ru/screen.png" alt="Пользователь добавил изображение" border="0" /> <br />
			<i>18.02.2015 14:41:29, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1138/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1138/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 14:41:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1134/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="http://forum.quik.ru/user/62/" target="_blank" rel="nofollow">Николай</a></noindex>, я сделал как вы написали. Тип кода всегда равен 4, т.е. строка. Надеюсь я правильно Вас понял.<br /><noindex><a href="http://forum.quik.ru/user/107/" target="_blank" rel="nofollow">Constantin</a></noindex>, спасибо за замечания, исправил код как Вы написали. Это помогло убрать вылеты КВИКА.<br /><br /><br />Более детальное изучение показало, что во время чтения ячейки price или quantity при выполнении функции<br /> <B>while (lua_next(st, top4) != 0) qlua.dll </B>вызывает исключение:<br /><span class="bx-font" style="font-size:medium;">First-chance exception at 0x07306684 (qlua.dll) in info.exe: 0xC0000005: Access violation reading location 0x0000001C. <br />First-chance exception at 0x75B0C41F in info.exe: Microsoft C++ exception: cSEHException at memory location 0x00C7C778. </span><br /><br />После этого, событие <B>int lua_OnQuote(lua_State *st)</B> вызывается повторно и оно содержит на вершине стека значение <B>1000.</B><br /> <br />Данная проблема возникает, то при интенсивном изменении стакана, например при падении рынка. <br />
			<i>18.02.2015 13:03:31, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1134/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1134/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 13:03:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1131/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Для начала замени<br /><br />if (top == 0) return 0;<br /><br /> string sec_code = lua_tostring(st, -1);// qlua.ToString(-1); // код бумаги<br /> string class_code = lua_tostring(st, -2);// qlua.ToString(-2);// код класса<br /><br />на<br /><br />if (top &lt; 2) return 0;<br /><br />string class_code = lua_tostring(st, 1);// qlua.ToString(-2);// код класса <br />string sec_code = lua_tostring(st, 2);// qlua.ToString(-1); // код бумаги<br /><br />Это, скорее всего, никак не повлияет на результат, но будет более правильно.<br /><br />Далее пошло множество енумераторов, в которых надо надо напрягаться, чтобы разобраться. А это лень. Может попроще написать? <br />
			<i>18.02.2015 11:38:05, Constantin Constantin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1131/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1131/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 11:38:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1129/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			if (top == 0) return 0; &nbsp; &nbsp; <br />поставьте здесь проверку значения на вершине стека &nbsp;на тип кода или вывод в лог файл<br /> string sec_code = lua_tostring(st, -1);// qlua.ToString(-1); &nbsp; // код бумаги <br />
			<i>18.02.2015 09:13:34, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1129/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1129/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 09:13:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1126/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_92zsF8dH" href="/user/286/" bx-tooltip-user-id="286">NiKO</a>,<br /><br />На сколько становится понятно, Вы говорите что проблема заключается в появлении значения "1000" в переменной sec_code.<br />Если так, нужно смотреть выше, что попадает в эту переменную и от куда оно туда попадает, а не то где Вы с ней работаете. <br />
			<i>18.02.2015 06:44:58, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1126/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1126/topic111/</guid>
			<pubDate>Wed, 18 Feb 2015 06:44:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1109/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ниже привожу мой код получения стакана на с++. Проверьте, пожалуйста, кто может. Будет ли возникать данная ошибка у вас. Может я в коде что-то не то делаю?<br /><br />
====code====
<pre>typedef map&#60;string, string&#62; ROW;
typedef map&#60;int, ROW&#62; TABL;

int lua_OnQuote(lua_State *st)
{
&nbsp;&nbsp;&nbsp;try
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int top = lua_gettop(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (top == 0) return 0;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string sec_code = lua_tostring(st, -1);// qlua.ToString(-1);&nbsp;&nbsp;&nbsp;// код бумаги
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string class_code = lua_tostring(st, -2);// qlua.ToString(-2);// код класса

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Quote quote = qlua.getQuoteLevel2(class_code, sec_code);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;top = lua_gettop(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_getglobal(st, "getQuoteLevel2");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(st, class_code.c_str());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushstring(st, sec_code.c_str());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pcall(st, 2, 1, 0);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int top2 = lua_gettop(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushnil(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string key; // ключ

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int bid_count;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int offer_count;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TABL bid; // массив bid
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TABL offer; // массиы offer
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (lua_next(st, top2) != 0) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int type = lua_type(st, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (type == LUA_TNUMBER) key = to_string(lua_tointeger(st, -2));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else key = lua_tostring(st, -2);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type = lua_type(st, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch (type)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TSTRING:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (key == "bid_count") bid_count = lua_tointeger(st, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else offer_count = lua_tointeger(st, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case LUA_TTABLE:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;top3 = lua_gettop(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int len;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (key == "bid") len = bid_count;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else len = offer_count;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 1; j &#60;= len; j++)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_rawgeti(st, top3, j);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// получаем ячейки стакана
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int top4 = lua_gettop(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pushnil(st);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ROW row;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (lua_next(st, top4) != 0) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string key2 = lua_tostring(st, -2);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;row&#91;key2&#93; = lua_tostring(st, -1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pop(st, 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (key == "bid") bid&#91;j&#93; = row;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else offer&#91;j&#93; = row;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pop(st, 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pop(st, 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lua_pop(st, 1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (0 != top - lua_gettop(st) - 1) LOG_ERROR &#60;&#60; "Lua stack is changed!&#92;n getTop=" &#60;&#60; lua_gettop(st);
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;catch (...)
&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOG_ERROR &#60;&#60; "Ошибка в стакане";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//lua_unlock(_luafix.lua);
&nbsp;&nbsp;&nbsp;}


&nbsp;&nbsp;&nbsp;return 0;
}</pre>
============= <br />
			<i>17.02.2015 15:22:41, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1109/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1109/topic111/</guid>
			<pubDate>Tue, 17 Feb 2015 15:22:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1106/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В отладчике в поле Output появляются следующие строки:<br />First-chance exception at 0x07306684 (qlua.dll) in info.exe: 0xC0000005: Access violation reading location 0x0000001C.<br />First-chance exception at 0x75B0C41F in info.exe: Microsoft C++ exception: cSEHException at memory location 0x00C7C778.<br /><br />Что это может означать, <br />
			<i>17.02.2015 14:11:25, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1106/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1106/topic111/</guid>
			<pubDate>Tue, 17 Feb 2015 14:11:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message614/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Me4cZppC" href="/user/286/" bx-tooltip-user-id="286">NiKO</a> пишет: <br />Версия квика 6.15.1.17.<br /><br />=============<br />Здравствуйте,<br />К сожалению нам тоже не известно что это за ошибка 1000. Если напрямую, без C++ в Lua, &nbsp;все работает, значит проблема не в Quik <br />
			<i>09.02.2015 09:42:05, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message614/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message614/topic111/</guid>
			<pubDate>Mon, 09 Feb 2015 09:42:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message591/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Версия квика 6.15.1.17. <br />
			<i>07.02.2015 13:10:12, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message591/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message591/topic111/</guid>
			<pubDate>Sat, 07 Feb 2015 13:10:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message590/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8BPbOSa2" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> пишет: <br />Уточните, а не в С++ тоже появляется 1000?<br /><br />=============<br />Думаю, в самом Lua все будет работать. Мне интересно, что это за номер, с чем это может быть связано?<br />Та же проблема ранее была при открытии стакана с включенной панелью инструментов.<br /><br /><br />====quote====<br />может быть проблема в _luafix?<br />=============<br />По поводу _luafix -- это класс-обертка стандартных функций lua и qlua. Возможно проблема в ней, но мне не понятен смыл ошибки, по-этому не знаю где искать проблему. <br />
			<i>07.02.2015 13:08:50, NiKO.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message590/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message590/topic111/</guid>
			<pubDate>Sat, 07 Feb 2015 13:08:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message585/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			может быть проблема в &nbsp;_luafix? <br />
			<i>06.02.2015 17:30:27, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message585/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message585/topic111/</guid>
			<pubDate>Fri, 06 Feb 2015 17:30:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message576/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Уточните, а не в С++ тоже появляется 1000? <br />
			<i>06.02.2015 16:17:31, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message576/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message576/topic111/</guid>
			<pubDate>Fri, 06 Feb 2015 16:17:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Событие возвращает ошибку 1000</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message574/topic111/">Событие возвращает ошибку 1000</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Периодически выводится <B>ошибка &quot;1000&quot;</B>. Подскажите, это может значить?<br />Появление ошибки хаотичное.<br /><br />Мой код в С++<br /><br />
====code====
<pre>int lua_OnQuote(lua_State *st)
{

&nbsp;&nbsp;&nbsp;int top = _luafix.GetTop();
&nbsp;&nbsp;&nbsp;if (top == 0) return 0;
&nbsp;&nbsp;&nbsp;string sec_code = _luafix.ToString(-1);&nbsp;&nbsp;&nbsp;// код бумаги
&nbsp;&nbsp;&nbsp;string class_code = _luafix.ToString(-2);// код класса

&nbsp;&nbsp;&nbsp;TABLEQuote quote = _luafix.getQuoteLevel2(class_code, sec_code);

&nbsp;&nbsp;&nbsp;_luafix.Pop(1);

&nbsp;&nbsp;&nbsp;_luafix.sendQuote(quote); // здесь отправка стакана в торговый робот

&nbsp;&nbsp;&nbsp;return 0;
}
 </pre>
=============
В данном примере переменная <B>sec_code</B> иногда имеет значение = 1000. <br />
			<i>06.02.2015 16:13:50, Егор.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message574/topic111/</link>
			<guid>http://forum.quik.ru/messages/forum10/message574/topic111/</guid>
			<pubDate>Fri, 06 Feb 2015 16:13:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
