<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Новая версия 8.5]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=320</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=320&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Новая версия 8.5».]]></description>
		<lastBuildDate>Fri, 18 Sep 2020 08:40:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2841#p2841</link>
			<description><![CDATA[<p>Сделал автозапуск по вот этой ветке [url]https://quik2dde.ru/viewtopic.php?id=80&amp;p=2,[/url] все заработало. Решил скомпилить, в luac. При запуске скрипта выдавает ошибку Syntax error while compiling ...Auto.luac: ...Auto.luac: size_t size mismatch in precompiled chunk<br />Компилировал версией luac.exe 5.3.5 x 64.<br />Собственно вопрос в чем может быть проблема? в Quik 7 всегда компилировал без проблем.<br />Версия Квика сейчас 8.8.4.3</p>]]></description>
			<author><![CDATA[null@example.com (votor)]]></author>
			<pubDate>Fri, 18 Sep 2020 08:40:59 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2841#p2841</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2806#p2806</link>
			<description><![CDATA[<p>Здравствуйте, уважаемый <em><strong>Стас</strong></em>.</p><div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>Спасибо Вам за анализ и разъяснения.</p></blockquote></div><p>Всегда - пожалуйста <img src="https://quik2dde.ru/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>Если тип trans_id всегда был NUMBER, то у меня нет другого объяснения, кроме как: &quot;Я где-то напортачил, но не знаю где&quot;<br />Почему у меня раньше корректно сравнивались числовое и строковое значение, а потом вдруг перестали.</p></blockquote></div><p>Я написал свое предположение, почему раньше скрипты работали. У меня не стоит еще новая версия QUIK 8.5 и я не могу сказать точно, что именно изменилось, но общую причину я написал. Она состоит в том, что Lua может иногда корректно автоматически преобразовывать данные при сравнении в один тип. Ключевое слово &quot;иногда&quot;. </p><div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>Чувствую себя идиотом.&nbsp; <img src="https://quik2dde.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /></p></blockquote></div><p>Очень часто я чувствую себя также. Но меня спасает некоторая цитата:</p><p> </p><div class="quotebox"><blockquote><p>Не так страшно, когда умный иногда тупит, как страшно, когда тупой постоянно умничает</p></blockquote></div><p>Я уже встречал в сети посты о том, что и tostring у Lua 5.3 работает по-другому и нулей после точек много добавляется и т.д. и т.п. В общем, в похождении по этим граблям одиночества не наблюдается.</p>]]></description>
			<author><![CDATA[null@example.com (pessimist)]]></author>
			<pubDate>Wed, 15 Jul 2020 12:09:09 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2806#p2806</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2805#p2805</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Стас пишет:</p><p>&nbsp; &nbsp; Если коротко, то я имел в виду, что функция OnTransReply(trans_reply) в таблице trans_reply поле trans_id с 6 июля имеет тип number.</p><p>&nbsp; &nbsp; А еще на прошлой неделе было вроде string</p><p>&nbsp; &nbsp; Я прав или что-то напутал?</p><p>Здравствуйте, уважаемый Стас. Я заглянул в справочник по функции OnTransReply от ноября 2018 года, там числится поле</p><p>&nbsp; &nbsp; Параметр&nbsp; &nbsp; &nbsp; &nbsp; Тип&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Описание<br />&nbsp; &nbsp; trans_id&nbsp; &nbsp; &nbsp; &nbsp; NUMBER&nbsp; &nbsp; &nbsp; &nbsp; Пользовательский идентификатор транзакции</p><p>То есть, он всегда был числом типа NUMBER. Однако, при отправке транзакции функцией sendTransaction поле [&quot;TRANS_ID&quot;] должно быть числом, но типа STRING, иначе транзакция не будет принята сервером.</p><p>Может, Ваша история связана именно с этой особенностью...</p><p>Lua, иногда, может автоматически преобразовывать типы строки-числа при сравнении, но даже сам автор этого языка Роберту Иерузалимски пишет, что это было плохой идеей и не рекомендует пользоваться этим свойством языка, а всегда явно приводить типы к единому.</p></blockquote></div><p>Здравствуйте, уважаемый pessimist.<br />Спасибо Вам за анализ и разъяснения.<br />Если тип trans_id всегда был NUMBER, то у меня нет другого объяснения, кроме как: &quot;Я где-то напортачил, но не знаю где&quot;<br />Почему у меня раньше корректно сравнивались числовое и строковое значение, а потом вдруг перестали. <br />Вроде ничего в этих местах не трогал. <br />Чувствую себя идиотом.&nbsp; <img src="https://quik2dde.ru/img/smilies/sad.png" width="15" height="15" alt="sad" /> <br />Зря только людей беспокоил своей писаниной.:|</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Wed, 15 Jul 2020 11:58:33 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2805#p2805</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2803#p2803</link>
			<description><![CDATA[<div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>Если коротко, то я имел в виду, что функция OnTransReply(trans_reply) в таблице trans_reply поле trans_id с 6 июля имеет тип number.</p><p>А еще на прошлой неделе было вроде string </p><p>Я прав или что-то напутал?</p></blockquote></div><p>Здравствуйте, уважаемый <em><strong>Стас</strong></em>. Я заглянул в справочник по функции OnTransReply от ноября 2018 года, там числится поле </p><div class="quotebox"><blockquote><p><strong>Параметр&nbsp; &nbsp; &nbsp; &nbsp; Тип&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Описание</strong><br />trans_id&nbsp; &nbsp; &nbsp; &nbsp; NUMBER&nbsp; &nbsp; &nbsp; &nbsp; Пользовательский идентификатор транзакции</p></blockquote></div><p>То есть, он всегда был числом типа NUMBER. Однако, при отправке транзакции функцией sendTransaction поле [&quot;TRANS_ID&quot;] должно быть числом, но типа STRING, иначе транзакция не будет принята сервером.</p><p>Может, Ваша история связана именно с этой особенностью...</p><p>Lua, иногда, может автоматически преобразовывать типы строки-числа при сравнении, но даже сам автор этого языка Роберту Иерузалимски пишет, что это было плохой идеей и не рекомендует пользоваться этим свойством языка, а всегда явно приводить типы к единому.</p><p>Из опыта - лучше оба номера транзакции привести к типу NUMBER, потому, что при преобразовании в строку числа 695980319 - можно неожиданно получить что-то вроде &quot;695980319.0000000&quot; и это будут разные строки.<br />Все дело в том, что число может быть в QLUA представлено как STRING в поле одной таблицы и как NUMBER в поле другой.</p><p>А при сравнении чисел в типе NUMBER, даже если одно из них будет как 695980319, а второе 695980319.0000000 - QLUA поймет, что это один и тот же номер.</p><p>Такие случаи имеют место быть, когда лень заглядывать в справочник по функциям QLUA</p><p>То есть, если выполнить код в общем виде:</p><div class="codebox"><pre><code>String_Number = &quot;2&quot;
Number_String = tostring(2.00000)

message(tostring(String_Number == Number_String))</code></pre></div><p>Все получится и функция message выведет результат true</p><p>Но в QLUA можно запутаться, например, получая какое-либо значение из таблиц. В качестве примера возможной запутки приведу получение номинала ОФЗ из таблицы &quot;Текущие торги&quot;. В поле номинал значение хранится так: &quot;1000.0000&quot;.<br />Привычным значение номинала является 1000 рублей, а не 1000.0000 рублей.</p><p>Пример немного надуман, но я полагаю, что он даст немного наглядности той мысли, которую я пытаюсь выразить в этом сообщении.</p><div class="codebox"><pre><code>ParamRequest(&quot;TQOB&quot;, &quot;SU26205RMFS3&quot;, &quot;SEC_FACE_VALUE&quot;)
Nominal = getParamEx2(&quot;TQOB&quot;, &quot;SU26205RMFS3&quot;, &quot;SEC_FACE_VALUE&quot;).param_value

Out_1 = &quot;Приводим номинал к типу STRING : &quot;..tostring(tostring(Nominal) == tostring(1000))..&quot;\n&quot;
Out_2 = &quot;Приводим номинал к типу NUMBER : &quot;..tostring(tonumber(Nominal) == tonumber(1000))
Out = Out_1..Out_2

message(Out)</code></pre></div><p>При выполнении этого кода - первое сравнение tostring(Nominal) == tostring(1000) даст результат false, а второе tonumber(Nominal) == tonumber(1000) даст результат true</p>]]></description>
			<author><![CDATA[null@example.com (pessimist)]]></author>
			<pubDate>Sat, 11 Jul 2020 19:02:03 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2803#p2803</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2802#p2802</link>
			<description><![CDATA[<p>Если коротко, то я имел в виду, что функция OnTransReply(trans_reply) в таблице trans_reply поле trans_id с 6 июля имеет тип number.</p><p>А еще на прошлой неделе было вроде string </p><p>Я прав или что-то напутал?</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Fri, 10 Jul 2020 21:40:31 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2802#p2802</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2800#p2800</link>
			<description><![CDATA[<p><strong>Стас</strong>, если честно - из вашего сообщения мало что понятно.<br />Переформулируйте, пожалуйста, в более простой и формализованный формат:<br />1) вот такие значения переменных<br />2) вот такой код - даёт такой результат<br />3) вот такой код - даёт вот такой результат<br />И вопрос по какому именно коду какой результат видится некорректным</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Fri, 10 Jul 2020 07:19:50 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2800#p2800</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2798#p2798</link>
			<description><![CDATA[<p>Перестало корректно сравнивать номера транзакций.&nbsp; &nbsp; &nbsp; &nbsp; </p><p>Перешел в 6й Квик.&nbsp; &nbsp; &nbsp; &nbsp; <br />Один черт не работает.&nbsp; &nbsp; &nbsp; &nbsp; </p><p>Запоминаю номера транзакций в таблицу sdelki в поле sdelki[j].sell_tr_number.&nbsp; &nbsp; &nbsp; &nbsp; <br />Потом:&nbsp; &nbsp; &nbsp; &nbsp; <br /></p><div class="codebox"><pre><code>function OnTransReply(trans_reply)        

    local t_id = trans_reply.trans_id    


    for j=1,#sdelki do    
        if sdelki[j].sell_tr_number==t_id then
                                     
                            --*****     действия    
        else        

        
        end        
    end        
end</code></pre></div><p>выдает OnTransReply sdelki[7].buy_tr_number=695980319~=t_id=695980319&nbsp; &nbsp; &nbsp; &nbsp; </p><p>Не признает равными номера.</p><p>Преобразовал в сравнении обе стороны в строки - заработало.</p><p>trans_reply.trans_id теперь имеет тип number</p><p>Раньше работало, видать был тип string</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Thu, 09 Jul 2020 11:43:26 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2798#p2798</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2787#p2787</link>
			<description><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>если сам квик 6 не отрубится, то, скорее всего, да.</p></blockquote></div><br /><p>Сделки на срочке прекрасно снимаются в шестом квике, как и прежде.</p><p>Зря я истерично все выходные в панике бегал по кругу, обхватив голову руками.))</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Mon, 06 Jul 2020 07:08:44 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2787#p2787</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2786#p2786</link>
			<description><![CDATA[<p>Ставки приняты)</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Mon, 06 Jul 2020 06:42:29 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2786#p2786</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2785#p2785</link>
			<description><![CDATA[<p>если сам квик 6 не отрубится, то, скорее всего, да.</p>]]></description>
			<author><![CDATA[null@example.com (toxa)]]></author>
			<pubDate>Sun, 05 Jul 2020 21:21:42 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2785#p2785</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2784#p2784</link>
			<description><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>На срочке всегда номера заявок и сделок были 64-х битные. Ничего завтра особенного не случится.</p></blockquote></div><p>Хочешь сказать, что завтра робот, торгующий на срочке, написанный на lua и работающий в квике 6.*, будет работать как и прежде?</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Sun, 05 Jul 2020 20:13:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2784#p2784</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2783#p2783</link>
			<description><![CDATA[<p>На срочке всегда номера заявок и сделок были 64-х битные. Ничего завтра особенного не случится.</p>]]></description>
			<author><![CDATA[null@example.com (toxa)]]></author>
			<pubDate>Sun, 05 Jul 2020 07:27:27 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2783#p2783</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2782#p2782</link>
			<description><![CDATA[<p>Спасибо, swerg, за ответ.</p><p>Я так понял, послезавтра на Мосбирже запустят систему с 19-значными номерами заявок и сделок на срочке?<br />Вчера чуть ни в 22-00 услышал об этом и в панике, истерично))) начал пытаться запускать что-то на последнем Квике 8,6+</p><p>Ибо нашел у себя в коде робота функции сравнения номеров заявок и понял, что на старом квике не прокатит.</p><p>Нашел следующие трудности:</p><p>1. Luacom не пашет. Использовал всего лишь как средство для диалога.<br />Типа реакция на щелчке по клетке таблицы: Сделать то-то? Да или нет?<br />Пока не понял как обойти.</p><p>2. Ругалось на номера транзакций при выставлении заяввки, откуда-то взялось дробное значение.<br />Поставил округление.</p><p>3. Ругалось на цену фьючерса при выставлении заявки, откуда-то взялось дробное значение.<br />Поставил округление.</p><p>4. Ошибка непонятного происхождения в старом ЛУА, которую я обошел когда-то заглушкой, перестала быть ошибкой и моя заглушка стала ошибкой в новом ЛУА).Поставил доппроверку, теперь работает и там и там.(Писал ранее.)</p><p>Вроде заработало, пока вижу еще мелочи с преобразованными в строку датами и временем, которые я вывожу в заголовок таблицы робота и в файлы csv, где я сохраняю данные, но это пока терпит. </p><p>С мандражом)) жду понедельника, ибо дотянул, похоже, до последнего.</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Sat, 04 Jul 2020 11:58:38 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2782#p2782</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2780#p2780</link>
			<description><![CDATA[<div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>В папке библиотеки и 5.1 и 5.3</p></blockquote></div><p>Как бы библиотека про 5.1 лежит, но что она там делает- сами квиковцы не могут внятно ответить.<br />Так что по факту только одна Lua версии 5.3 присутствует в QUIK 8.5, 8.6 и далее.</p><div class="quotebox"><cite>Стас пишет:</cite><blockquote><p>И тут вопрос - если я запущу сейчас свой скрипт текстовой, он в 5.3 запустится?</p></blockquote></div><p>Формально синтаксис языка не изменился.<br />Но есть некоторые нюансы, волшебно почти ни у кого не завелось, надо то тут, то там править нюансы.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Fri, 19 Jun 2020 04:00:18 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2780#p2780</guid>
		</item>
		<item>
			<title><![CDATA[Re: Новая версия 8.5]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2776#p2776</link>
			<description><![CDATA[<p>Запустил старый скрипт на 8.6</p><p>Сразу остановился на ошибке.<br />Я начал смотреть и вспомнил, как отлаживал это место когда-то давно.<br />Никак не мог понять почему скрипт выдает ошибку в этом месте на Lua 5.1, ведь ее быть не должно. <br />В конце концов тупо поставил заглушку, которая устраняла непонятное действие.</p><p>Так на 5.3 стало выдавать ошибку на заглушке, без нее ошибка перестала выдаваться. ))</p><p>Но это был вспомогательный софт.<br />Теперь надо пробовать что-то со сделками. ((</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Tue, 16 Jun 2020 08:18:10 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2776#p2776</guid>
		</item>
	</channel>
</rss>
