<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Снятие заявки. И снятие всех заявок.]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=124&amp;type=atom" />
	<updated>2015-03-06T12:12:59Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=124</id>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1098#p1098" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ascerdfg пишет:</cite><blockquote><p>А почему тогда если не указывать [&quot;TRANS_ID&quot;], то &quot;KILL_ALL_FUTURES_ORDERS&quot; заявки не снимает?</p></blockquote></div><p>Потому что TRANS_ID - необходимый признак <strong>подаваемой транзакции</strong> (в данном случае транзакции на снятие заявок). И он никак не связан со снимаемыми заявками, например</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2015-03-06T12:12:59Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1098#p1098</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1096#p1096" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Поэтому и снимаются они все.</p></blockquote></div><p>А почему тогда если не указывать [&quot;TRANS_ID&quot;], то &quot;KILL_ALL_FUTURES_ORDERS&quot; заявки не снимает?</p>]]></content>
			<author>
				<name><![CDATA[ascerdfg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=246</uri>
			</author>
			<updated>2015-03-06T11:46:41Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1096#p1096</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1092#p1092" />
			<content type="html"><![CDATA[<p>Кстати [&quot;ACTION&quot;]=&quot;KILL_ALL_FUTURES_ORDERS&quot; может сносить не всё, может только лишь Buy или только лишь Sell.</p>]]></content>
			<author>
				<name><![CDATA[ascerdfg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=246</uri>
			</author>
			<updated>2015-03-05T18:26:39Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1092#p1092</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1091#p1091" />
			<content type="html"><![CDATA[<p>Вы несколько путаете кто за что отвечает.<br />&quot;KILL_ALL_FUTURES_ORDERS&quot; - это транзакция, отправляемая на биржу. Исполняет ее биржа.<br />И биржа по этой транзакции снимает все активные заявки, поданные от указанного торгового счета.</p><p>А биржа - она не знает откуда взялись заявки: робот их поставил или через терминал или вообще менеджер брокера выставил заявку по вашему поручению от вашего лица.<br />С точки зрения биржи все заявки от торгового счета - абсолютно одинаковые.</p><p>Поэтому и снимаются они все.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2015-03-05T18:11:31Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1091#p1091</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1090#p1090" />
			<content type="html"><![CDATA[<p>Кстати [&quot;ACTION&quot;]=&quot;KILL_ALL_FUTURES_ORDERS&quot;, сносит и ручные заявки тоже, не смотря на то что ставил [&quot;TRANS_ID&quot;] и &quot;22&quot; и &quot;1&quot; и &quot;2&quot;.<br />Получается что ручками поторговать, параллельно с роботом, не получится? OnOrder же хватает всё что под руку ему попадёт?</p>]]></content>
			<author>
				<name><![CDATA[ascerdfg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=246</uri>
			</author>
			<updated>2015-03-05T18:05:18Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1090#p1090</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1070#p1070" />
			<content type="html"><![CDATA[<p>[&quot;ACTION&quot;]=&quot;KILL_ALL_FUTURES_ORDERS&quot;,</p>]]></content>
			<author>
				<name><![CDATA[ascerdfg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=246</uri>
			</author>
			<updated>2015-03-05T06:44:09Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1070#p1070</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=1059#p1059" />
			<content type="html"><![CDATA[<p>Спасибо большое.</p>]]></content>
			<author>
				<name><![CDATA[slkumax]]></name>
				<uri>https://quik2dde.ru/profile.php?id=135</uri>
			</author>
			<updated>2015-03-02T12:42:29Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=1059#p1059</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=982#p982" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>slkumax пишет:</cite><blockquote><p>Сейчас мой привод умеет только выставлять заявки. С какой стороны подойти к вопросу снятия, я пока не понимаю. Если есть возможность, покажите пример кода например, как научить привод снимать нужную мне заявку или все заявки.</p></blockquote></div><div class="codebox"><pre><code>local is_run = true
function OnStop() is_run = false end
local table_remove = table.remove
local ccode = &quot;TQBR&quot;
local s_list = {&quot;SBER&quot;,&quot;GAZP&quot;,&quot;MTLR&quot;}
local account = --вставка
local clientcode = --вставка
local row = getNumberOf(&quot;orders&quot;)--№ строки Таблицы заявок
local trans_id = 1
local newOrder = {}--вид: {[order_num1] = row1,[order_num2] = row2,...[order_numN] = rowN}
local MSG = {[&quot;B&quot;] = &quot;выставлена заявка Купля:\n№ &quot;,[&quot;S&quot;] = &quot;выставлена заявка Продажа:\n№ &quot;}
--функции--
local bBand = bit.band
local orderstatus = function (flags)--статус заявки
    if bBand(flags,1)~=0 then return &quot;A&quot; 
    else
        if bBand(flags,2)~=0 then return &quot;K&quot;
        else return &quot;F&quot; end
    end
end
local orderBS = function (flags)--направление
    if bBand(flags, 4)~=0 then return &quot;S&quot; else return &quot;B&quot; end
end
local sendLimit = function (op, scode, ccode, pri, lot, tr_id)
    local send = {
    [&quot;ACTION&quot;] = &quot;NEW_ORDER&quot;,
    [&quot;TRANS_ID&quot;] = tostring(tr_id),
    [&quot;ACCOUNT&quot;] = account,
    [&quot;CLIENT_CODE&quot;] = clientcode,
    [&quot;TYPE&quot;] = &quot;L&quot;,
    [&quot;OPERATION&quot;] = op,
    [&quot;CLASSCODE&quot;] = ccode,
    [&quot;SECCODE&quot;] = scode,
    [&quot;PRICE&quot;] = tostring(pri),
    [&quot;QUANTITY&quot;] = tostring(lot)
    }
    local res = sendTransaction(send)
    if res ~= &quot;&quot; then message(&quot;sendLimit : &quot; .. res, 2) return nil else return tr_id end
end
local sendKill = function (onum, scode, ccode)
    local kill = {
    [&quot;ACTION&quot;] = &quot;KILL_ORDER&quot;,
    [&quot;CLASSCODE&quot;] = ccode,
    [&quot;SECCODE&quot;] = scode,
    [&quot;ORDER_KEY&quot;] = tostring(onum),
    [&quot;TRANS_ID&quot;] = &quot;666&quot;
    }
    local res = sendTransaction(kill)
    if res ~= &quot;&quot; then message(&quot;Kill : &quot; .. res, 2) return nil else return &quot;6666&quot; end
end
local killAll = function (tab, ccode)
    for order_num, row in pairs(tab) do
        local item = getItem(&quot;orders&quot;, row)
        local flag = item.flags
        if item.order_num == order_num and orderstatus(flag) == &quot;A&quot; then 
            _ = sendKill(order_num, item.sec_code, ccode)
        end
    end
end
local LENnewOrder = 0--кол-во элементов в newOrder
function OnOrder(order)
    local order_num = 0 + order.order_num
    if not newOrder[order_num] then--если нет данных о заявке
        newOrder[order_num] = row
        LENnewOrder = LENnewOrder + 1
        row = row + 1
        local op = orderBS(order.flags)
        message(MSG[op]..order_num, 2)
    end
end
for i=1,#s_list do
    local sec = s_list[i]
    local pricemin = 0 + getParamEx(ccode,sec,&quot;PRICEMIN&quot;).param_value
    _ = sendLimit(&quot;B&quot;, sec, ccode, pricemin, 1, trans_id)
    trans_id = trans_id + 1
end
function main()
    while is_run do
        if LENnewOrder == 3 and getNumberOf(&quot;orders&quot;) == row then
            killAll(newOrder, ccode)
            newOrder = {}
            LENnewOrder = 0
            is_run = false
        end
        sleep(1)
    end
end</code></pre></div><p>Приятного заработка</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2015-02-06T08:51:05Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=982#p982</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=816#p816" />
			<content type="html"><![CDATA[<p>Сейчас мой привод умеет только выставлять заявки. С какой стороны подойти к вопросу снятия, я пока не понимаю. Если есть возможность, покажите пример кода например, как научить привод снимать нужную мне заявку или все заявки.</p>]]></content>
			<author>
				<name><![CDATA[slkumax]]></name>
				<uri>https://quik2dde.ru/profile.php?id=135</uri>
			</author>
			<updated>2015-01-28T10:48:43Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=816#p816</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=812#p812" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>slkumax пишет:</cite><blockquote><p>Подскажите пожалуйста, как сделать адекватное снятие заявки теперь по номеру из скрипта на LUA написанном.</p></blockquote></div><p>По номеру чего? номеру заявки?<br />Так заявка и снимается по ее номеру.</p><div class="quotebox"><cite>slkumax пишет:</cite><blockquote><p>Как я понимаю, нужно брать таблицу заявок, искать среди них нужную не исполненную и её снимать.</p></blockquote></div><p>Если вы знаете номер - то искать не нужно, нужно сразу снимать по номеру.<br />Если номер не знаете - тогда да, искать нужную, только не понятны критерии нужности, но тут разработчику стратегии виднее.</p><div class="quotebox"><cite>slkumax пишет:</cite><blockquote><p>А снятие всех заявок- искать все неисполненные видимо.<br />Кстати какой ответ будет давать квик, если заявка не исполнена?</p></blockquote></div><p>Ответ где? не понятно.<br />С каждой заявкой сопоставлена таблица Lua.<br />В ней есть поле <strong>flags</strong>, в котором есть битовые флажки, по ним можно определить активна заявка, снята или исполнена. См. справку.</p><p>Или вам нужен пример кода и в этом собственно вопрос?</p><p>Было бы здорово, если бы вы как-то поконкретнее формулировали ваши вопросы, иначе не очень понятно что отвечать.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2015-01-28T09:30:32Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=812#p812</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Снятие заявки. И снятие всех заявок.]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=811#p811" />
			<content type="html"><![CDATA[<p>Подскажите пожалуйста, как сделать адекватное снятие заявки теперь по номеру из скрипта на LUA написанном.<br />Как я понимаю, нужно брать таблицу заявок, искать среди них нужную не исполненную и её снимать.<br />А снятие всех заявок- искать все неисполненные видимо.<br />Кстати какой ответ будет давать квик, если заявка не исполнена?</p>]]></content>
			<author>
				<name><![CDATA[slkumax]]></name>
				<uri>https://quik2dde.ru/profile.php?id=135</uri>
			</author>
			<updated>2015-01-28T07:16:07Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=811#p811</id>
		</entry>
</feed>
