<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Странности при выполнении скрипта qlua в quik]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=274&amp;type=atom" />
	<updated>2019-01-03T08:58:05Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=274</id>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2271#p2271" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>без прописывания их вручную, терминал ведь знает все эти параметры сразу после соединения с сервером</p></blockquote></div><p>Привет. В OnInit не стоит использовать функции для получения данных из таблиц квика, если вы планируете не выключать скрипт, но будете выключать терминал, то при следующем включении терминала OnInit сработает раньше, чем нужные таблицы будут загружены из хранилища. А если не планируете вообще выключать терминал, то OnInit будет вызван 1 раз, при первом запуске.<br />Так же в main необходимо обработать событие подключения к серверу квик, т.к. в этот момент все таблицы в терминале будут очищены и заново заполнены новыми данными, полученными с сервера. Пока этого не произошло, есть шанс получить некорректные данные. Нужно понимать, что соединение с сервером при включении и после обрыва соединения не одно и тоже событие.<br />Такие параметры, как код клиента, firmid и др. можно прописать в файл и считывать оттуда, либо непосредственно писать их в коде. Узнать можно и программно, но это лишняя трата времени и никоим образом на автоматизацию не влияет.</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2019-01-03T08:58:05Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2271#p2271</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2270#p2270" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kalikazandr пишет:</cite><blockquote><p> поле flags содержит это информацию, в справке QLUA.chm все описано.</p></blockquote></div><p>Спасибо, и вот подскажите еще пожалуйста - как при запуске скрипта, из секции OnInit ()<br />можно сразу узнать текущее состояние баланса денежных средств, исходя из справки для этого служат функции<br />getMoney&nbsp; и getMoneyEx, им нужно передать параметры (STRING client_code, STRING firmid, STRING tag, STRING currcod<br />client_code можно получить а как получить firmid, tag и currcod?<br />Их можно получить либо по результатам из таблиц ontrade или onorder но для этого уже после запуска скрипта надо совершить какие либо действия, либо прописать вручную, но допустим я хочу максимально автоматизировать скрипт - чтобы он без совершения каких либо сделок или заявок сам каждый раз узнавал нужные параметры, без прописывания их вручную, терминал ведь знает все эти параметры сразу после соединения с сервером</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-31T14:02:43Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2270#p2270</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2268#p2268" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>2. Как при совершении сделки в скрипте узнать что это была за сделка - Купля Продажа или еще чтото?<br />Я нашел только такой параметр как side_qualifier в таблице Сделки возвращаемой функцией Ontrade() <br />0 – не определено; 1&nbsp; – Buy; 2&nbsp; – Sell; 3 – Sell short; 4 – Sell short exempt; 5&nbsp; – Sell undiclosed <br />И вот он у меня все время 0 при любой сделке<br />Тем не менее сам то терминал получает полную информацию о сделках - в окне &quot;Таблица сделок&quot; записи идут с пометкой купля или продажа</p></blockquote></div><p>поле flags содержит это информацию, в справке QLUA.chm все описано.</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2018-12-29T14:09:03Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2268#p2268</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2267#p2267" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Nordman пишет:</cite><blockquote><div class="quotebox"><cite>kalikazandr пишет:</cite><blockquote><p> но нужна проверка по балансу - если не поменялся то второй раз не считать</p></blockquote></div><p>И как раз подскажите пожалуйста:<br />1. Как проверить баланс, то есть чистый остаток денежных средств не учитывая стоимости ценных бумаг и прочих&nbsp; активов</p></blockquote></div><p>привет, не этот баланс, а баланс в OnOrder(order) order.balance - вот этот, если не поменялся с прошлого раза, то можно игнорировать это событие (естественно по одному order_num).</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2018-12-29T14:05:53Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2267#p2267</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2265#p2265" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kalikazandr пишет:</cite><blockquote><p> но нужна проверка по балансу - если не поменялся то второй раз не считать</p></blockquote></div><p>И как раз подскажите пожалуйста:<br />1. Как проверить баланс, то есть чистый остаток денежных средств не учитывая стоимости ценных бумаг и прочих&nbsp; активов, почитал мануал по Qlua -<br />&nbsp; &nbsp;Функция getMoney (STRING client_code, STRING firmid, STRING tag, STRING currcode)<br />client_code я узнать могу а как узнать firmid, tag и currcode? Узнать то их можно но просто получив весь список фирм - getItem (&quot;firms&quot;), кстати он у меня выглядит так:<br />N&nbsp; &nbsp; &nbsp; &nbsp;firmid&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; code&nbsp; &nbsp; &nbsp;npars&nbsp; &nbsp; nsecs <br />0 = SMS_FIRM&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />1 = MB1000100000&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />2 = SPBFUT000000&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />3 = NC0011100000&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />4 = SPBFUTQORT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />5 = SPBFUT000HSE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp;nil<br />6 = ZERHM&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; nil<br />7 = CITF&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp;nil<br />8 = CITFS&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil<br />9 = SOLDM&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil<br />10 = SOLDM01&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />11 = OPENM&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; nil<br />12 = OPENM26&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil<br />13 = OPENGM&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nil&nbsp; &nbsp; &nbsp; &nbsp;nil</p><p>(Пока что на демо-счете тренируюсь)</p><p>А как узнать какая фирма моя? ))))))<br />То же и по tag и currcode, их конечно можно получить при совершении сделки из функции Ontrade() но для этого надо чтото купить или продать а я так понимаю должна быть возможность узнать все свои рабочие параметры и без совершения сделок, сразу при запуске скрипта из oninit(), терминал ведь знает все мои параметры после установки соединения с сервером и показывает их мне</p><p>2. Как при совершении сделки в скрипте узнать что это была за сделка - Купля Продажа или еще чтото?<br />Я нашел только такой параметр как side_qualifier в таблице Сделки возвращаемой функцией Ontrade() <br />0 – не определено; 1&nbsp; – Buy; 2&nbsp; – Sell; 3 – Sell short; 4 – Sell short exempt; 5&nbsp; – Sell undiclosed <br />И вот он у меня все время 0 при любой сделке<br />Тем не менее сам то терминал получает полную информацию о сделках - в окне &quot;Таблица сделок&quot; записи идут с пометкой купля или продажа</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-29T11:36:41Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2265#p2265</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2264#p2264" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>kalikazandr пишет:</cite><blockquote><div class="quotebox"><cite>Kolossi пишет:</cite><blockquote><div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>И что за косяк? Можно сразу?</p></blockquote></div><p>Иногда, (редко, но бывает) приходит оnТrade(trade) чужой заявки с вашим order_num.</p><p>Я выкрутился, проверяя номер сделки trade[&quot;trade_num&quot;], что бы эти номера шли по возрастанию.</p></blockquote></div><p>Не бывает такого и быть априори не может, а вот что для каждой новой сделке приходит 3 события - факт, по этому при первой обработке запоминаем:<br />mytrades = {}<br /> if&nbsp; mytrades[trade_num] then return end -- обработана<br />&nbsp; // обработка события сделки //<br />&nbsp; mytrades[trade_num] = true<br />end<br />Для новых заявок приходит 2 события или одно, принцип тот же, но нужна проверка по балансу - если не поменялся то второй раз не считать</p></blockquote></div><p>Те же шары, только в профиль.<br />У меня примерно так:<br />mytrades = {}<br /> mytrades[trade_num]=0<br />...<br /> if&nbsp; mytrades[trade_num]==trade_data[trade_num] then return end -- обработана<br />&nbsp; // обработка события сделки //<br />&nbsp; mytrades[trade_num]=trade_data[trade_num]<br />end</p>]]></content>
			<author>
				<name><![CDATA[Kolossi]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3109</uri>
			</author>
			<updated>2018-12-29T06:59:21Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2264#p2264</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2263#p2263" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Kolossi пишет:</cite><blockquote><div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>И что за косяк? Можно сразу?</p></blockquote></div><p>Иногда, (редко, но бывает) приходит оnТrade(trade) чужой заявки с вашим order_num.</p><p>Я выкрутился, проверяя номер сделки trade[&quot;trade_num&quot;], что бы эти номера шли по возрастанию.</p></blockquote></div><p>Не бывает такого и быть априори не может, а вот что для каждой новой сделке приходит 3 события - факт, по этому при первой обработке запоминаем:<br />mytrades = {}<br /> if&nbsp; mytrades[trade_num] then return end -- обработана<br />&nbsp; // обработка события сделки //<br />&nbsp; mytrades[trade_num] = true<br />end<br />Для новых заявок приходит 2 события или одно, принцип тот же, но нужна проверка по балансу - если не поменялся то второй раз не считать</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2018-12-28T19:39:34Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2263#p2263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2262#p2262" />
			<content type="html"><![CDATA[<p>Ясно спасибо, ну и то есть если как я говорю - фильтровать приходящие ответы от сервера по USERID это даст гарантию отсева случайных ответов на чужие заявки как выговорите что изредка такое случается? На чужую заявку ответ ведь должен быть с USERID другого трейдера</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-28T17:34:09Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2262#p2262</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2261#p2261" />
			<content type="html"><![CDATA[<p>Да вариантов много разных.<br />Суть того, что применяю я - если номер сделки не больше, чем предыдущий значит это дубль и эта сделка уже обработана.&nbsp; &nbsp;Почему номер сделки ? Да потому, что на одну заявку, которая больше одного лота, может реально пройти несколько сделок, которые нужно обработать и отсеять дубли и прочий мусор.&nbsp; Естественно, что большинство параметров в этих сделках будут одинаковы.</p>]]></content>
			<author>
				<name><![CDATA[Kolossi]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3109</uri>
			</author>
			<updated>2018-12-28T10:19:08Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2261#p2261</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2260#p2260" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Kolossi пишет:</cite><blockquote><div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>И что за косяк? Можно сразу?</p></blockquote></div><p>Иногда, (редко, но бывает) приходит оnТrade(trade) чужой заявки с вашим order_num.</p></blockquote></div><p>Может достаточно сверять параметры выполненной сделки по USERID? Он ведь для каждого пользователя должен быть уникальным я так понимаю<br />getInfoParam(&quot;USERID&quot;)<br />Можно еще и по client_code тоже<br />И тогда получается достаточно будет отсеивать точно такие же ответы от сервера по этой сделке с моим USERID<br />и client_code?</p><p>Кстати все три ответа по Ontrade и два по OnOrder у меня приходят c моим uid (USERID)<br />да и все остальные параметры одинаковые кроме datetime canceled_datetime и withdraw_datetime.<br />Видимо это какой то глюк на сервере, или может неизвестный нам технический нюанс</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-28T08:03:46Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2260#p2260</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2259#p2259" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>И что за косяк? Можно сразу?</p></blockquote></div><p>Иногда, (редко, но бывает) приходит оnТrade(trade) чужой заявки с вашим order_num.</p><p>Я выкрутился, проверяя номер сделки trade[&quot;trade_num&quot;], что бы эти номера шли по возрастанию.</p>]]></content>
			<author>
				<name><![CDATA[Kolossi]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3109</uri>
			</author>
			<updated>2018-12-27T08:28:15Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2259#p2259</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2258#p2258" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Kolossi пишет:</cite><blockquote><p>Попробуйте выставить заявку вот так:</p><p>function Trade(a_oper,a_count,a_price,p_TRANS_ID) -- (направление, количество, прайс, идентификатор)</p><p>есть еще один косяк в onTrade, о котором я расскажу потом</p></blockquote></div><p>Спасибо за помощь но что же тогда делать с ручной формировкой заявок - иногда и вручную хочется, и самое главное надо бы знать почему на выполнение одной заявки на покупку одного лота приходит три ответа с разным временем? можно конечно отсечь дубликаты но вдруг иногда эти дубликаты будут иметь какое то значение?</p><p>Вообщем пока решил проблему так:</p><p>function OnInit ()<br />ordn=0<br />tr=0<br />end</p><p>function main()<br />&nbsp; &nbsp; while is_run do<br />&nbsp; &nbsp;&nbsp; &nbsp; tr=0<br />&nbsp; &nbsp;&nbsp; &nbsp; ordn=0<br />&nbsp; &nbsp;&nbsp; &nbsp; sleep(1000)<br />&nbsp; &nbsp; end;</p><p>function OnOrder (neworder)</p><p>if ordn==0 then<br />ordn=neworder.order_num<br />....<br />end</p><p>function OnTrade(trade_data)<br />&nbsp; &nbsp; <br />if tr~=0 then return end<br />&nbsp; &nbsp; if tr ==0 then <br />&nbsp; &nbsp; tr=trade_data.trade_num <br />...<br />end</p><br /><p>И что за косяк? Можно сразу?</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-27T07:47:00Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2258#p2258</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2257#p2257" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Nordman пишет:</cite><blockquote><p>Сравнил сейчас резльтаты выгрузки таблиц OnOrder (neworder) и OnTrade(trade_data) в файл<br />Таблицы neworder отличаются значениями withdraw_datetime, datetime и uid, причем 1ый uid=0 а второй uid = 132894<br />Таблицы trade_data отличаются значениями canceled_datetime&nbsp; (Какой тут может быть canceled_datetime? заявка ведь выполнена) и datetime</p></blockquote></div><p>OnTrade иногда запускается чужой заявкой, видимо это ваш случай.</p><p>Если вы получили из OnOrder(neworder) номер заявки&nbsp; x=neworder[&quot;order_num&quot;] ,<br />то ваша OnTrade(trade_data) только та, где trade_data[&quot;order_num&quot;]==x</p>]]></content>
			<author>
				<name><![CDATA[Kolossi]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3109</uri>
			</author>
			<updated>2018-12-27T07:43:10Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2257#p2257</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2256#p2256" />
			<content type="html"><![CDATA[<p>Сравнил сейчас резльтаты выгрузки таблиц OnOrder (neworder) и OnTrade(trade_data) в файл<br />Таблицы neworder отличаются значениями withdraw_datetime, datetime и uid, причем 1ый uid=0 а второй uid = 132894<br />Таблицы trade_data отличаются значениями canceled_datetime&nbsp; (Какой тут может быть canceled_datetime? заявка ведь выполнена) и datetime</p>]]></content>
			<author>
				<name><![CDATA[Nordman]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3096</uri>
			</author>
			<updated>2018-12-27T07:21:27Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2256#p2256</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Странности при выполнении скрипта qlua в quik]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2255#p2255" />
			<content type="html"><![CDATA[<p>Попробуйте выставить заявку вот так:</p><p>function Trade(a_oper,a_count,a_price,p_TRANS_ID) -- (направление, количество, прайс, идентификатор)<br />&nbsp; &nbsp; if a_count&gt;0 and a_price&gt;0 then<br />&nbsp; &nbsp; &nbsp; &nbsp; --посылаем заявку<br />&nbsp; &nbsp; &nbsp; &nbsp; local ton = {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;CLASSCODE&quot;]=p_classcode, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;SECCODE&quot;]=p_seccode, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;ACTION&quot;]=&quot;NEW_ORDER&quot;, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;ACCOUNT&quot;]=p_account, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;CLIENT_CODE&quot;]=p_clientcode, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;TYPE&quot;]=&quot;L&quot;, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;OPERATION&quot;]=a_oper, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;QUANTITY&quot;]=tostring(a_count), <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;PRICE&quot;]=tostring(a_price),<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;EXPIRY_DATE&quot;]=&quot;GTC&quot;, <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [&quot;TRANS_ID&quot;]=p_TRANS_ID<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; local res=sendTransaction(ton) <br />&nbsp; &nbsp; &nbsp; &nbsp; if res == &quot;&quot; then<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; messages(&quot;Send = &quot;..tostring(a_count),1)<br />&nbsp; &nbsp; &nbsp; &nbsp; else<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; messages(&quot;Error = &quot;..res,1)<br />&nbsp; &nbsp; &nbsp; &nbsp; end<br />&nbsp; &nbsp; end<br />end</p><p>В идентификатор - любое число, например = 5, направление &quot;S&quot; или &quot;B&quot;</p><p>потом ответ на транзакцию</p><p>function OnTransReply(trans_reply)<br />&nbsp; &nbsp; local id=tostring(trans_reply[&quot;trans_id&quot;]) -- идентификатор транзакции <br />&nbsp; &nbsp; --если это наша транзакция, обработаем ее<br />&nbsp; &nbsp; if id==p_TRANS_ID then<br />&nbsp; &nbsp; &nbsp; &nbsp; local nord=trans_reply[&quot;order_num&quot;] --номер заявки <br />&nbsp; &nbsp; &nbsp; &nbsp; if nord==nil or nord==0 or nord==&quot;0&quot; then<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;messages(p_seccode..&quot; Order do not receive &quot;,1)<br />&nbsp; &nbsp; &nbsp; &nbsp; else<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; order_num=nord<br />&nbsp; &nbsp; &nbsp; &nbsp; end<br />&nbsp; &nbsp; end<br />end</p><p>&nbsp; Дальше в onTrade(trade) проверяете &nbsp; &nbsp; </p><p>if trade[&quot;order_num&quot;]==order_num then -- это Ваша сделка</p><p>есть еще один косяк в onTrade, о котором я расскажу потом</p>]]></content>
			<author>
				<name><![CDATA[Kolossi]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3109</uri>
			</author>
			<updated>2018-12-27T06:47:24Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2255#p2255</id>
		</entry>
</feed>
