<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Помогите найти цену последнего стоп ордера]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=444</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=444&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Помогите найти цену последнего стоп ордера».]]></description>
		<lastBuildDate>Fri, 01 Dec 2023 08:57:44 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4311#p4311</link>
			<description><![CDATA[<p>Всем привет! Отдельный привет swerg!<br />Оказывается написать логику торгового робота очень не просто! Две недели ломаю голову, как не активную заявку на покупку привязать к активной заявке на продажу, что бы когда активная заявка на продажу станет не активной робот не выставил снова заявку на продажу. <br />Прошу помощи, я не нахожу решения!</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Fri, 01 Dec 2023 08:57:44 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4311#p4311</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4309#p4309</link>
			<description><![CDATA[<div class="quotebox"><cite>Серёга пишет:</cite><blockquote><p>как у Вас получается вставлять код в отдельное окно?</p></blockquote></div><p>Добрый день!</p><p>Для этого надо выделить текст программы в сообщении и нажать кнопку вставки соответствующего BBCode.<br />Ну либо руками вписать этот BBCode в текст.</p><p><span class="postimg"><img src="https://quik2dde.ru/static-img/444/code-1.png" alt="https://quik2dde.ru/static-img/444/code-1.png" /></span></p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Thu, 23 Nov 2023 16:21:54 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4309#p4309</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4308#p4308</link>
			<description><![CDATA[<p>ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!!!!!!!!!<br />нашёл свою ошибку! В моём случае (n_order.flags &amp; 1) == 1</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Wed, 22 Nov 2023 09:11:42 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4308#p4308</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4307#p4307</link>
			<description><![CDATA[<p>Что то я не так пишу! ошибка: attempt to index a nil value (global &#039;order&#039;)<br /></p><div class="codebox"><pre><code>function last_order()
  local last_order = {}
  local n = getNumberOf(&quot;orders&quot;)

  while n &gt; 0 do
    local n_order = getItem(&quot;orders&quot;, n-1)
    if n_order.sec_code == n_seccode 
        and n_order.trans_id == n_id
        and  (order.flags &amp; 1) == 1 --&lt;&lt;&lt;
    then
      last_order = n_order
      break
    end
    n = n - 1
  end

  return last_order
end

function main()
  nash_order = last_order()
  cena_order = nash_order.price

  message(&quot;&quot;..tostring(cena_order))
  sleep(3000)
 
end</code></pre></div><p>как у Вас получается вставлять код в отдельное окно?</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Wed, 22 Nov 2023 08:53:03 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4307#p4307</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4306#p4306</link>
			<description><![CDATA[<p>getItem возвращает таблицу Orders<br />В которой есть поле flags с &quot;битовыми флагами&quot;<br />В этом поле:<br />бит 0 (0x1) &nbsp; &nbsp; - &nbsp; &nbsp; Заявка активна, иначе – не активна</p><p>т.е.</p><div class="codebox"><pre><code>local order = getItem(&quot;orders&quot;, n-1)
...
if (order.flags &amp; 1) == 1 then
   ... заявка активна
else
   ... заявка не активна
end</code></pre></div><p>PS<br />Код только для Lua 5.3 и 5.4 ! т.к. используется встроенная битовая операция</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Wed, 22 Nov 2023 07:38:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4306#p4306</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4305#p4305</link>
			<description><![CDATA[<p>В таблице заявок каждой заявке присвоин десяти значный порядковый номер. Функция getNumberOf считает общее колличество заявок: активные, не активные. А вот с помощью функции getItem ищем заявку с нужным клиент кодом и названию бумаги ( для точности можно добавить trans_id). Отсчет заявок начинается с &quot; 0 &quot;. Вот эта &quot;нулевая&quot; первая заявка в таблице заявок с самым большим порядковым номером является ПОСЛЕДНЕЙ заявкой. Мне надо найти ПОСЛЕДЮЮ АКТИВНУЮ заявку!<br />Или получить &quot;nil&quot; если такой нет. Теперь пытаюсь понять как с помощью функции SearchItems и fn можно найти последнюю активную заявку, конечно отсортировав по клиент коду и названию бумаги.<br />Странно то, что в таблице заявок есть столбец &quot; Состояние &quot;, где отображается активная / не активная, а функция getItem не использует его! По крайней мере в руководстве пользователя я не сумел разобрать.</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Wed, 22 Nov 2023 07:28:49 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4305#p4305</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4304#p4304</link>
			<description><![CDATA[<p>Всё же, какая у вас задача?<br />Среди всех заявок найти самую последнюю по времени активную? или задача какая-то другая?<br />Или может вам надо найти последнюю активную по определенному инструменту?</p><p>Сформулируйте, пожалуйста.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Wed, 22 Nov 2023 05:35:43 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4304#p4304</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4303#p4303</link>
			<description><![CDATA[<p>Не могу разобраться как правильно писать функцию SearchItems и&nbsp; fn к ней прилагающейся.<br />В итоге надо найти последнюю активную заявку.</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Tue, 21 Nov 2023 21:21:35 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4303#p4303</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4302#p4302</link>
			<description><![CDATA[<p>Спасибо огромное за отклик! <br />Я только начал грызть гранит lua. <br />Теперь другая проблема, эта функция не различает активную заявку от не активной.<br />Надо разбираться как писать функцию SearchItems. <br />Есть вопро! Робот выставляет заявку, но в комментарии нет комментария который я задавал, отображается только счёт клиента? Я планировал различать заявки активные от не активных по комментарию. Это я где-то здесь вычитал.</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Tue, 21 Nov 2023 16:05:17 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4302#p4302</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4301#p4301</link>
			<description><![CDATA[<p>Вы залогируйте значения order.sec_code и order.trans_id внутри цикла.<br />Может вы ищите и сравниваете совсем не то, что есть в таблице.<br />Логирование хотя бы даст информацию для анализа, а так сейчас не понятно как искать проблему.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Tue, 21 Nov 2023 02:27:27 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4301#p4301</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4300#p4300</link>
			<description><![CDATA[<p>помогите найти цену нужного ордера<br />данная функция не находит нужный ордер и находится в постоянном поиске</p>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Mon, 20 Nov 2023 12:40:38 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4300#p4300</guid>
		</item>
		<item>
			<title><![CDATA[Re: Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4299#p4299</link>
			<description><![CDATA[<p>помогите найти цену нужного ордера<br />данная функция не находит нужный ордер и находится в постоянном поиске</p><div class="codebox"><pre><code>function last_order()
  local last_order = {}
  local n = getNumberOf(&quot;orders&quot;)

  while n &gt; 0 do
    local order = getItem(&quot;orders&quot;, n-1)
    if order.sec_code == n_seccode
         and order.trans_id == n_id
    then
      last_order = order
      break
      n = n - 1
    end

  end

  return last_order
end</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Mon, 20 Nov 2023 12:37:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4299#p4299</guid>
		</item>
		<item>
			<title><![CDATA[Помогите найти цену последнего стоп ордера]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=4297#p4297</link>
			<description><![CDATA[<p>помогите найти цену нужного ордера<br />данная функция не находит нужный ордер и находится в постоянном поиске</p><div class="codebox"><pre><code>function last_order()
  local last_order = {}
  local n = getNumberOf(&quot;orders&quot;)

  while n &gt; 0 do
    local order = getItem(&quot;orders&quot;, n-1)
    if order.sec_code == n_seccode
         and order.trans_id == n_id 
    then
       last_order = order
       break
       n = n - 1
    end

  end

  return last_order
end</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Серёга)]]></author>
			<pubDate>Fri, 17 Nov 2023 09:14:50 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=4297#p4297</guid>
		</item>
	</channel>
</rss>
