<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Нужна помощь . торговым алгоритмом]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Нужна помощь . торговым алгоритмом форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 27 Apr 2026 23:50:27 +0300</pubDate>
		<item>
			<title>Нужна помощь . торговым алгоритмом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message77698/topic8964/">Нужна помощь . торговым алгоритмом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_AdmZ0N0j" href="/user/16291/" bx-tooltip-user-id="16291">Сергей ВАТ</a>, &nbsp;Вам нужно подтянуть материальную часть. Это далеко не алгоритм, алгоритм - это прежде всего логика и последовательность действий, что совсем отсутствует в Вашем коде. Ниже выкладываю демонстрационный пример, как код должен выглядеть. &nbsp;Это не торговый, это демонстрация возможностей! <br />
====code====
<pre>--stopped = false&nbsp;&nbsp;-- Этот флаг здесь не нужен
function OnStop()
&nbsp;&nbsp; --stopped = true
&nbsp;&nbsp; return 5000
end

-- Установки
local Kod_klienta = "10800"; -- нужно поставить свое значение
local Torg_schet = "NL0011100043"; -- нужно поставить свое значение
local CLASS_CODE = "QJSIM" -- Код класса
local SEC_CODE = "SPBE" -- Код бумаги
local Kod_FirM = "NC0011100000" -- Код фирмы
local step_grid = 5

local run = true -- флаг работы скипта
function main()
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;-- один раз получает шаг цены (так как величина постоянная)
&nbsp;&nbsp;&nbsp;&nbsp;local step_price = getParamEx(CLASS_CODE, SEC_CODE, "SEC_PRICE_STEP").param_value

&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;--в цикле каждые милисекунды (sleep(10000)) обновляем цену перед расчетом нового уровня
&nbsp;&nbsp;&nbsp;&nbsp;local Sena = getParamEx(CLASS_CODE, SEC_CODE, "LAST").param_value
&nbsp;&nbsp;&nbsp;&nbsp;-- Расчет 10 уровней с шагом сетки step_grid = 5
&nbsp;&nbsp;&nbsp;&nbsp;for i = 1, 10 do
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- расчет сдвига цены (сетка)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sena = Sena + i * step_price * step_grid 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local podgot = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACCOUNT = Torg_schet,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLIENT_CODE = Kod_klienta,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TYPE = "L",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TRANS_ID = "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;CLASSCODE = CLASS_CODE,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SECCODE = SEC_CODE,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACTION = "NEW_ORDER",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPERATION = "B",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PRICE = tostring(Sena),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QUANTITY = "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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--if -- Условия для выхода из расчета
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sendTransaction(podgot) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--then break; end;
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;sleep(10000)
&nbsp;&nbsp;end
end</pre>
============= <br />
			<i>14.02.2025 09:20:01, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message77698/topic8964/</link>
			<guid>http://forum.quik.ru/messages/forum10/message77698/topic8964/</guid>
			<pubDate>Fri, 14 Feb 2025 09:20:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Нужна помощь . торговым алгоритмом</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message77691/topic8964/">Нужна помощь . торговым алгоритмом</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Всем привет. Нужна &nbsp;помощь, так как сам не могу дать ума. Алгоритм выставляет 1 ордер. <br />а мне надо чтоб он сразу выставил много заявок на покупку но каждая следующая с мешалась на 10 пунктов от последней и всё это на покупку.<br /><br /><br /><br /><br />Вот алгоритм. <br /><br /><br />stopped = false<br />function OnStop()<br />stopped = true<br />return 5000<br />end<br /><br />Kod_klienta = &quot;10800&quot;; -- нужно поставить свое значение<br />Torg_schet = &quot;NL0011100043&quot;; -- нужно поставить свое значение<br />CLASS_CODE = &quot;QJSIM&quot; -- Код класса<br />SEC_CODE = &quot;SPBE&quot; -- Код бумаги<br />Kod_FirM = &quot;NC0011100000&quot; -- Код фирмы <br /><br /><br /><br />	function main()<br /><br />		local SER = getParamEx(&quot;QJSIM&quot;, &quot;SPBE&quot;, &quot;LAST&quot;).param_value<br />		while SER &nbsp;do<br />		sendTransaction(SER)<br /> &nbsp; &nbsp; &nbsp; &nbsp;sleep (10000)<br /><br />		local Sena = getParamEx(&quot;QJSIM&quot;, &quot;SPBE&quot;, &quot;LAST&quot;).param_value<br /><br /><br />		local podgot={<br />					ACCOUNT = Torg_schet ,<br />					CLIENT_CODE=Kod_klienta,<br />					TYPE=&quot;L&quot;,<br />					TRANS_ID=&quot;1&quot;,<br />					CLASSCODE=CLASS_CODE,<br />					SECCODE=SEC_CODE,<br />					ACTION=&quot;NEW_ORDER&quot;,<br />					OPERATION=&quot;B&quot;,<br />					PRICE= tostring(Sena -(1)),<br />					QUANTITY=&quot;1&quot;<br />					}<br /><br />					while podgot &nbsp; do<br /><br />					if sendTransaction(podgot)<br /><br />					then break; end;<br /><br />					end<br />		end<br />	end <br />
			<i>13.02.2025 14:34:41, Сергей ВАТ.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message77691/topic8964/</link>
			<guid>http://forum.quik.ru/messages/forum10/message77691/topic8964/</guid>
			<pubDate>Thu, 13 Feb 2025 14:34:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
