<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Новая версия 8.5]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=320&amp;type=atom" />
	<updated>2020-09-18T08:40:59Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=320</id>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2841#p2841" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[votor]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3235</uri>
			</author>
			<updated>2020-09-18T08:40:59Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2841#p2841</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2806#p2806" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[pessimist]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3223</uri>
			</author>
			<updated>2020-07-15T12:09:09Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2806#p2806</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2805#p2805" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-15T11:58:33Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2805#p2805</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2803#p2803" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[pessimist]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3223</uri>
			</author>
			<updated>2020-07-11T19:02:03Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2803#p2803</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2802#p2802" />
			<content type="html"><![CDATA[<p>Если коротко, то я имел в виду, что функция OnTransReply(trans_reply) в таблице trans_reply поле trans_id с 6 июля имеет тип number.</p><p>А еще на прошлой неделе было вроде string </p><p>Я прав или что-то напутал?</p>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-10T21:40:31Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2802#p2802</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2800#p2800" />
			<content type="html"><![CDATA[<p><strong>Стас</strong>, если честно - из вашего сообщения мало что понятно.<br />Переформулируйте, пожалуйста, в более простой и формализованный формат:<br />1) вот такие значения переменных<br />2) вот такой код - даёт такой результат<br />3) вот такой код - даёт вот такой результат<br />И вопрос по какому именно коду какой результат видится некорректным</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2020-07-10T07:19:50Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2800#p2800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2798#p2798" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-09T11:43:26Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2798#p2798</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2787#p2787" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>если сам квик 6 не отрубится, то, скорее всего, да.</p></blockquote></div><br /><p>Сделки на срочке прекрасно снимаются в шестом квике, как и прежде.</p><p>Зря я истерично все выходные в панике бегал по кругу, обхватив голову руками.))</p>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-06T07:08:44Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2787#p2787</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2786#p2786" />
			<content type="html"><![CDATA[<p>Ставки приняты)</p>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-06T06:42:29Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2786#p2786</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2785#p2785" />
			<content type="html"><![CDATA[<p>если сам квик 6 не отрубится, то, скорее всего, да.</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2020-07-05T21:21:42Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2785#p2785</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2784#p2784" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>toxa пишет:</cite><blockquote><p>На срочке всегда номера заявок и сделок были 64-х битные. Ничего завтра особенного не случится.</p></blockquote></div><p>Хочешь сказать, что завтра робот, торгующий на срочке, написанный на lua и работающий в квике 6.*, будет работать как и прежде?</p>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-05T20:13:32Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2784#p2784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2783#p2783" />
			<content type="html"><![CDATA[<p>На срочке всегда номера заявок и сделок были 64-х битные. Ничего завтра особенного не случится.</p>]]></content>
			<author>
				<name><![CDATA[toxa]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3172</uri>
			</author>
			<updated>2020-07-05T07:27:27Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2783#p2783</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2782#p2782" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-07-04T11:58:38Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2782#p2782</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2780#p2780" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2020-06-19T04:00:18Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2780#p2780</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Новая версия 8.5]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2776#p2776" />
			<content type="html"><![CDATA[<p>Запустил старый скрипт на 8.6</p><p>Сразу остановился на ошибке.<br />Я начал смотреть и вспомнил, как отлаживал это место когда-то давно.<br />Никак не мог понять почему скрипт выдает ошибку в этом месте на Lua 5.1, ведь ее быть не должно. <br />В конце концов тупо поставил заглушку, которая устраняла непонятное действие.</p><p>Так на 5.3 стало выдавать ошибку на заглушке, без нее ошибка перестала выдаваться. ))</p><p>Но это был вспомогательный софт.<br />Теперь надо пробовать что-то со сделками. ((</p>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3219</uri>
			</author>
			<updated>2020-06-16T08:18:10Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2776#p2776</id>
		</entry>
</feed>
