<?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>Sat, 13 Jun 2026 12:19:01 +0300</pubDate>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73975/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			В этой теме<br /><noindex><a href="https://forum.quik.ru/forum17/topic8467/" target="_blank" rel="nofollow">https://forum.quik.ru/forum17/topic8467/</a></noindex><br />я подробно рассказал как просто сделать &nbsp;очередь событий в роботе и для чего это нужно.<br />При этом использование функции sleep &nbsp;не приводит к потере событий на рынке.<br />-----------------------------<br />Однако, такое решение имеет недостаток в том, что ядро процессора простаивает, когда в очереди есть события.<br />-----------------------<br />Может показаться, что простаивание ядра на 10 ms это мелочь.<br />Но у нас ядро работает на частоте 3ГГц и более. За 10ms процессор может выполнить более 100 тысяч команд. <br />Стоит ли их терять?<br />--------------------- &nbsp;<br />Я использую другой способ остановки процессора на время отсутствия событий.<br />Рассказываю о нем лишь в самом упрощенном виде.<br />Кто пожелает его реализовать, рекомендую книгу Дж.Рихтера.<br />--------------------<br />Этот механизм можно реализовать на СИ.<br />Для этого создается специальный флаг, называемый event - событие.<br />Для обнаружения события используется функция ожидания события.<br />С учетом этого у меня колбеки записаны иначе, чем в указанной выше теме.<br />В них добавлена функция управления событием.<br />А в функцию main добавлена функция ожидания, которая дополнительно реализует функцию &quot;сторожевого пса&quot;<br />Вот фрагменты этих участков скрипта:
====code====
<pre>function OnParam(c,s)&nbsp;&nbsp;&nbsp;_N=_N+1; tpr&#91;_N&#93;={14,c,s};&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;nkevent.Set(event);end
</pre>
=============

====code====
<pre>----
&nbsp;&nbsp;&nbsp;local w=nkevent.wait(); --ждем события
&nbsp;&nbsp;&nbsp;if w~=0 then&nbsp;&nbsp;Log:write(w..",прошло 30 секунд&#92;n"); Log:flush(); end
&nbsp;&nbsp;&nbsp;while _N&#62;0 do
----
</pre>
============= <br />
			<i>22.01.2024 17:36:20, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73975/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73975/topic8426/</guid>
			<pubDate>Mon, 22 Jan 2024 17:36:20 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73475/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Про робота <br />Результаты теста аналогичного предыдущему, но обработка выполняется скриптом в LuaJit и в дополнительном потоке пула таймера.
====code====
<pre>7.7, 27.2, ,14,SPH4, 230, 0
7.7, 17.0, ,14,CHH4, 230, 0
Таймер 152500.011,Nc=3
26.7, 55.8, ,14,FLOT, 230, 1
26.7, 22.4, ,14,MTLR, 230, 2
26.7, 17.7, ,14,QIWI, 230, 2
26.7, 13.5, ,14,TATN, 230, 1
26.7, 15.5, ,14,VKCO, 230, 1
26.7, 97.7, ,14,VTBR, 230, 2
26.7, 15.9, ,14,ZVEZ, 230, 1
26.7, 83.0, ,14,IRAO, 230, 1
26.7, 15.4, ,14,CRH4, 230, 0
23.5, 84.9, ,14,SiH4, 230, 0
31.7, 116.2, ,14,CRH4, 230, 0
28.6, 50.5, ,14,RNH4, 230, 1
28.6, 17.9, ,14,CHH4, 230, 1
28.6, 29.2, ,14,SPH4, 230, 0
28.0, 46.3, ,14,SiH4, 230, 1
28.0, 15.9, ,14,SiH4, 230, 1
28.0, 11.8, ,14,SiH4, 230, 0
28.1, 48.5, ,14,SiH4, 230, 1
28.1, 16.7, ,14,CRH4, 230, 0
28.6, 53.4, ,14,RNH4, 230, 1
28.6, 15.7, ,14,CRH4, 230, 0
24.4, 83.5, ,14,CRH4, 230, 0
28.2, 49.2, ,14,CRH4, 230, 0
28.0, 46.8, ,14,CRH4, 230, 1
28.0, 15.7, ,14,SiH4, 230, 0
15.2, 33.0, ,14,SiH4, 230, 1
15.2, 15.4, ,14,SRH4, 230, 0
27.5, 132.5, ,14,USD000UTSTOM, 230, 2
27.5, 83.6, ,14,EUR_RUB__TOD, 230, 4
27.5, 75.9, ,14,GLDRUB_TOM, 230, 4
27.5, 19.5, ,14,SPH4, 230, 3
27.5, 13.9, ,14,USD000000TOD, 230, 2
27.5, 12.8, ,14,SiH4, 230, 1
27.5, 12.1, ,14,EUR_RUB__TOM, 230, 0
29.3, 49.1, ,14,SiH4, 230, 0
29.3, 80.3, ,14,SFH4, 230, 0
10.8, 56.0, ,14,SFH4, 230, 1
10.8, 22.5, ,14,RNH4, 230, 1
10.8, 14.2, ,14,SPH4, 230, 0
7.5, 23.3, ,14,CHH4, 230, 0
13.2, 62.9, ,14,RNH4, 230, 1
13.2, 20.6, ,14,SPH4, 230, 1
13.2, 14.8, ,14,RNH4, 230, 0
28.8, 48.5, ,14,CHH4, 230, 0
24.1, 43.8, ,14,SPH4, 230, 1
24.1, 25.0, ,14,SPH4, 230, 0
28.7, 103.8, ,14,CRH4, 230, 0
8.8, 59.9, ,14,RNH4, 230, 0
6.3, 25.4, ,14,SPH4, 230, 0
6.3, 17.1, ,14,CHH4, 230, 0
10.1, 49.8, ,14,CHH4, 230, 0
28.9, 49.2, ,14,EuH4, 230, 0
25.0, 36.2, ,14,RNH4, 230, 1
25.0, 16.0, ,14,SPH4, 230, 0
24.0, 30.3, ,14,CNYRUB_TOM, 230, 0
10.0, 102.6, ,14,USD000UTSTOM, 230, 0
28.0, 47.0, ,14,EUR_RUB__TOM, 230, 1
28.0, 20.7, ,14,BYNRUB_TOM, 230, 1
28.0, 13.4, ,14,EUR_RUB__TOD, 230, 0
28.4, 50.7, ,14,SiH4, 230, 0
12.6, 47.1, ,14,NKH4, 230, 0
12.6, 22.0, ,14,MMH4, 230, 0
12.4, 57.5, ,14,SiH4, 230, 0
28.7, 56.0, ,14,GKH4, 230, 0
10.9, 65.2, ,14,LKH4, 230, 1
10.9, 34.7, ,14,FIVE, 230, 2
10.9, 32.3, ,14,FLOT, 230, 2
10.9, 19.4, ,14,MRKV, 230, 2
10.9, 17.7, ,14,MTLR, 230, 2
10.9, 21.3, ,14,IRAO, 230, 2
10.9, 24.3, ,14,QIWI, 230, 2
10.9, 131.5, ,14,NKHP, 230, 4
10.9, 89.2, ,14,UNAC, 230, 6
10.9, 16.6, ,14,ZVEZ, 230, 5
10.9, 12.8, ,14,VKCO, 230, 4
10.9, 14.0, ,14,TATN, 230, 3
10.9, 20.5, ,14,SNGSP, 230, 2
10.9, 82.5, ,14,SGZH, 230, 1
10.9, 83.7, ,14,BELU, 230, 0
6.7, 25.2, ,14,MMH4, 230, 0
13.3, 123.9, ,14,SiH4, 230, 0
28.1, 47.8, ,14,SiH4, 230, 0
29.7, 52.3, ,14,SiH4, 230, 0
28.8, 49.3, ,14,EuH4, 230, 1
28.8, 15.5, ,14,SRH4, 230, 0
25.3, 50.5, ,14,USD000UTSTOM, 230, 1
25.3, 18.7, ,14,EUR_RUB__TOD, 230, 1
25.3, 21.1, ,14,SPH4, 230, 1
25.3, 14.4, ,14,USDCNY_TOM, 230, 0
26.6, 39.4, ,14,SPH4, 230, 0
26.6, 71.5, ,14,CRH4, 230, 0
46.2, 53.3, ,14,RNH4, 230, 1
46.2, 18.6, ,14,BRG4, 230, 0
28.5, 54.4, ,14,RIH4, 230, 0
37.4, 51.3, ,14,RNH4, 230, 1
37.4, 15.5, ,14,CHH4, 230, 0
27.9, 52.8, ,14,RNH4, 230, 1
27.9, 15.8, ,14,CHH4, 230, 0
29.1, 58.5, ,14,RIH4, 230, 0
50.1, 151.5, ,14,SiH4, 230, 0
27.0, 50.5, ,14,RNH4, 230, 0
10.1, 50.1, ,14,RNH4, 230, 0
10.2, 49.7, ,14,SiH4, 230, 0
26.7, 46.8, ,14,EuH4, 230, 1
26.7, 14.8, ,14,NKH4, 230, 0
28.9, 53.6, ,14,RNH4, 230, 0
29.0, 59.3, ,14,SGH4, 230, 0
44.0, 50.2, ,14,RNH4, 230, 0
28.6, 54.5, ,14,RIH4, 230, 0
25.5, 58.1, ,14,RIH4, 230, 1
25.5, 21.5, ,14,SiH4, 230, 1
25.5, 15.5, ,14,RNH4, 230, 0
35.5, 51.1, ,14,RNH4, 230, 0
29.5, 121.2, ,14,RIH4, 230, 1
29.5, 15.4, ,14,VBH4, 230, 0
28.8, 52.5, ,14,CRH4, 230, 1
28.8, 17.5, ,14,RNH4, 230, 0
10.9, 53.1, ,14,CHH4, 230, 1
10.9, 20.4, ,14,CRH4, 230, 0
25.0, 50.1, ,14,CRH4, 230, 0
6.5, 37.8, ,14,FESH, 230, 0
6.5, 28.2, ,14,IRAO, 230, 1
6.5, 128.7, ,14,LVHK, 230, 2
6.5, 17.2, ,14,MTLR, 230, 2
6.5, 92.2, ,14,MTSS, 230, 4
6.5, 15.1, ,14,QIWI, 230, 3
6.5, 76.6, ,14,POLY, 230, 4
6.5, 13.6, ,14,TATN, 230, 3
6.5, 89.5, ,14,ROSN, 230, 5
6.5, 103.0, ,14,USBN, 230, 7
6.5, 15.8, ,14,ZVEZ, 230, 6
6.5, 13.6, ,14,VTBR, 230, 5
6.5, 11.7, ,14,VKCO, 230, 4
6.5, 17.1, ,14,UNAC, 230, 3
6.5, 18.8, ,14,UGLD, 230, 2
6.5, 23.6, ,14,NKHP, 230, 1
6.5, 16.7, ,14,CRH4, 230, 1
6.5, 73.0, ,14,MRKV, 230, 0
6.7, 29.0, ,14,RNH4, 230, 0
6.7, 17.4, ,14,CHH4, 230, 0
15.5, 67.2, ,14,CHH4, 230, 0
27.2, 47.9, ,14,CRH4, 230, 1
27.2, 14.5, ,14,CRH4, 230, 0
27.2, 17.3, ,14,RNH4, 230, 0
28.6, 50.1, ,14,RNH4, 230, 0
28.6, 72.3, ,14,SiH4, 230, 0
28.8, 51.0, ,14,GDH4, 230, 0
24.9, 52.7, ,14,RNH4, 230, 1
24.9, 20.8, ,14,RIH4, 230, 0
27.1, 103.7, ,14,RIH4, 230, 0
27.0, 46.7, ,14,RNH4, 230, 0
11.1, 55.8, ,14,RNH4, 230, 0
27.6, 49.6, ,14,TTH4, 230, 0
16.4, 51.2, ,14,TTH4, 230, 0
24.9, 53.7, ,14,RNH4, 230, 0
44.6, 50.5, ,14,LKH4, 230, 1
44.6, 15.3, ,14,EuH4, 230, 0
26.9, 46.8, ,14,FSH4, 230, 0
27.9, 50.9, ,14,RNH4, 230, 0
27.4, 48.3, ,14,RNH4, 230, 0
28.3, 52.4, ,14,RNH4, 230, 0
26.6, 48.0, ,14,USD000UTSTOM, 230, 1
26.6, 17.3, ,14,GLDRUB_TOM, 230, 0
28.0, 50.7, ,14,RNH4, 230, 0
28.2, 52.0, ,14,TTH4, 230, 1
28.2, 15.3, ,14,CHH4, 230, 0
28.2, 51.5, ,14,TTH4, 230, 1
28.2, 17.8, ,14,CHH4, 230, 1
28.2, 14.5, ,14,RNH4, 230, 0
29.3, 49.4, ,14,CHH4, 230, 0
29.6, 49.3, ,14,SiH4, 230, 0
27.1, 50.6, ,14,TTH4, 230, 1
27.1, 28.5, ,14,RIH4, 230, 2
27.1, 15.5, ,14,MMH4, 230, 1
27.1, 14.5, ,14,RIH4, 230, 0
26.5, 150.4, ,14,AFLT, 230, 4
26.5, 27.1, ,14,IRAO, 230, 5
26.5, 108.0, ,14,NKHP, 230, 7
26.5, 23.6, ,14,TATN, 230, 6
26.5, 131.4, ,14,SVAV, 230, 8
26.5, 30.9, ,14,USBN, 230, 7
26.5, 18.5, ,14,VKCO, 230, 7
26.5, 16.8, ,14,VTBR, 230, 7
26.5, 96.3, ,14,ZVEZ, 230, 7
26.5, 20.6, ,14,UNAC, 230, 6
26.5, 92.9, ,14,TCSG, 230, 5
26.5, 66.4, ,14,POLY, 230, 4
26.5, 82.8, ,14,FLOT, 230, 3
26.5, 15.6, ,14,FIXP, 230, 2
26.5, 12.9, ,14,FESH, 230, 1
26.5, 18.3, ,14,AGRO, 230, 0
24.7, 28.2, ,14,SiH4, 230, 0
25.9, 32.7, ,14,CHH4, 230, 0
9.6, 106.1, ,14,SiH4, 230, 0
6.6, 26.4, ,14,RNH4, 230, 0
11.9, 60.3, ,14,CHH4, 230, 0
27.4, 56.8, ,14,RMH4, 230, 0
17.4, 48.9, ,14,NKH4, 230, 0
30.1, 50.5, ,14,CHH4, 230, 1
30.1, 23.3, ,14,RNH4, 230, 1
30.1, 13.8, ,14,CHH4, 230, 0
24.5, 51.6, ,14,NKH4, 230, 1
24.5, 21.5, ,14,CHH4, 230, 0
28.0, 49.7, ,14,SiH4, 230, 1
28.0, 22.2, ,14,LKH4, 230, 0
12.9, 68.0, ,14,GKH4, 230, 1
12.9, 20.3, ,14,NKH4, 230, 0
29.1, 49.5, ,14,CHH4, 230, 0
24.3, 55.0, ,14,RNH4, 230, 0
26.8, 46.5, ,14,NKH4, 230, 1
26.8, 18.2, ,14,NKH4, 230, 1
26.8, 14.5, ,14,CHH4, 230, 0
20.8, 36.3, ,14,RNH4, 230, 0
28.4, 57.7, ,14,GLDRUB_TOM, 230, 1
28.4, 26.7, ,14,CHH4, 230, 0
30.6, 54.1, ,14,SiH4, 230, 0
27.1, 54.7, ,14,RTH4, 230, 0
27.3, 51.4, ,14,SiH4, 230, 1
27.3, 20.2, ,14,NKH4, 230, 1
27.3, 17.3, ,14,CHH4, 230, 1
27.3, 14.9, ,14,RNH4, 230, 0
28.6, 51.7, ,14,RNH4, 230, 1
28.6, 19.2, ,14,CRH4, 230, 0
17.5, 55.9, ,14,RNH4, 230, 0
29.7, 52.3, ,14,CHH4, 230, 0
30.2, 55.6, ,14,RNH4, 230, 0
29.0, 50.9, ,14,CHH4, 230, 0
30.5, 54.8, ,14,RNH4, 230, 0
30.5, 30.0, ,14,RNH4, 230, 0
28.0, 48.2, ,14,SiH4, 230, 1
28.0, 18.3, ,14,CHH4, 230, 0
9.9, 51.2, ,14,RNH4, 230, 1
9.9, 16.6, ,14,CHH4, 230, 0
7.4, 136.7, ,14,GLDRUB_TOM, 230, 2
7.4, 14.5, ,14,EURUSD000TOM, 230, 1
7.4, 78.9, ,14,USD000UTSTOM, 230, 3
7.4, 96.5, ,14,FIXP, 230, 5
7.4, 43.8, ,14,NKHP, 230, 6
7.4, 15.5, ,14,TATN, 230, 6
7.4, 34.1, ,14,USBN, 230, 6
7.4, 11.5, ,14,VKCO, 230, 5
7.4, 12.9, ,14,ROSN, 230, 4
7.4, 16.5, ,14,IRAO, 230, 3
7.4, 15.7, ,14,FLOT, 230, 2
7.4, 17.7, ,14,AGRO, 230, 1
7.4, 189.2, ,14,EUR_RUB__TOM, 230, 0
10.5, 110.7, ,14,RNH4, 230, 0
23.2, 116.3, ,14,CHH4, 230, 0
28.9, 224.2, ,14,CRH4, 230, 2
28.9, 13.6, ,14,NKH4, 230, 1
28.9, 13.9, ,14,RNH4, 230, 0
11.4, 139.3, ,14,RNH4, 230, 0
11.4, 45.6, ,14,CHH4, 230, 0
12.1, 79.9, ,14,GKH4, 230, 0
28.5, 68.5, ,14,SRH4, 230, 0
26.1, 87.0, ,14,RNH4, 230, 2
26.1, 18.4, ,14,CHH4, 230, 1
26.1, 14.3, ,14,RNH4, 230, 0
27.7, 64.0, ,14,RNH4, 230, 0
28.4, 59.3, ,14,RNH4, 230, 1
28.4, 19.4, ,14,RNH4, 230, 0
27.4, 71.5, ,14,CRH4, 230, 1
27.4, 21.7, ,14,EUR_RUB__TOD, 230, 1
27.4, 22.5, ,14,USD000UTSTOM, 230, 0
10.6, 49.2, ,14,RNH4, 230, 0
27.1, 47.3, ,14,CHH4, 230, 1
27.1, 66.2, ,14,CRH4, 230, 0
завершение Таймер 152505.619
27.2, 48.0, ,14,FSH4, 230, 0
24.9, 51.8, ,14,RNH4, 230, 1
24.9, 18.8, ,14,TTH4, 230, 1
24.9, 13.1, ,14,TTH4, 230, 0
25.8, 54.3, ,14,CRH4, 230, 0

</pre>
=============
Время обработки составило<B> 5.6 секунд, вместо 48 секунд ранее.</B><br />Во время вычисления головного блока не происходи останов функции main, которая продолжает обработку колбеков.<br />В итоге, очередь до вычислений и после вычислений содержит <B>не более 1 элемента, вместо 1854</B><B> ранее.</B> <br />
			<i>09.01.2024 14:34:55, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73475/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73475/topic8426/</guid>
			<pubDate>Tue, 09 Jan 2024 14:34:55 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73474/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Про робота <br />------------------------ &nbsp;<br />Один раз в минуту робот вычисляет головной блок для всех зарегистрированных инструментов. <br />В результате этих вычислений получается очередь новых заявок .<br />--------------- <br />Привожу результаты теста , который позволяет оценить эффективность применения дополнительного потока для этих вычислений , а также проведение вычислений в Luajit в дополнительном потоке <br />------------- <br />В первом тесте все вычисления выполняются в функции main для версии Lua5.3<br />Результат:
====code====
<pre>23.2, 56.6, ,14,NKH4, 283, 0
25.5, 122.1, ,14,SiH4, 283, 1
25.5, 25.0, ,14,USD000UTSTOM, 283, 1
25.5, 21.5, ,14,USD000000TOD, 283, 1
25.5, 24.8, ,14,EUR_RUB__TOM, 283, 1
25.5, 15.6, ,14,EUR_RUB__TOD, 283, 0
24.8, 65.3, ,14,NKH4, 283, 1
24.8, 18.0, ,14,SiM4, 283, 0
27.9, 54.8, ,14,SiM4, 283, 0
Таймер 145800.01,Nc=3
завершение Таймер 145846.761,ncs=284
28.4, 46751279.6, ,14,NKH4, 283, 1854
28.4, 15.7, ,14,RTH4, 283, 1853
28.4, 12.6, ,14,CHH4, 283, 1852
28.4, 11.5, ,14,CHH4, 283, 1851
28.4, 13.9, ,14,SiM4, 283, 1850

</pre>
=============
Nc=3 - число торгуемых классов<br />ncs=284- число торгуемых инструментов.<br />Вычисление головного блока началось в 14:58:00 , закончилось в 14:58:48<br />------------------------<br />Обратите внимание на последнее число в стоках до и после вычислений головного блока.<br />это число инструментов, которые находятся в очереди на обработку в main. <br />----------------------------------<br />За 48 секунд вычислений очередь увеличилась с 0 элементов до 1854.<br />Т е за 48 секунд в ТТП изменились данные 1854 раза.<br />---------------------------------- <br />
			<i>09.01.2024 14:15:00, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73474/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73474/topic8426/</guid>
			<pubDate>Tue, 09 Jan 2024 14:15:00 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73372/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			опечатка, параметров 7. <br />
			<i>05.01.2024 14:16:50, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73372/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73372/topic8426/</guid>
			<pubDate>Fri, 05 Jan 2024 14:16:50 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73371/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			По ходу дела возник вопрос об организации хранения данных.<br />Сейчас реализовал mapping files для каждого инструмента 3 тайма и 6 параметров свечи.<br />Т е 21 файл на инструмент. Для 150 инструментов получи более 2000 файлов.<br />-----------------------<br />Прикольно то, что приходится дублировать файлы квика, <br />так как разработчики QUIK &quot;зажали&quot; формат этих файлов. <br />
			<i>05.01.2024 14:16:01, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73371/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73371/topic8426/</guid>
			<pubDate>Fri, 05 Jan 2024 14:16:01 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73370/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Продолжаю про робота.<br />----------<br />В функции main &nbsp;реализую три режима работы.<br />1) на основе Onparam. При изменении параметров по инструменту, проверяется изменение цены и если есть, то выполняется алгоритм управления стопами.<br />--------------<br />2) По таймеру. Использую таймер OC, который установлен неа срабатывание через 1 минуту.<br />При возникновении этого сигнала, в цикле для каждого инструмента получаем текущее значение свечей, которые передаются в поток из пула потоков ОС для расчета головного блока. <br />Головной блок возвращает сигнал купить/продать.<br />Вот пример лога сигнала &nbsp;таймера и запуск потоков инструментов. <br />NNsec - число торгуемых инструментов<br />Первое число в строке - запаздывание сигнала колбека.<br />Второе число в строке - время &nbsp;прохода функции main.<br />
====code====
<pre>29.2; 15.7;&nbsp;&nbsp;&nbsp;&nbsp; GDH4,NNsec=126,Ntp=2
29.2; 10.3;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=2
29.2; 10.1;&nbsp;&nbsp;&nbsp;&nbsp; NKH4,NNsec=126,Ntp=2
29.2; 11.9;&nbsp;&nbsp;&nbsp;&nbsp; TIH4,NNsec=126,Ntp=2
29.2; 21.3;&nbsp;&nbsp;&nbsp;&nbsp; MCH4,NNsec=126,Ntp=3
29.2; 10.8;&nbsp;&nbsp;&nbsp;&nbsp; GDH4,NNsec=126,Ntp=3
29.2; 9.7;&nbsp;&nbsp;&nbsp;&nbsp; NKH4,NNsec=126,Ntp=3
29.2; 9.5;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=2
29.2; 9.8;&nbsp;&nbsp;&nbsp;&nbsp; TIH4,NNsec=126,Ntp=1
29.2; 12.9;&nbsp;&nbsp;&nbsp;&nbsp; MCH4,NNsec=126,Ntp=0
23.3; 45.9;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=2
23.3; 16.3;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,NNsec=126,Ntp=2
23.3; 23.5;&nbsp;&nbsp;&nbsp;&nbsp; MCH4,NNsec=126,Ntp=3
23.3; 12.3;&nbsp;&nbsp;&nbsp;&nbsp; TIH4,NNsec=126,Ntp=2
23.3; 11.7;&nbsp;&nbsp;&nbsp;&nbsp; NKH4,NNsec=126,Ntp=1
23.3; 9.9;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=0
13.3; 53.2;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=0
8.4; 26.5;&nbsp;&nbsp;&nbsp;&nbsp; RNH4,NNsec=126,Ntp=0
21.2; 41.3;&nbsp;&nbsp;&nbsp;&nbsp; VKH4,NNsec=126,Ntp=1
21.2; 19.5;&nbsp;&nbsp;&nbsp;&nbsp; GDH4,NNsec=126,Ntp=1
21.2; 16.1;&nbsp;&nbsp;&nbsp;&nbsp; NKH4,NNsec=126,Ntp=0
Таймер 142000.039
GLH4;HMS=131900.0;HMS_os=142000.039,Ci=6010.5,pos=0
NAH4;HMS=131900.0;HMS_os=142000.039,Ci=16422.0,pos=0
RNH4;HMS=131800.0;HMS_os=142000.039,Ci=59162.0,pos=0
BRG4;HMS=131900.0;HMS_os=142000.039,Ci=78.81,pos=0
NKH4;HMS=131500.0;HMS_os=142000.039,Ci=153066.0,pos=0
BNH4;HMS=125500.0;HMS_os=142000.039,Ci=2351.0,pos=0
TIH4;HMS=124800.0;HMS_os=142000.039,Ci=33088.0,pos=0
VBH4;HMS=131900.0;HMS_os=142000.039,Ci=2429.0,pos=0
SiH4;HMS=131900.0;HMS_os=142000.039,Ci=91608.0,pos=0
PHH4;HMS=131700.0;HMS_os=142000.039,Ci=6876.0,pos=0
MXH4;HMS=131900.0;HMS_os=142000.039,Ci=322025.0,pos=0
EuH4;HMS=131900.0;HMS_os=142000.039,Ci=99734.0,pos=0
PDH4;HMS=131900.0;HMS_os=142000.039,Ci=1072.48,pos=0
SVH4;HMS=131900.0;HMS_os=142000.039,Ci=23.7,pos=0
SFH4;HMS=131900.0;HMS_os=142000.039,Ci=473.4,pos=0
ISH4;HMS=125800.0;HMS_os=142000.039,Ci=1147.0,pos=0
FLH4;HMS=131900.0;HMS_os=142000.039,Ci=14686.0,pos=0
RIH4;HMS=131900.0;HMS_os=142000.039,Ci=110600.0,pos=0
SOH4;HMS=130800.0;HMS_os=142000.039,Ci=8484.0,pos=0
MTH4;HMS=130300.0;HMS_os=142000.039,Ci=25953.0,pos=0
ALH4;HMS=131200.0;HMS_os=142000.039,Ci=7361.0,pos=0
MMH4;HMS=131800.0;HMS_os=142000.039,Ci=3220.15,pos=0
GDH4;HMS=131900.0;HMS_os=142000.039,Ci=2078.5,pos=0
EDH4;HMS=131900.0;HMS_os=142000.039,Ci=1.0875,pos=0
LKH4;HMS=131600.0;HMS_os=142000.039,Ci=70124.0,pos=0
CRH4;HMS=131900.0;HMS_os=142000.039,Ci=12.908,pos=0
SXH4;HMS=131200.0;HMS_os=142000.039,Ci=4419.8,pos=0
SPH4;HMS=131200.0;HMS_os=142000.039,Ci=28239.0,pos=0
GZH4;HMS=131900.0;HMS_os=142000.039,Ci=16731.0,pos=0
HSH4;HMS=131800.0;HMS_os=142000.039,Ci=17051.0,pos=0
PZH4;HMS=130700.0;HMS_os=142000.039,Ci=112138.0,pos=0
SNH4;HMS=123900.0;HMS_os=142000.039,Ci=28494.0,pos=0
MEH4;HMS=131500.0;HMS_os=142000.039,Ci=19960.0,pos=0
MNH4;HMS=131800.0;HMS_os=142000.039,Ci=6978.0,pos=0
UCH4;HMS=131800.0;HMS_os=142000.039,Ci=7.116,pos=0
NMH4;HMS=131400.0;HMS_os=142000.039,Ci=18854.0,pos=0
SGH4;HMS=131900.0;HMS_os=142000.039,Ci=58120.0,pos=0
FVH4;HMS=131500.0;HMS_os=142000.039,Ci=22802.0,pos=0
VKH4;HMS=131500.0;HMS_os=142000.039,Ci=6062.0,pos=0
GKH4;HMS=125500.0;HMS_os=142000.039,Ci=16812.0,pos=0
RMH4;HMS=131900.0;HMS_os=142000.039,Ci=1105.5,pos=0
FSH4;HMS=131700.0;HMS_os=142000.039,Ci=11669.0,pos=0
POH4;HMS=131400.0;HMS_os=142000.039,Ci=5063.0,pos=0
SSH4;HMS=131900.0;HMS_os=142000.039,Ci=3981.0,pos=0
RLH4;HMS=131900.0;HMS_os=142000.039,Ci=3638.0,pos=0
</pre>
============= <br />
			<i>05.01.2024 14:00:05, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73370/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73370/topic8426/</guid>
			<pubDate>Fri, 05 Jan 2024 14:00:05 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73369/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_G4mbEBhg" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />А что конкретно даёт эта OnParam? Я сейчас глянул &nbsp;<noindex><a href="https://luaq.ru/OnParam.html" target="_blank" rel="nofollow">https://luaq.ru/OnParam.html</a></noindex> &nbsp;и не понял, как узнать, какие параметры изменились? Их же вагон с тележкой... &nbsp; <br />=============<br />Дает сигнал изменений на рынке. По этому сигналу управляю стопами <br />
			<i>05.01.2024 13:47:01, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73369/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73369/topic8426/</guid>
			<pubDate>Fri, 05 Jan 2024 13:47:01 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73368/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zJ0W5BUy" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />По картинке робота я не смог понять, насколько он прибылен...<br />=============<br />Поясняю.<br />Смотрим первую картинку.<br />Нижнее 3 окно в ней - это график прибыль/убыток за 2023 год.<br />линия зеленая на оси справа показывает положительные 220% -это профит лонг.<br />линия синяя на оси справа показывает положительные 150% - это профит short<br />линия белая на оси справа показывает положительные 370% - это профит long+short. <br />---------------- <br />На других картинках график профита приведен по месяцам и по дням. <br />
			<i>05.01.2024 13:45:10, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73368/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73368/topic8426/</guid>
			<pubDate>Fri, 05 Jan 2024 13:45:10 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73361/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			По картинке робота я не смог понять, насколько он прибылен... <br />
			<i>04.01.2024 22:15:40, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73361/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73361/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 22:15:40 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73360/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Через некоторое время после пуска,большинство бумаг зарегистрированы и работа скрипта переходит в нормальный ритм.<br />Вот для наглядности лог файл 
====code====
<pre>4.4; 11.8,0.7;&nbsp;&nbsp;&nbsp;&nbsp; IRH4,jc=1,Ns=31,Ntp=243
4.4; 10.4,0.4;&nbsp;&nbsp;&nbsp;&nbsp; SiH4,jc=1,Ns=31,Ntp=242
4.4; 24.2,22.0;&nbsp;&nbsp;&nbsp;&nbsp; SNGSP,jc=2,Ns=97,Ntp=241
4.4; 4.0,3.0;&nbsp;&nbsp;&nbsp;&nbsp; CNTLP,jc=2,Ns=97,Ntp=240
4.4; 21.6,5.7;&nbsp;&nbsp;&nbsp;&nbsp; ROSN,jc=2,Ns=97,Ntp=239
4.4; 2.3,1.4;&nbsp;&nbsp;&nbsp;&nbsp; YRSB,jc=2,Ns=97,Ntp=238
4.4; 8.1,7.3;&nbsp;&nbsp;&nbsp;&nbsp; VJGZP,jc=2,Ns=97,Ntp=237
4.4; 2.8,1.8;&nbsp;&nbsp;&nbsp;&nbsp; USBN,jc=2,Ns=97,Ntp=236
4.4; 605685.7,605658.8;&nbsp;&nbsp;&nbsp;&nbsp; ALRS,jc=2,Ns=98,Ntp=235
4.4; 17.1,1.9;&nbsp;&nbsp;&nbsp;&nbsp; MTLR,jc=2,Ns=98,Ntp=234
4.4; 15.2,2.5;&nbsp;&nbsp;&nbsp;&nbsp; CIAN,jc=2,Ns=98,Ntp=233
4.4; 163066.4,162987.6;&nbsp;&nbsp;&nbsp;&nbsp; QIWI,jc=2,Ns=99,Ntp=232
4.4; 10.3,8.5;&nbsp;&nbsp;&nbsp;&nbsp; GECO,jc=2,Ns=99,Ntp=231
4.4; 18.9,3.6;&nbsp;&nbsp;&nbsp;&nbsp; TCSG,jc=2,Ns=99,Ntp=230
4.4; 6.6,5.6;&nbsp;&nbsp;&nbsp;&nbsp; RASP,jc=2,Ns=99,Ntp=229
4.4; 4.4,3.6;&nbsp;&nbsp;&nbsp;&nbsp; AKRN,jc=2,Ns=99,Ntp=228
4.4; 16.7,15.8;&nbsp;&nbsp;&nbsp;&nbsp; KROTP,jc=2,Ns=100,Ntp=227
4.4; 2.2,1.4;&nbsp;&nbsp;&nbsp;&nbsp; KLSB,jc=2,Ns=100,Ntp=226
4.4; 15.3,2.8;&nbsp;&nbsp;&nbsp;&nbsp; VTBR,jc=2,Ns=100,Ntp=225
4.4; 5.6,4.7;&nbsp;&nbsp;&nbsp;&nbsp; ROLO,jc=2,Ns=100,Ntp=224
4.4; 18.1,6.5;&nbsp;&nbsp;&nbsp;&nbsp; BSPB,jc=2,Ns=100,Ntp=223
4.4; 65.5,1.8;&nbsp;&nbsp;&nbsp;&nbsp; LSRG,jc=2,Ns=100,Ntp=222
4.4; 3.2,2.4;&nbsp;&nbsp;&nbsp;&nbsp; RZSB,jc=2,Ns=100,Ntp=221
4.4; 6.9,6.2;&nbsp;&nbsp;&nbsp;&nbsp; YAKG,jc=2,Ns=100,Ntp=220
4.4; 11.9,0.8;&nbsp;&nbsp;&nbsp;&nbsp; SELG,jc=2,Ns=100,Ntp=219
4.4; 7.0,6.2;&nbsp;&nbsp;&nbsp;&nbsp; UNAC,jc=2,Ns=100,Ntp=218
4.4; 3.4,2.4;&nbsp;&nbsp;&nbsp;&nbsp; ASTR,jc=2,Ns=100,Ntp=217
4.4; 7.0,6.2;&nbsp;&nbsp;&nbsp;&nbsp; IGST,jc=2,Ns=100,Ntp=216
4.4; 2.5,1.7;&nbsp;&nbsp;&nbsp;&nbsp; RKKE,jc=2,Ns=100,Ntp=215
4.4; 18.5,4.4;&nbsp;&nbsp;&nbsp;&nbsp; RIH4,jc=1,Ns=31,Ntp=214
4.4; 10.7,0.6;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=31,Ntp=213
4.4; 11.5,1.1;&nbsp;&nbsp;&nbsp;&nbsp; CRH4,jc=1,Ns=31,Ntp=212

</pre>
=============
но при этом очередь еще больная<br />еще через некоторое время очереди рассасывается .
====code====
<pre>4.4; 1.9,1.1;&nbsp;&nbsp;&nbsp;&nbsp; NKNCP,jc=2,Ns=107,Ntp=22
4.4; 2.3,1.6;&nbsp;&nbsp;&nbsp;&nbsp; USBN,jc=2,Ns=107,Ntp=21
4.4; 2.4,1.7;&nbsp;&nbsp;&nbsp;&nbsp; RKKE,jc=2,Ns=107,Ntp=20
4.4; 17.4,6.0;&nbsp;&nbsp;&nbsp;&nbsp; HYDR,jc=2,Ns=107,Ntp=19
4.4; 2.0,1.1;&nbsp;&nbsp;&nbsp;&nbsp; YRSB,jc=2,Ns=107,Ntp=18
4.4; 15.5,4.0;&nbsp;&nbsp;&nbsp;&nbsp; TRNFP,jc=2,Ns=107,Ntp=17
4.4; 2.9,2.1;&nbsp;&nbsp;&nbsp;&nbsp; MRKZ,jc=2,Ns=107,Ntp=16
4.4; 3.3,2.5;&nbsp;&nbsp;&nbsp;&nbsp; ASTR,jc=2,Ns=107,Ntp=15
4.4; 2.2,1.5;&nbsp;&nbsp;&nbsp;&nbsp; MRKV,jc=2,Ns=107,Ntp=14
4.4; 5.4,4.6;&nbsp;&nbsp;&nbsp;&nbsp; SLEN,jc=2,Ns=107,Ntp=13
4.4; 3.5,2.7;&nbsp;&nbsp;&nbsp;&nbsp; TRMK,jc=2,Ns=107,Ntp=12
4.4; 11.6,1.0;&nbsp;&nbsp;&nbsp;&nbsp; CIAN,jc=2,Ns=107,Ntp=11
4.4; 9.8,8.9;&nbsp;&nbsp;&nbsp;&nbsp; YKEN,jc=2,Ns=108,Ntp=10
NVTK,last=1486.000000,tlast=163435.0;osHMS=163448.0;bid=1485.800000,offer=1486.000000
4.4; 100.1,3.2;&nbsp;&nbsp;&nbsp;&nbsp; NVTK,jc=2,Ns=108,Ntp=9
4.4; 16.3,4.0;&nbsp;&nbsp;&nbsp;&nbsp; AFKS,jc=2,Ns=108,Ntp=8
4.4; 5.1,4.2;&nbsp;&nbsp;&nbsp;&nbsp; TORS,jc=2,Ns=108,Ntp=7
4.4; 4.5,3.7;&nbsp;&nbsp;&nbsp;&nbsp; CHGZ,jc=2,Ns=108,Ntp=6
4.4; 8.0,7.2;&nbsp;&nbsp;&nbsp;&nbsp; SNGSP,jc=2,Ns=108,Ntp=5
4.4; 4.2,3.5;&nbsp;&nbsp;&nbsp;&nbsp; AKRN,jc=2,Ns=108,Ntp=4
4.4; 11.0,0.4;&nbsp;&nbsp;&nbsp;&nbsp; SiH4,jc=1,Ns=35,Ntp=3
4.4; 15.5,1.6;&nbsp;&nbsp;&nbsp;&nbsp; MGH4,jc=1,Ns=35,Ntp=2
4.4; 11.1,0.8;&nbsp;&nbsp;&nbsp;&nbsp; IRH4,jc=1,Ns=35,Ntp=1
4.4; 10.8,0.7;&nbsp;&nbsp;&nbsp;&nbsp; TNH4,jc=1,Ns=35,Ntp=0
22.5; 45.7,1.8;&nbsp;&nbsp;&nbsp;&nbsp; BRG4,jc=1,Ns=35,Ntp=2
22.5; 1378.7,1358.5;&nbsp;&nbsp;&nbsp;&nbsp; MMH4,jc=1,Ns=36,Ntp=32
22.5; 15.1,1.7;&nbsp;&nbsp;&nbsp;&nbsp; EDH4,jc=1,Ns=36,Ntp=31
22.5; 12.3,1.1;&nbsp;&nbsp;&nbsp;&nbsp; CRH4,jc=1,Ns=36,Ntp=31
22.5; 10.8,1.0;&nbsp;&nbsp;&nbsp;&nbsp; EDH4,jc=1,Ns=36,Ntp=30
22.5; 10.9,0.4;&nbsp;&nbsp;&nbsp;&nbsp; GDH4,jc=1,Ns=36,Ntp=30
22.5; 15.6,4.1;&nbsp;&nbsp;&nbsp;&nbsp; LKH4,jc=1,Ns=36,Ntp=30
22.5; 26.4,24.0;&nbsp;&nbsp;&nbsp;&nbsp; UGLD,jc=2,Ns=108,Ntp=30
22.5; 11.8,0.5;&nbsp;&nbsp;&nbsp;&nbsp; SiH4,jc=1,Ns=36,Ntp=29
22.5; 5.0,3.7;&nbsp;&nbsp;&nbsp;&nbsp; ABIO,jc=2,Ns=108,Ntp=29
22.5; 11.1,1.3;&nbsp;&nbsp;&nbsp;&nbsp; LKH4,jc=1,Ns=36,Ntp=28
22.5; 12.7,0.9;&nbsp;&nbsp;&nbsp;&nbsp; SELG,jc=2,Ns=108,Ntp=27
22.5; 7.5,6.7;&nbsp;&nbsp;&nbsp;&nbsp; UNAC,jc=2,Ns=108,Ntp=27
BRG4,last=79.270000,tlast=163439.0;osHMS=163449.0;bid=79.260000,offer=79.270000
22.5; 69.9,0.5;&nbsp;&nbsp;&nbsp;&nbsp; BRG4,jc=1,Ns=36,Ntp=28
22.5; 13.9,0.6;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=36,Ntp=29
22.5; 12.5,1.3;&nbsp;&nbsp;&nbsp;&nbsp; RIH4,jc=1,Ns=36,Ntp=29
22.5; 11.5,1.5;&nbsp;&nbsp;&nbsp;&nbsp; MXH4,jc=1,Ns=36,Ntp=29
22.5; 15.2,3.6;&nbsp;&nbsp;&nbsp;&nbsp; MMH4,jc=1,Ns=36,Ntp=29
22.5; 9.4,0.4;&nbsp;&nbsp;&nbsp;&nbsp; BRG4,jc=1,Ns=36,Ntp=28
22.5; 9.4,0.5;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=36,Ntp=28
22.5; 9.6,0.5;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=36,Ntp=28
22.5; 9.4,0.5;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=36,Ntp=28
22.5; 11.5,1.0;&nbsp;&nbsp;&nbsp;&nbsp; CRH4,jc=1,Ns=36,Ntp=28
22.5; 10.1,1.0;&nbsp;&nbsp;&nbsp;&nbsp; CRH4,jc=1,Ns=36,Ntp=27
22.5; 9.5,0.4;&nbsp;&nbsp;&nbsp;&nbsp; SiH4,jc=1,Ns=36,Ntp=27
22.5; 10.3,1.2;&nbsp;&nbsp;&nbsp;&nbsp; LKH4,jc=1,Ns=36,Ntp=27
22.5; 12.3,2.5;&nbsp;&nbsp;&nbsp;&nbsp; LKH4,jc=1,Ns=36,Ntp=27
22.5; 11.8,0.8;&nbsp;&nbsp;&nbsp;&nbsp; TNH4,jc=1,Ns=36,Ntp=27
22.5; 1111.6,1091.7;&nbsp;&nbsp;&nbsp;&nbsp; MVH4,jc=1,Ns=37,Ntp=65
22.5; 15.0,1.7;&nbsp;&nbsp;&nbsp;&nbsp; RIH4,jc=1,Ns=37,Ntp=66
22.5; 11.4,1.3;&nbsp;&nbsp;&nbsp;&nbsp; RIH4,jc=1,Ns=37,Ntp=65
22.5; 11.3,1.1;&nbsp;&nbsp;&nbsp;&nbsp; CRH4,jc=1,Ns=37,Ntp=65
22.5; 10.4,0.6;&nbsp;&nbsp;&nbsp;&nbsp; EuH4,jc=1,Ns=37,Ntp=65
22.5; 10.3,0.8;&nbsp;&nbsp;&nbsp;&nbsp; TNH4,jc=1,Ns=37,Ntp=65

</pre>
=============
и так далее <br />Это работа скрипта на реально рынке<br />для каждого инструмента делается подписка на три свечи 1 мин 5 мин и 30 мин<br />Всего в КВИКЕ выбрано 350 инструментов и 51 параметр. <br />
			<i>04.01.2024 19:41:35, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73360/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73360/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 19:41:35 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73359/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			продолжаю свой рассказ. <br />Ранее я привел вариант фильтрации бумаг по листингу в колбеке OnParam.<br />Но после тестирования решил все же не делать в колбеках обработки, а передать ее в main и дополнительные потоки из пула потоков ОС.<br />В итоге все колбеки у меня стали близнецами и основные из них выглядят вот так:
====code====
<pre>function OnOrder(t)&nbsp;&nbsp;tprm&#91;#tprm+1&#93;={2,t}; nkevent.Set(event); end
function OnStopOrder(t) tprm&#91;#tprm+1&#93;={3,t}; nkevent.Set(event); end
function OnTrade(t)&nbsp;&nbsp;&nbsp;&nbsp; tprm&#91;#tprm+1&#93;={4,t}; nkevent.Set(event);&nbsp;&nbsp;end 
function OnParam(c,s) &nbsp;&nbsp;&nbsp;tprm&#91;#tprm+1&#93;={14,{c,s}}; nkevent.Set(event); end
function OnTransReply(t) tprm&#91;#tprm+1&#93;={1,t}; &nbsp;&nbsp;&nbsp;nkevent.Set(event); end
</pre>
=============
<br /> Немного о быстродействии.<br />Задержка передачи данных их колбеков в main составляет примерно 30 мкс или 0.00003 сек.<br />Причем в начале работы скрипта создается большая очередь на регистрацию бумаг.<br />Вот пример лога &nbsp;Ntp=116 -- это число бумаг в очереди на регистрацию<br />Первое число 27.9 - это время передачи из колбека в main<br />Второе число 326904 -это время регистрации в мкс<br />Регистрация каждого инструмента выполняется один раз в момент первого изменения его параметров в ТТП<br />
====code====
<pre>27.9; 326904.3,326879.3;&nbsp;&nbsp;&nbsp;&nbsp; NVTK,jc=2,Ns=49,Ntp=116
27.9; 509953.5,509925.5;&nbsp;&nbsp;&nbsp;&nbsp; YNDX,jc=2,Ns=50,Ntp=115
27.9; 15.5,13.8;&nbsp;&nbsp;&nbsp;&nbsp; ROLO,jc=2,Ns=51,Ntp=114
27.9; 4.3,3.3;&nbsp;&nbsp;&nbsp;&nbsp; GCHE,jc=2,Ns=51,Ntp=113
27.9; 515438.0,515414.0;&nbsp;&nbsp;&nbsp;&nbsp; AFKS,jc=2,Ns=52,Ntp=112
27.9; 17.7,3.2;&nbsp;&nbsp;&nbsp;&nbsp; SELG,jc=2,Ns=52,Ntp=111
27.9; 14.0,12.8;&nbsp;&nbsp;&nbsp;&nbsp; MSTT,jc=2,Ns=53,Ntp=110
27.9; 251507.0,251481.2;&nbsp;&nbsp;&nbsp;&nbsp; ETLN,jc=2,Ns=54,Ntp=109
27.9; 10.5,8.4;&nbsp;&nbsp;&nbsp;&nbsp; TRMK,jc=2,Ns=54,Ntp=108
27.9; 446567.4,446545.8;&nbsp;&nbsp;&nbsp;&nbsp; PIKK,jc=2,Ns=55,Ntp=107
27.9; 7.8,6.2;&nbsp;&nbsp;&nbsp;&nbsp; YRSBP,jc=2,Ns=55,Ntp=106
27.9; 4.3,3.3;&nbsp;&nbsp;&nbsp;&nbsp; RZSB,jc=2,Ns=55,Ntp=105
27.9; 11.6,10.8;&nbsp;&nbsp;&nbsp;&nbsp; NMTP,jc=2,Ns=56,Ntp=104
27.9; 3.5,2.6;&nbsp;&nbsp;&nbsp;&nbsp; BLNG,jc=2,Ns=56,Ntp=103
27.9; 468720.0,468695.7;&nbsp;&nbsp;&nbsp;&nbsp; TRNFP,jc=2,Ns=57,Ntp=102
27.9; 7.8,6.0;&nbsp;&nbsp;&nbsp;&nbsp; RKKE,jc=2,Ns=57,Ntp=101
27.9; 326269.2,326242.5;&nbsp;&nbsp;&nbsp;&nbsp; POLY,jc=2,Ns=58,Ntp=100
27.9; 17.8,16.0;&nbsp;&nbsp;&nbsp;&nbsp; SLEN,jc=2,Ns=59,Ntp=99
27.9; 5.4,4.1;&nbsp;&nbsp;&nbsp;&nbsp; GECO,jc=2,Ns=59,Ntp=98
27.9; 7.6,6.6;&nbsp;&nbsp;&nbsp;&nbsp; RBCM,jc=2,Ns=60,Ntp=97
27.9; 158920.9,158894.7;&nbsp;&nbsp;&nbsp;&nbsp; MTLRP,jc=2,Ns=61,Ntp=96
27.9; 10.7,8.8;&nbsp;&nbsp;&nbsp;&nbsp; ABIO,jc=2,Ns=61,Ntp=95
27.9; 3.3,1.9;&nbsp;&nbsp;&nbsp;&nbsp; NKNCP,jc=2,Ns=61,Ntp=94
27.9; 178460.4,178431.0;&nbsp;&nbsp;&nbsp;&nbsp; VKCO,jc=2,Ns=62,Ntp=93
</pre>
============= <br />
			<i>04.01.2024 19:37:33, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73359/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73359/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 19:37:33 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73358/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_bs1Cf30X" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />А что конкретно даёт эта OnParam? Я сейчас глянул &nbsp;<noindex><a href="https://luaq.ru/OnParam.html" target="_blank" rel="nofollow">https://luaq.ru/OnParam.html</a></noindex> &nbsp;и не понял, как узнать, какие параметры изменились? Их же вагон с тележкой... &nbsp; <br />=============<br />Этот колбек я использую как индикатор движения рынка и что конкретно двигалось.<br />На основе этого колбека, как написал рвнее, &nbsp;у меня будут работать стопы.<br /> &nbsp; <br />
			<i>04.01.2024 19:23:50, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73358/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73358/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 19:23:50 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73357/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_N4wYBzAL" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Какой уровень дохода прогнозируется? Сколько %% годовых чистыми от начального депозита? &nbsp; &nbsp;<br />=============<br />вот картинка робота на основе индикатора и нейронной сети.<br />Нижний график - это % изменения депозита <br />белый - итого<br />зеленый -лонг<br />синий - шорт<br />на картинках изменение депозита за год, за месяц и за день.<br />[FILE ID=11659]<br />[FILE ID=11660]<br />[FILE ID=11661]<br />[FILE ID=11662]<br /> Это робот на одну бумагу -сбербанк. Тайм 30 минут.<br />Торгует без плеч и без реинвестирования прибыли. <br />Хочу сделать на произвольное число бумаг и с самообучением.<br />---------------<br />Планирую от достигнутого. <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=11659&" width="1928" height="1080" /><br /><img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=11660&" width="1916" height="1080" /><br /><img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=11661&" width="1908" height="1080" /><br /><img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=11662&" width="1896" height="1080" /><br /><i>04.01.2024 19:21:19, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73357/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73357/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 19:21:19 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73356/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			А что конкретно даёт эта OnParam? Я сейчас глянул <noindex><a href="https://luaq.ru/OnParam.html" target="_blank" rel="nofollow">https://luaq.ru/OnParam.html</a></noindex> и не понял, как узнать, какие параметры изменились? Их же вагон с тележкой... <img src="http://forum.quik.ru/upload/main/smiles/5/icon_sad.png" border="0" data-code=":sad:" data-definition="SD" alt=":sad:" style="width:16px;height:16px;" title="Печально" class="bx-smile" /> &nbsp; <br />
			<i>04.01.2024 18:41:04, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73356/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73356/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 18:41:04 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73355/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Какой уровень дохода прогнозируется? Сколько %% годовых чистыми от начального депозита? &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_cool.png" border="0" data-code=":cool:" data-definition="SD" alt=":cool:" style="width:16px;height:16px;" title="Здорово" class="bx-smile" /> &nbsp; <br />
			<i>04.01.2024 17:57:28, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73355/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73355/topic8426/</guid>
			<pubDate>Thu, 04 Jan 2024 17:57:28 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Мой робот</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73252/topic8426/">Мой робот</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Добрый день,<br />Решил замутить тему о том, как я строю робота.<br />-------------------<br />В данной теме, если не лень, буду описывать &nbsp;основные блоки нового робота,<br /> которого сейчас пишу.<br />-------------- &nbsp;<br />Данный робот обрабатывает информацию по всем инструментам, на которые мы подписываемся в терминале QUIK.<br />---------------------<br />В этом роботе, назовем его для определенности Петя (Вася у меня был 10 лет назад), <br />выделяю два основных блока(мозга)- спинной и головной.<br />-----------------<br />Спинной блок отвечает за обработку , которую необходимо выполнять для получения и отправки информации на биржу или брокеру. К этому блоку относится обработка информации о сделках и заявках.<br />Спинной блок занимается рутинной работой, без которой невозможно торговать.<br />---------------<br />Головной блок занимается управлением торговлей. <br />Он осуществляет прогноз движения рынка и формирование сигналов покупки/продажи.<br />Головной блок - это творческая часть робота, которая собственно либо сливает депозит, либо его увеличивает. &nbsp;<br />==========<br />Спинной блок.<br />Здесь реализуется следующие блоки обработки:<br />1. OnTransReply &nbsp;- &nbsp;транзакций<br />2. OnStopOrder &nbsp;- &nbsp;информации о выставленных &nbsp;стоп-заявках<br />3. OnOrder &nbsp;- &nbsp;информации о &nbsp;выставленных заявок<br />4. OnTrade - информации о совершенных своих сделках<br />5. OnParam -информации об изменении состояния подписанных в терминале QUIK инструментов<br />--------------<br />OnParam<br />Пример реализации &nbsp;функции:
====code====
<pre>function OnParam(c,s)
if TLL and c~="SPBFUT" and c~="CETS"&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp; local Lev=tonumber(getParamEx(c,s,"LISTLEVEL").param_value); 
&nbsp;&nbsp;&nbsp;&nbsp; if Lev&#62;0 then
&nbsp;&nbsp;&nbsp;local i=1; while #TLL&#62;=i do if Lev==TLL&#91;i&#93; then break; end i=i+1 end
&nbsp;&nbsp;&nbsp;if i&#62;#TLL then&nbsp;&nbsp;return; end
&nbsp;&nbsp;&nbsp;&nbsp; end
end
&nbsp;&nbsp; local t={14,c,s}; tprm&#91;#tprm+1&#93;=t;--if 2&#62;#tprm then nkevent.Set(event);
end
</pre>
=============
Это основная функция, которая создает события event &nbsp;при изменении параметров любого из инструментов.<br />Эти события обрабатываются в функции main, которая выполняется в отдельном потоке.<br />--------------------------<br />В данной реализации OnParam добавлено условие (оператор if) фильтрации инструментов по листингу.<br />--------------------<br />Можно добавить и другие фильтры. Например, можно задать список торгуемых инструментов из числа всех подписанных. В этом случае робот будет торговать и отслеживать лишь списочные инструменты.<br />-----------------<br />В роботе реализованы три механизма событий, которые вызывают функцию main.<br />событие №1 &nbsp;OnParam.<br />По этому событию выполняется регистрация параметров инструмента и подписка на свечи или тики для данного инструмента. Кроме того, по этому сигналу обрабатываются стоп-заявки и заявки. &nbsp;<br />-----------------------------------<br />событие №2 &nbsp;таймер интервала свечей. Например, если головной блок использует свечи с интервалом 1 минута, то таймер выдает сигнал каждую минуту и по этому сигналу запускается для каждого торгуемого инструмента отдельный поток из пула потоков, в котором работает головной блок. &nbsp;<br />----------------------------------<br />событие №3 . Так называемый Watchdog -&quot;сторожевой пес&quot;. &nbsp;Таймер, который выдает сигнал, если нет события №1 например в течении 30 секунд. &nbsp; Это событие означает, что что-то не так и надо предпринимать соответствующие меры.<br />================== <br />Продолжение следует... <br />
			<i>30.12.2023 10:35:45, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73252/topic8426/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73252/topic8426/</guid>
			<pubDate>Sat, 30 Dec 2023 10:35:45 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
	</channel>
</rss>
