<?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=210&amp;type=atom" />
	<updated>2017-05-11T06:42:50Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=210</id>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2159#p2159" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Balug пишет:</cite><blockquote><p>По 1 пункту я мало что знаю, но боюсь, что это будет существенно медленнее, чем при написании на Delphi или C#, поэтому и думаю, что проще будет передать&nbsp; информацию полученную из Квика в стороннюю программу (тем более, что у меня она уже написана).</p></blockquote></div><p>Это все мнимые понарошки, придуманные не известно кем, возможно даже мелкософтом. Lua код уже выполнится, а сторонняя программа только будет парсить то, что вы передадите в нее из квик, не важно, через DDE или &quot;хитропопый&quot; коннектор.<br />У меня на С# коннектор к Астс и робот в ко-локации (15-30 мс расчет 0 мс регистрация заявки на бирже), логическая копия робота на Lua в квике из дома (оптика до квартиры и 20 км от ЦОД: 1 мс расчет, 0-160 мс регистрация заявки).</p><p>Так вот, из дома робот периодически раньше заявки регистрирует на бирже. А сам алгоритм написанный на Луа считает быстрее аналогичного на С# минимум в 15 раз.</p><p>Мое мнение: C# - днище, не даром ни одной игрухи не написано на С#. А на Луа ко многим играм пишут сценарии.</p><p>Но это сугубо мое мнение.</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2017-05-11T06:42:50Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2159#p2159</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2086#p2086" />
			<content type="html"><![CDATA[<p>Примеров в интернете масса. &quot;С++ Lua&quot; в гугле - и примеров вагон )<br />Да и рядом в том же разделе можно найти еще примеры готовых библиотечек под разные задачи:<br />[url]https://quik2dde.ru/viewtopic.php?id=61[/url]<br />[url]https://quik2dde.ru/viewtopic.php?id=78[/url]</p><p>Но я бы другое спросил: чего не хватает в приведённых примерах? может просто задать там предметный вопрос - возможно, на него сыщется ответ.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2017-02-07T10:19:58Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2086#p2086</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2085#p2085" />
			<content type="html"><![CDATA[<p>Спасибо, это я видел. Но к моему изумлению это ЕДИНСТВЕННЫЙ пример в интернете, который мне удалось найти. Может быть есть еще что-нибудь? Сами знаете, примеров много не бывает:)</p>]]></content>
			<author>
				<name><![CDATA[Balug]]></name>
				<uri>https://quik2dde.ru/profile.php?id=159</uri>
			</author>
			<updated>2017-02-07T08:48:22Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2085#p2085</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2084#p2084" />
			<content type="html"><![CDATA[<p>Соседний раздел, прикреплённые темы<br />[url]https://quik2dde.ru/viewforum.php?id=14[/url]</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2017-02-07T08:39:29Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2084#p2084</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2083#p2083" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Чтобы можно было что-то ответить на ваш вопрос - надо знать объём вычислений. Но вы про это сколь-нибудь подробно не говорите.<br />Если ваши вычисления это сравнить/перемножить 50 чисел - можно смело писать на Lua.</p></blockquote></div><p>Это действительно сравнить/перемножить 50 чисел, но для каждой пары инструментов, а пар таких 15-20</p><div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>DDE сама по себе очень быстрая технология на самом деле.<br />Другое дело, что писать на Lua + своя DLL на С++ или Delphi (только для тяжелых объёмных вычислений) - по-моему сейчас самый выгодный вариант в плане скорости и гибкости.</p></blockquote></div><p>Я тоже прихожу к такому мнению. Тем более, что программа на Delphi уже есть. Значит, как я понял, надо написать свою DLL на Delphi. Не подскажите примеры таких DLL, никогда не поверю, что их никто не писал:).</p>]]></content>
			<author>
				<name><![CDATA[Balug]]></name>
				<uri>https://quik2dde.ru/profile.php?id=159</uri>
			</author>
			<updated>2017-02-07T08:34:04Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2083#p2083</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2082#p2082" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Balug пишет:</cite><blockquote><p>Спасибо за ответ, но во-первых у меня ping до брокера 25-27 млсек, от брокера до биржи (по утверждению брокера) меньше 10млсек, итого меньше 0.04 сек</p></blockquote></div><p>Всё, конечно, надо проверять, но пинг не показателен.<br />Он показателен при сравнении - тут больше, там - меньше.<br />Но сама цифра пинга обычно заметно меньше (в 2..3 раза запросто) времени выставления заявки при этом.</p><p>Чтобы можно было что-то ответить на ваш вопрос - надо знать объём вычислений. Но вы про это сколь-нибудь подробно не говорите.<br />Если ваши вычисления это сравнить/перемножить 50 чисел - можно смело писать на Lua.<br />Если ваши вычисления это перемножить 10 тыс. чисел - Lua тут не помощник.</p><p>DDE сама по себе очень быстрая технология на самом деле.<br />Другое дело, что писать на Lua + своя DLL на С++ или Delphi (только для тяжелых объёмных вычислений) - по-моему сейчас самый выгодный вариант в плане скорости и гибкости.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2017-02-06T18:30:32Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2082#p2082</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2080#p2080" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Здесь вы упретесь не в Lua, а в общую скорость реакции терминала QUIK - сервер - биржа.<br />Видимые на разных форумах времена в сообщениях разнились от 0,05 до 0,25 сек.<br />Причем типичное значение - это примерно 0,2 сек (речь про время отправка транзакции -&gt; получение на неё ответа).<br />Скорость самой реакции на изменение стакана (т.е. время изменился стакан -&gt; отправили транзакцию) будет меньше, конечно.</p></blockquote></div><p>Спасибо за ответ, но во-первых у меня ping до брокера 25-27 млсек, от брокера до биржи (по утверждению брокера) меньше 10млсек, итого меньше 0.04 сек<br /></p><div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>В самом деле, пусть собственно время на отправку транзакции (имеется ввиду за пределами нашей пограммы, т.е. отправили транзакцию и она едет на биржу из терминала) у нас условно будет 0,05 сек. Вполне типичное время, даже скорее нижняя граница.<br />Тогда отправка заявок по 20-ти парам инструментов у нас условно займет 0,05 * 20 * 2 = 2 сек.</p></blockquote></div><p>Во-вторых заявки по 20 парам естественно не будут отправляться одновременно (одновременно будет отслеживаться только изменение цены в стакане), я думаю разница в отправке заявок всегда будет более 1 сек, разве что случайно совпадет отправление одновременно 2-х заявок. <br />Поэтому вопрос будет упираться 1) во время математической обработки полученной информации роботом написанным на Lua + 2) время передачи по DDE + 3) отправка сигнала через API. По 1 пункту я мало что знаю, но боюсь, что это будет существенно медленнее, чем при написании на Delphi или C#, поэтому и думаю, что проще будет передать&nbsp; информацию полученную из Квика в стороннюю программу (тем более, что у меня она уже написана). По 2 пункту - насколько я знаю, передача по DDE достаточно медленная и устаревшая, и должны существовать какие-то более быстрые механизмы - если кто-то знает, подскажите, пожалуйста.<br /></p><div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>А написать простого робота на один инструмент, чтобы попробовать и поизменять время - по-моему вполне разумные затраты времени и не такие уж большие. Чтобы уже можно было точно сказать: да, подходит, или нет, точно не подходит.</p></blockquote></div><p>Ну по мне так, что написать робота на 1 инструмент, что на 20 разница невелика, вопрос в другом. Я ни разу не программист, поэтому изучение нового языка это проблема и очень не хочется оказаться в положении человека затратившего время на изучение языка, затем написание программы, чтобы в конце концов убедиться, что она не подходит для решения данной задачи:). Потому и прошу тех, кто писал на Lua, подсказать насколько данный язык подходит для решения указанной проблемы.</p>]]></content>
			<author>
				<name><![CDATA[Balug]]></name>
				<uri>https://quik2dde.ru/profile.php?id=159</uri>
			</author>
			<updated>2017-02-03T15:03:04Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2080#p2080</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2079#p2079" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Balug пишет:</cite><blockquote><p>1. Скорость работы – максимально быстрая скорость постановки, снятия и перестановки заявки при изменении цены в стакане – желательно не более 0.1сек.</p></blockquote></div><p>Здесь вы упретесь не в Lua, а в общую скорость реакции терминала QUIK - сервер - биржа.<br />Видимые на разных форумах времена в сообщениях разнились от 0,05 до 0,25 сек.<br />Причем типичное значение - это примерно 0,2 сек (речь про время отправка транзакции -&gt; получение на неё ответа).<br />Скорость самой реакции на изменение стакана (т.е. время изменился стакан -&gt; отправили транзакцию) будет меньше, конечно.</p><div class="quotebox"><cite>Balug пишет:</cite><blockquote><p>2. Отсутствие торможения – отсутствие замедления и сбоев в работе при выставлении заявок по 15-20 парам инструментов</p></blockquote></div><p>Про сбои - это уж как код напишете )<br />Про замедление - тут опять же смотря как вы его планируете оценивать.<br />В самом деле, пусть собственно время на отправку транзакции (имеется ввиду за пределами нашей пограммы, т.е. отправили транзакцию и она едет на биржу из терминала) у нас условно будет 0,05 сек. Вполне типичное время, даже скорее нижняя граница.<br />Тогда отправка заявок по 20-ти парам инструментов у нас условно займет 0,05 * 20 * 2 = 2 сек.</p><p>2 секунды - это весьма много вообще говоря. Даже для Lua.<br />Выходит собственно задержки в Lua-коде у нас много меньше задержек не зависящих от нас.</p><p>Из этих общих рассуждений, я думаю, можно сказать, что Lua можно использовать в данной задаче.</p><p>достигните ли вы в итоге желаемые параметры - вопрос, но вряд ли тут Lua будет виновата, расчеты см. выше.</p><p>А написать простого робота на один инструмент, чтобы попробовать и поизменять время - по-моему вполне разумные затраты времени и не такие уж большие. Чтобы уже можно было точно сказать: да, подходит, или нет, точно не подходит. Да и ничего страшного там совершенно нет.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2017-02-03T13:56:16Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2079#p2079</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Требования к роботу]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2078#p2078" />
			<content type="html"><![CDATA[<p>Требуется робот-арбитражер для парного трейдинга с акциями и фьючерсами.<br />Главные требования:<br />1. Скорость работы – максимально быстрая скорость постановки, снятия и перестановки заявки при изменении цены в стакане – желательно не более 0.1сек.<br />2. Отсутствие торможения – отсутствие замедления и сбоев в работе при выставлении заявок по 15-20 парам инструментов, при отслеживании до 40-60 пар (отслеживание возможно не в режиме реального времени, а периодически – 1раз в 1-5 минут).<br />Не нужно: никаких графиков, индикаторов, проверки на истории, возможностей постановки заявок вручную.<br />Собственно такой робот у меня есть (написан мной на Delphi), но он работает через передачу по ODBC в базу данных и затем чтения из нее, что замедляет постановку заявки более чем на 1.5 сек. <br />Вопрос: возможно ли написание такого робота на Lua с передачей данных по DDE и постановкой заявок через API или требования слишком завышены?<br />Нового робота сам писать не хочу (только если никто не согласится написать за разумные деньги), но перед тем как искать исполнителя хочу выяснить: на чем лучше писать, какие механизмы использовать для передачи данных из Квика в робота и обратно?</p>]]></content>
			<author>
				<name><![CDATA[Balug]]></name>
				<uri>https://quik2dde.ru/profile.php?id=159</uri>
			</author>
			<updated>2017-02-02T09:08:22Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2078#p2078</id>
		</entry>
</feed>
