<?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>Thu, 23 Apr 2026 10:13:21 +0300</pubDate>
		<item>
			<title>Цена сделки вне лимита</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20993/topic2365/">Цена сделки вне лимита</a></b> <i>Как избавиться от данной ошибки?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В Квике все получаемые параметры из терминала надо проверять не только на nil, но и на ноль:<br /><br />
====code====
<pre>local last_price = getParamEx(classcode, seccode, "LAST").param_value
if last_price == nil then
&nbsp;&nbsp;-- Ошибка получения цены последней сделки
elseif last_price == 0 then
&nbsp;&nbsp;-- отправляем гневное сообщение в адрес разработчиков
else
&nbsp;&nbsp;-- работаем дальше
end</pre>
=============
<br />Уверен, что такая же беда при вычислении<br />
====code====
<pre>exit_price = price + stop_level_2000 + sl</pre>
============= <br />
			<i>12.12.2016 23:19:31, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20993/topic2365/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20993/topic2365/</guid>
			<pubDate>Mon, 12 Dec 2016 23:19:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Цена сделки вне лимита</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20986/topic2365/">Цена сделки вне лимита</a></b> <i>Как избавиться от данной ошибки?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Забыл указать, что параметр &quot;price&quot; в третьей строке и далее, это цена текущей сделки из таблицы сделок. <br />
			<i>12.12.2016 21:26:00, RC2.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20986/topic2365/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20986/topic2365/</guid>
			<pubDate>Mon, 12 Dec 2016 21:26:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Цена сделки вне лимита</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20985/topic2365/">Цена сделки вне лимита</a></b> <i>Как избавиться от данной ошибки?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Доброго времени суток, возникла проблема с ошибкой &quot;Цена сделки вне лимита&quot;. Ситуация следующая:<br /><br />Написал скрипт на луа, скрипт работает таким образом образом - появляется сигнал на вход, скрипт открывает короткую или длинную позицию, далее работает блок трейлинг-стопа. Трейлинг работает внутри скрипта, без перевыставления заявки в квике. Как только цена достигнет уровня стоп-лосса посылается заявка на закрытие позиции, в таблице сообщений появляется запись о том, на сколько пунктов был убыток. После выхода из позиции по трейлинг-стопу сразу же открывается противоположная позиция, т.е. если закрылась длинная, то открывается короткая и наоборот. По сути происходит переворот позиции. <br /><br />В ходе теста на реальном счете выяснилось что, блок входа в позицию работает отлично, трейлинг-стоп работает отлично, переворот работает отлично. Получается что работает все как и задумано, кроме одного. Во время вечернего клиринга (торгую на фортс), если открыта (ИМЕННО!!!) короткая позиция скрипт пытается выйти по трейлинг-стопу, и появляется ошибка &quot;Цена сделки вне лимита&quot;. На сколько я понимаю, квик выдает какой-то параметр равным 0 или равным не пойми чему, т.к. в сообщении об убытке совершенно непомерные числа (скрин ниже). Код прилагаю, хотелось бы понять, какие значения обнуляются (или изменяются) в квике в момент вечернего клиринга. Бьюсь с проблемой уже долго, добавлял разные фильтры на предмет проверки параметров что они не 0. Вычислить не смог. <br /><br />Часть кода выхода из позиции:<br />
====code====
<pre>local last_price = getParamEx(classcode, seccode, "LAST").param_value&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;&nbsp;&nbsp;&nbsp;&nbsp;
exit_price = price + stop_level_2000 + sl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Цена выхода по стоп-лоссу (через трейлинг-стоп)

if tonumber(last_price) &#62;= tonumber(exit_price) and tonumber(last_price) ~= nil and tonumber(last_price) &#62; z then&nbsp;&nbsp;&nbsp;-- ПРОБИТ УРОВЕНЬ СТОП-ЛОССА, последние 2 условия возможно не нужны, пытался отловить эту ошибку
&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;exit_price = exit_price + p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Скорректированная (рыночная) цена, p = 200
&nbsp;&nbsp;&nbsp;&nbsp;Sl_and_tp_for_sell(exit_price, 9999)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Выход из короткой позиции по стоп-лоссу, 9999 - id заявки
&nbsp;&nbsp;&nbsp;&nbsp;message("Осуществлен выход по стоп-лоссу из короткой позиции. Убыток составил "..math.abs(price-(exit_price+p)).." пунктов.")
&nbsp;&nbsp;&nbsp;&nbsp;stop_loss_sell = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Флаг выхода по стоп-лоссу из короткой позиции активен
&nbsp;&nbsp;&nbsp;&nbsp;stop_loss_buy = false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Флаг выхода по стоп-лоссу из длинной позиции снят
&nbsp;&nbsp;&nbsp;&nbsp;sell_to_buy = false&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Флаг переворота позиции снят, т.е. далее будет переворот
&nbsp;&nbsp;&nbsp;&nbsp;stop_level_2000 = 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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
end
</pre>
=============
<br /><img src="http://s020.radikal.ru/i703/1612/69/e0c5df3edd2f.jpg" alt="Пользователь добавил изображение" border="0" /><br /><br />P.S. Тест веду на фьючерсе Si-12.16. В сообщении &quot;убыток составил...&quot; примерная цена вечернего клиринга. &nbsp; <br />
			<i>12.12.2016 20:18:43, RC2.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20985/topic2365/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20985/topic2365/</guid>
			<pubDate>Mon, 12 Dec 2016 20:18:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
