<?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, 06 Apr 2026 13:54:37 +0300</pubDate>
		<item>
			<title>А это нормально ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message4084/topic463/">А это нормально ?</a></b> <i>Нужно остановить скрипт, чтобы обновился totalnet ?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_B9FZsA7y" href="/user/957/" bx-tooltip-user-id="957">Сергей Парахин</a> пишет: <br />Чтобы мне перевернуться из лонга в шорт, я должен сначала одной заявкой продать лонг, а другой заявкой открыть шорт.<br /><br />=============<br />Это ограничение не брокера, но биржи. <br />
			<i>02.05.2015 09:00:51, Серж.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message4084/topic463/</link>
			<guid>http://forum.quik.ru/messages/forum10/message4084/topic463/</guid>
			<pubDate>Sat, 02 May 2015 09:00:51 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>А это нормально ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message4080/topic463/">А это нормально ?</a></b> <i>Нужно остановить скрипт, чтобы обновился totalnet ?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />swerg пишет: <br />А если поставить 1..2 секунды? откуда именно 5? неужели к вам так долго приходит ответ и изменение позиций? (в терминале вы ведь видите изменение?)<br /><br />=============<br />Да это так, на всякий случай. Можно и 2 секунды поставить. Главное, максимально быстро отправить заявку, а том хоть 10 секунд пусть скрипт отдыхает. Подумал, что можно проще сделать. Ввести переменную poza. Как только зявку ушла, не дожидаясь ее исполнения, переводить ее в true. Вышли из позиции, соответственно, переводим ее в false. Без колбэков. Пока немного трудновато понять логику событийного программирования после qpile. Учитывая еще то, что я не профессиональный программист. Имею только базовые знания из институтского курса.<br />Тут еще вылезла другая проблема. Мой брокер (Сбербанк КИБ) не разрешает переворачивать позицию в одной заявке, если ГО в 2 раза меньше чистой позиции.Пример. На счете 30 тыс. ГО по фьючу РТС 22 тыс. Чтобы мне перевернуться из лонга в шорт, я должен сначала одной заявкой продать лонг, а другой заявкой открыть шорт. Это что вручную при вводе заявки, что на qpile. На qpile понятно. В синхронном режиме посылаешь в одном цикле сначала одну заявку, тут же следом в этом же цикле вторую. И все срабатывает. Но это очень долго. Цена может улететь. И вот тут уже придется разбираться с колбэками. Как вариант, с тем, что предложил <noindex><a href="https://forum.quik.ru/user/87/" target="_blank" rel="nofollow">green_X5</a></noindex> <br />
			<i>01.05.2015 23:05:12, Сергей Парахин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message4080/topic463/</link>
			<guid>http://forum.quik.ru/messages/forum10/message4080/topic463/</guid>
			<pubDate>Fri, 01 May 2015 23:05:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>А это нормально ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message4078/topic463/">А это нормально ?</a></b> <i>Нужно остановить скрипт, чтобы обновился totalnet ?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br />В конце цикла на вход ставлю паузу в 5 секунд. Только тогда все заработало как нужно<br /><br />=============<br />Этот момент немного не понятен.<br />А если поставить 1..2 секунды? откуда именно 5? неужели к вам так долго приходит ответ и изменение позиций? (в терминале вы ведь видите изменение?)<br /><br />Как быстро ваш робот выставляет столько заявок, что "Превышен лимит по инструменту"?<br /><br />Дело в том, что в отличии от QPILE в QLua при отправке транзакции ваш скрипт сразу продолжает работать как только отправит транзакцию, не дожидаясь ответа на неё.<br /><br />Это опять же к вопросу необходимости добавления синхронного метода отправки транзакции для написания скриптов QLIPE-стайл <br />
			<i>01.05.2015 20:28:05, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message4078/topic463/</link>
			<guid>http://forum.quik.ru/messages/forum10/message4078/topic463/</guid>
			<pubDate>Fri, 01 May 2015 20:28:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>А это нормально ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message4075/topic463/">А это нормально ?</a></b> <i>Нужно остановить скрипт, чтобы обновился totalnet ?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот такой вариант?<br />1. в начале скрипта run=false;<br />2. Получили с колбэка сигнал на совершение транзакции, присваиваем переменной run=true;<br />3. Этот же колбэк блокируется на первой строчке if run then return end;<br />4. Колбэк на проверку изменения позиции разблокируется на первой строчке if not run then return end;<br />5. Пришло подтверждение изменения позиции, run=false;<br />Обычный флаг.<br />Неплохо бы ещё учитывать ответ колбэка на результат отправки транзакции. <br />
			<i>01.05.2015 19:58:38, green_X5.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message4075/topic463/</link>
			<guid>http://forum.quik.ru/messages/forum10/message4075/topic463/</guid>
			<pubDate>Fri, 01 May 2015 19:58:38 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>А это нормально ?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message3939/topic463/">А это нормально ?</a></b> <i>Нужно остановить скрипт, чтобы обновился totalnet ?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Я что-то после qpile пребываю в легком шоке. Сегодня целый день убил, чтобы понять, почему робот продолжает входить в позицию, хотя уже одна заявку улетела. В цикле на вход, помимо торгового условия есть проверка на наличие позиции по фьючерсу. Код на получение позиции такой (подсмотрел тут на форуме))):<br /><br />function GetTotalNet(stroka)<br /> &nbsp; local i = 0<br /> &nbsp; local futures = {}<br /> &nbsp; &nbsp; &nbsp;while futures.sec_code ~= stroka do<br /> &nbsp; &nbsp; &nbsp; &nbsp; futures = getItem("futures_client_holding", i)<br /> &nbsp; &nbsp; &nbsp; &nbsp; i = i+1<br /> &nbsp; &nbsp; &nbsp;end<br /> &nbsp; return futures.totalnet<br />end<br /><br />Далее в майне вызываем эту функцию и присваиваем переменной значение local total_net=GetTotalNet(тут пишем код бумаги). <br />Т.е. если total_net=0 и еще другие условия, то входим в позицию. На купиле это работало. Тут же я долго не мог понять, почему скрипт набирает позицию до упора, пока не выскочит сообщение "превышен лимит по инструменту". Логическим путем пришел к выводу, что после посылки лимитированной заявки (которая уходит по рынку) и ее исполнения, нужно остановить скрипт, чтобы позиция успела обновиться в таблице. В конце цикла на вход ставлю паузу в 5 секунд. Только тогда все заработало как нужно.<br />Это нормально ? Или у меня код кривой на получение позиции и можно как-то ускорить процесс ? <br />
			<i>27.04.2015 23:41:46, Сергей Парахин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message3939/topic463/</link>
			<guid>http://forum.quik.ru/messages/forum10/message3939/topic463/</guid>
			<pubDate>Mon, 27 Apr 2015 23:41:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
