<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Скрипт  для выставления заявок в QUIK]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Скрипт  для выставления заявок в QUIK форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 05 Apr 2026 16:52:59 +0300</pubDate>
		<item>
			<title>Скрипт  для выставления заявок в QUIK</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message39134/topic4665/">Скрипт  для выставления заявок в QUIK</a></b> <i>Скрипт  для выставления заявок в QUIK</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KWtHIajl" href="/user/13196/" bx-tooltip-user-id="13196">Jhon501</a> написал:<br />Quik требует идентификатор транзакции отличный от 0. Нужно ввести правильный sysN. Как sysN определить?<br />=============<br />Добрый день.<br />Как уже сказал наш коллега, указываете любое значение начиная от 1. <br />
			<i>01.08.2019 05:45:40, Egor Zaytsev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message39134/topic4665/</link>
			<guid>http://forum.quik.ru/messages/forum12/message39134/topic4665/</guid>
			<pubDate>Thu, 01 Aug 2019 05:45:40 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Скрипт  для выставления заявок в QUIK</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message39127/topic4665/">Скрипт  для выставления заявок в QUIK</a></b> <i>Скрипт  для выставления заявок в QUIK</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Quik требует идентификатор транзакции отличный от 0. Нужно ввести правильный sysN. Как sysN определить? <br />
			<i>31.07.2019 22:57:43, Jhon501.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message39127/topic4665/</link>
			<guid>http://forum.quik.ru/messages/forum12/message39127/topic4665/</guid>
			<pubDate>Wed, 31 Jul 2019 22:57:43 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Скрипт  для выставления заявок в QUIK</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message39120/topic4665/">Скрипт  для выставления заявок в QUIK</a></b> <i>Скрипт  для выставления заявок в QUIK</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Здравствуйте!<br />Проблема заключается в том, что у Вас параметр TRANS_ID (&quot;Уникальный идентификационный номер заявки&quot;) в скрипте принимает значение, равное &quot;0&quot;.<br />Минимально возможное значение, которое может принимать данный параметр, является &quot;1&quot;.<br />Проверьте, в каком месте параметр принимает нулевое значение. <br /><br /><br />====quote====<br />str = <br />&quot;TRANS_ID=&quot; + transid + &quot;; &quot; +<br />&quot;PRICE=&quot; + NumToStr(execution, format = 1.0, separator=False) + &quot;; &quot; +<br />&quot;QUANTITY=&quot; + NumToStr(Lots, format = 1.0, separator=False) + &quot;; &quot; +<br />&quot;OPERATION=&quot; + tradedir + &quot;; &quot; +<br />&quot;CLASSCODE=&quot; + Classcode + &quot;; &quot; +<br />&quot;ACTION=&quot; + &quot;NEW_ORDER; &quot; +<br />&quot;TYPE=&quot; + &quot;L; &quot; +<br />&quot;SECCODE=&quot; + ticker + &quot;; &quot; +<br />&quot;ACCOUNT=&quot; + Account + &quot;; &quot; +<br />&quot;CLIENT_CODE=&quot;+ sysN + &quot; &quot; + fulldir + &quot;;&quot;; // комментарий<br /><br />=============<br /> <br />
			<i>31.07.2019 16:19:30, Alexander Kopyatkevich.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message39120/topic4665/</link>
			<guid>http://forum.quik.ru/messages/forum12/message39120/topic4665/</guid>
			<pubDate>Wed, 31 Jul 2019 16:19:30 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
		<item>
			<title>Скрипт  для выставления заявок в QUIK</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum12/message39119/topic4665/">Скрипт  для выставления заявок в QUIK</a></b> <i>Скрипт  для выставления заявок в QUIK</i> в форуме <a href="http://forum.quik.ru/forum12/">Динамический импорт транзакций</a>. <br />
			Помогите правильно отредактировать скрипт для выставления заявок в QUIK.Создаются файлы tri. и tro. , но Quik выдает ошибку- &quot;Неправильно указан идентификатор транзакции: &quot;0&quot;!&quot;<br /><br />Buy=Sell=Short=Cover=0;<br /><br /><br />sysN = 1; // номер системы (в данном примере) или номер бумаги (в примере ООО)<br />TickSize = 5; // шаг цены. у фьючерса на индекс РТС он равен 5.<br />LongSize = 5; // в лонг торгуем 5 контрактов<br />ShortSize = 3; // в шорт торгуем 3 контракта<br />TradePrice = LastValue( Close );<br />ticker = Name(); // код бумаги, типа RIZ0<br /><br /><br />quik = ParamToggle( &quot;Autotrading&quot;, &quot;No|Yes&quot;, defaultval=1 ); // вкл/выкл сброс транзакций в .tri файл<br />SysPos = StaticVarGet( ticker+sysN );<br />SysPos = Nz(SysPos);<br />zero = ParamTrigger(&quot;Обнуление позиции&quot;, &quot;Click here to null a position&quot;);<br />if( zero ) <br />{ <br />SysPos = 0;<br />StaticVarSet( ticker+sysN+&quot;order1&quot;, 0 );<br />StaticVarSet( ticker+sysN+&quot;order2&quot;, 0 );<br />StaticVarSet( ticker+sysN+&quot;order3&quot;, 0 );<br />StaticVarSet( ticker+sysN+&quot;order4&quot;, 0 );<br />}<br /><br /><br />///////// Проверка исполнения транзакции \\\\\\\\\<br />for(i = 1; i &lt;= 4; i++)<br />{<br />order = StaticVarGet( ticker+sysN+&quot;order&quot;+i );<br />order_st = NumToStr ( order, 1.0, False );<br />printf( &quot;Ошибок в позе &quot; + i + &quot; = &quot; + order_st + &quot;\n&quot; ); <br />if( quik &amp;&amp; order &gt; 0 )<br />{<br />troFile = &quot;C:/QUIK/Transactions/orders.tro&quot;;<br />trof = fopen(troFile, &quot;r&quot;);<br /><br /><br />if(trof) <br />{<br />while(!feof(trof)) <br />{<br />s = fgets(trof);<br />if(StrCount( s, order_st) &gt; 0)<br />{<br />ststus = StrFind(s, &quot;STATUS=&quot;);<br />ststus = StrMid( s, ststus+6, 1);<br />ststus_num = StrToNum(ststus);<br /><br /><br />if(ststus_num == 3)<br />{<br />ordn = StrFind(s, &quot;ORDER_NUMBER=&quot;);<br />ordn = StrMid( s, ordn+12, 10);<br />PopupWindow( &quot;Заявка, с биржевым номером &quot; + ordn + <br />&quot;,\nуспешно зарегистрирована.&quot;,<br />&quot;Заявка зарегистрирована!&quot;, timeout = 86400, left = -1, top = -1 );<br />StaticVarSet( ticker+sysN+&quot;order&quot;+i, 0 );<br />}<br />else<br />if(ststus_num != 3 AND ststus_num != 0)<br />{<br />PopupWindow( &quot;Транзакция с номером &quot; + order_st + <br />&quot; не зарегистрирована.\n Ошибка № &quot; + ststus,<br />&quot;Транзакция не прошла!&quot;, timeout = 86400, left = -1, top = -1 );<br />StaticVarSet( ticker+sysN+&quot;order&quot;+i, -666 );<br />// если в окне Interpretation стоит цифра -666, значит транзакция не прошла<br />}<br />}<br />}<br />fclose(trof);<br />}<br />}}<br /><br /><br />//////////// Формируем транзакцию \\\\\\\\\\\\\<br />procedure save2tri(transid, tradedir, execution, Lots, fulldir) <br />{<br />fmkdir( &quot;C:\\QUIK&quot; );<br />fmkdir( &quot;C:\\QUIK\\Transactions&quot; );<br />triFile = &quot;C:/QUIK/Transactions/trans.tri&quot;;<br />Account = &quot;XXX&quot;; // аккаунт на бирже<br />Classcode = &quot;SPBFUT&quot;;<br /><br /><br />transid = NumToStr ( transid, 1.0, False );<br />f = fopen(triFile, &quot;r&quot;);<br />if(f) <br />{<br />while(!feof(f)) <br />{<br />s = fgets(f);<br />if(StrCount( s, transid) &gt; 0) <br />{<br />for( i = 2; StrCount( s, transid) == 0; i++ )<br />{<br />PopupWindow( &quot;Транзакция с номером &quot; + transid + <br />&quot; уже есть.\n Поделили на &quot; + i, <br />&quot;Повтор номера транзакции&quot;, timeout = 86400, left = -1, top = -1 );<br /><br /><br />transid = NumToStr( round( StrToNum(transid) / i ), 1.0, False);<br />}<br />}<br />}<br />fclose(f);<br />}<br /><br /><br />str = <br />&quot;TRANS_ID=&quot; + transid + &quot;; &quot; +<br />&quot;PRICE=&quot; + NumToStr(execution, format = 1.0, separator=False) + &quot;; &quot; +<br />&quot;QUANTITY=&quot; + NumToStr(Lots, format = 1.0, separator=False) + &quot;; &quot; +<br />&quot;OPERATION=&quot; + tradedir + &quot;; &quot; +<br />&quot;CLASSCODE=&quot; + Classcode + &quot;; &quot; +<br />&quot;ACTION=&quot; + &quot;NEW_ORDER; &quot; +<br />&quot;TYPE=&quot; + &quot;L; &quot; +<br />&quot;SECCODE=&quot; + ticker + &quot;; &quot; +<br />&quot;ACCOUNT=&quot; + Account + &quot;; &quot; +<br />&quot;CLIENT_CODE=&quot;+ sysN + &quot; &quot; + fulldir + &quot;;&quot;; // комментарий<br /><br /><br />f = fopen(triFile, &quot;a&quot;);<br />if(f) <br />{<br />fputs(str + &quot;\n&quot;, f);<br />fclose(f);<br />}<br />}<br /><br /><br />if( quik )<br />{<br />//--------------- Cover ---------------//<br />if( Cover&#91;BarCount-2&#93; &amp;&amp; SysPos == -1 )<br />{<br />transid = Now(format = 4) * 100 + 40 + sysN;<br />exprice = TradePrice + TickSize * 10;<br />save2tri(transid,&quot;B&quot;,exprice, ShortSize, &quot;Cover&quot;);<br />StaticVarSet( ticker+sysn+&quot;order4&quot;, transid );<br />SysPos = 0;<br />}<br />//---------------- Buy ----------------//<br />if( Buy&#91;BarCount-2&#93; &amp;&amp; SysPos == 0 )<br />{<br />transid = Now(format = 4) * 100 + 10 + sysN;<br />exprice = TradePrice + TickSize * 10;<br />save2tri(transid,&quot;B&quot;,exprice, LongSize, &quot;Buy&quot;);<br />StaticVarSet( ticker+sysn+&quot;order1&quot;, transid );<br />SysPos = 1;<br />}<br />//---------------- Sell ---------------//<br />if( Sell&#91;BarCount-2&#93; &amp;&amp; SysPos == 1 )<br />{ <br />transid = Now(format = 4) * 100 + 20 + sysN;<br />exprice = TradePrice - TickSize * 10;<br />save2tri(transid,&quot;S&quot;,exprice, LongSize, &quot;Sell&quot;);<br />StaticVarSet( ticker+sysn+&quot;order2&quot;, transid );<br />SysPos = 0;<br />}<br />//--------------- Short ---------------//<br />if( Short&#91;BarCount-2&#93; &amp;&amp; SysPos == 0 )<br />{ <br />transid = Now(format = 4) * 100 + 30 + sysN;<br />exprice = TradePrice - TickSize * 10;<br />save2tri(transid,&quot;S&quot;,exprice, ShortSize, &quot;Short&quot;);<br />StaticVarSet( ticker+sysn+&quot;order3&quot;, transid );<br />SysPos = -1;<br />}<br />}<br /><br /><br />StaticVarSet( ticker+sysN, SysPos );<br />printf(&quot;Текущая позиция: &quot; + WriteVal( SysPos, 1.0) + &quot;. \n&quot;); <br />
			<i>31.07.2019 16:08:36, Jhon501.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum12/message39119/topic4665/</link>
			<guid>http://forum.quik.ru/messages/forum12/message39119/topic4665/</guid>
			<pubDate>Wed, 31 Jul 2019 16:08:36 +0300</pubDate>
			<category>Динамический импорт транзакций</category>
		</item>
	</channel>
</rss>
