<?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>Sun, 05 Apr 2026 22:18:45 +0300</pubDate>
		<item>
			<title>Добавление флагов в скрипт</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70018/topic8104/">Добавление флагов в скрипт</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ot2p20Z5" href="/user/2047/" bx-tooltip-user-id="2047">Станислав</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/15713/" target="_blank" rel="nofollow">Beginner</a></noindex> написал:<br /> &nbsp;<br />====quote====<br /> <noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> &nbsp;написал:<br />у вас flag всегда ноль.<br />=============<br /> &nbsp;а как правильно нужно? &nbsp;<br />=============<br /> flag=0 --ИСХОДНОЕ ЗНАЧЕНИЕ ФЛАГА<br /><br />Сейчас переменной присваивается значение 0 на каждой итерации цикла while. Очевидно, что инициализацию переменной нужно вынести за его пределы.<br />=============<br />надо вынести начальное значение из цикла. <br />
			<i>17.06.2023 06:46:35, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70018/topic8104/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70018/topic8104/</guid>
			<pubDate>Sat, 17 Jun 2023 06:46:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Добавление флагов в скрипт</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70017/topic8104/">Добавление флагов в скрипт</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_JEC2q40F" href="/user/15713/" bx-tooltip-user-id="15713">Beginner</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br />у вас flag всегда ноль.<br />=============<br /> а как правильно нужно? &nbsp;<br />=============<br />flag=0 --ИСХОДНОЕ ЗНАЧЕНИЕ ФЛАГА<br /><br />Сейчас переменной присваивается значение 0 на каждой итерации цикла while. Очевидно, что инициализацию переменной нужно вынести за его пределы. <br />
			<i>16.06.2023 23:40:41, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70017/topic8104/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70017/topic8104/</guid>
			<pubDate>Fri, 16 Jun 2023 23:40:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Добавление флагов в скрипт</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message70015/topic8104/">Добавление флагов в скрипт</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ETtJo4yn" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br />у вас flag всегда ноль.<br />=============<br />а как правильно нужно? &nbsp; <br />
			<i>16.06.2023 20:40:06, Beginner.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message70015/topic8104/</link>
			<guid>http://forum.quik.ru/messages/forum10/message70015/topic8104/</guid>
			<pubDate>Fri, 16 Jun 2023 20:40:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Добавление флагов в скрипт</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69996/topic8104/">Добавление флагов в скрипт</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			у вас flag всегда ноль. <br />
			<i>15.06.2023 11:35:13, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69996/topic8104/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69996/topic8104/</guid>
			<pubDate>Thu, 15 Jun 2023 11:35:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Добавление флагов в скрипт</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message69993/topic8104/">Добавление флагов в скрипт</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<p>Решил сделать несложный торговый скрипт с использованием флагов:</p><ul><li>если на последней закрытой свече close&gt;open, то происходит buy<br /><li>если на последней закрытой свече close&lt;open, то происходит sell<br /></ul>Чтобы скрипт на тренде не совершал новых сделок, то я решил добавить флаги по логике: flag=0 - исходное значение flag=1 - присваивается после buy flag=0 - присваивается после sell<br />И по описанной логике код работает все время до отключения.<br /><p>Все это включено в код ниже, но он работает только если flag отключены. </p><p>Если flag активны, то в таблице даже цены не появляются.</p><p>В чем моя ошибка? Как правильно прописывать флаги?</p>
====code====
<pre>------------------------------------------
local SecCode="MMM3"&nbsp;&nbsp;--код тикера

local Depo="XXXX" --счет-депо

------------------------------------------
--условие остановки скрипта

local stopped = false
local T&nbsp;&nbsp;= {}
function OnStop()
&nbsp;&nbsp;&nbsp;&nbsp;stopped = true
&nbsp;&nbsp;&nbsp;&nbsp;return 2000
end

--основной блок

function main()

&nbsp;&nbsp;&nbsp;&nbsp;local Table = AllocTable()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--создаем таблицу

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(Table, 1,"Тикер", true, QTABLE_STRING_TYPE, 13)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(Table, 2,"Close", true, QTABLE_DOUBLE_TYPE, 13)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(Table, 3,"Open", true, QTABLE_DOUBLE_TYPE, 13)


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CreateWindow(Table)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowCaption(Table, "Test")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetWindowPos(Table, 0, 10, 390, 90)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InsertRow(Table, -1)

&nbsp;&nbsp;&nbsp;&nbsp;while stopped==false do

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--получаем количество свечей
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local N = getNumCandles("Price")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--получаем данные по идентификаторам на графике
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Price, N, Name = getCandlesByIndex("Price", 0, N-2,1) --идентификатор цены на графике - Price
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag=0 --ИСХОДНОЕ ЗНАЧЕНИЕ ФЛАГА
&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;SetCell(Table, 1, 1, tostring("IMOEX"))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(Table, 1, 2, tostring(Close))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(Table, 1, 3, tostring(Open))
&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 Close&#62;Open and flag==0 then --ИДЕТ ПРОВЕРКА ЗНАЧЕНИЯ ФЛАГА
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ID_B_Order=10

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local 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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACTION"&#93;="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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACCOUNT"&#93;= Depo,
&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;&#91;"OPERATION"&#93; = "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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"CLASSCODE"&#93;="SPBFUT",
&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;&#91;"SECCODE"&#93; = SecCode,
&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;&#91;"PRICE"&#93; = "0",
&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;&#91;"QUANTITY"&#93; = tostring(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;&#91;"TRANS_ID"&#93; = tostring(ID_B_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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"TYPE"&#93; = "M",
&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Err_Order = sendTransaction(Order)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(Err_Order)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag=1 --ФЛАГ МЕНЯЕТ ЗНАЧЕНИЕ НА 1 ПОСЛЕ СДЕЛКИ


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif Close&#60;Open and flag==1 then --ИДЕТ ПРОВЕРКА ЗНАЧЕНИЯ ФЛАГА

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ID_S_Order=1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local 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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACTION"&#93;="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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"ACCOUNT"&#93;= Depo,
&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;&#91;"OPERATION"&#93; = "S",
&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;&#91;"CLASSCODE"&#93;="SPBFUT",
&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;&#91;"SECCODE"&#93; = SecCode,
&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;&#91;"PRICE"&#93; = "0",
&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;&#91;"QUANTITY"&#93; = tostring(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;&#91;"TRANS_ID"&#93; = tostring(ID_S_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;&nbsp;&nbsp;&nbsp;&nbsp;&#91;"TYPE"&#93; = "M",
&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Err_Order = sendTransaction(Order)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(Err_Order)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag=0 --ФЛАГ МЕНЯЕТ ЗНАЧЕНИЕ НА ИСХОДНОЕ (0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;&nbsp;&nbsp;end

end</pre>
============= <br />
			<i>15.06.2023 08:59:18, Beginner.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message69993/topic8104/</link>
			<guid>http://forum.quik.ru/messages/forum10/message69993/topic8104/</guid>
			<pubDate>Thu, 15 Jun 2023 08:59:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
