Вопросы про OnParam

Страницы: 1
RSS
Вопросы про OnParam
 
Т.к. эти вопросы были проигнорированы в соответствующей теме https://forum.quik.ru/messages/forum10/message83015/topic9604/#message83015

Вынесем в отдельную тему:

Почему callback OnParam игнорирует настройки терминала в разделе "Получение данных"?

Берем чистый терминал, открываем только одну таблицу текущих торгов, в ней выбраны конкретные инструменты. Выбрана настройка "умным заказом данных".
Никаких открытых графиков или других таблиц, только одна ТТТ. Нет запущенных скриптов, кроме тестового. В логах теста видим вызов OnParam для инструментов, которых нет в открытой ТТТ, нет открытых позиций, заявок по этим инструментам.
С точки зрения скрипта, где этот OnParam зарегистрирован (а нигде более этот метод и не используется) - это мусор, влияющий на работу всего терминала. Если же разорвать связь и получить OnCleanUp, то колбек будет вызван для всего от начала сессии, т.к. не учитывается фильтр "умного заказа данных".

...............
00002129    11:44:06.628    [1332] OnParam 2128 SPBFUT RAU6 last_price 1246.0    
00002130    11:44:06.629    [1332] OnParam 2129 SPBFUT FLU6 last_price 7975.0    
00002131    11:44:06.629    [1332] OnParam 2130 SPBFUT VBU6 last_price 5871.0    
00002132    11:44:06.629    [1332] OnParam 2131 SPBFUT CRZ6 last_price 12.167    
00002133    11:44:06.629    [1332] OnParam 2132 SPBFUT SiU6 last_price 80734.0    
00002134    11:44:06.629    [1332] OnParam 2133 SPBFUT ALU6 last_price 2220.0    
00002135    11:44:06.629    [1332] OnParam 2134 SPBFUT VKU6 last_price 1544.0    
00002136    11:44:06.629    [1332] OnParam 2135 SPBFUT EDU6 last_price 1.1432    
00002137    11:44:06.630    [1332] OnParam 2136 CROSSRATE CNY last_price 0.0    
00002138    11:44:06.690    [1332] OnParam 2137 CROSSRATE GLD last_price 0.0    
00002139    11:44:06.690    [1332] OnParam 2138 CROSSRATE CNY last_price 0.0    
00002140    11:44:06.750    [1332] OnParam 2139 CROSSRATE CNY last_price 0.0    
00002141    11:44:06.813    [1332] OnParam 2140 CROSSRATE CNY last_price 0.0    
00002142    11:44:06.935    [1332] OnParam 2141 SPBFUT SZU6 last_price 573.0    
00002143    11:44:06.935    [1332] OnParam 2142 SPBFUT RAU6 last_price 1246.0    
00002144    11:44:06.936    [1332] OnParam 2143 SPBFUT PHU6 last_price 5835.0    
00002145    11:44:06.936    [1332] OnParam 2144 SPBFUT VKU6 last_price 1544.0    
00002146    11:44:06.936    [1332] OnParam 2145 SPBFUT MMU6 last_price 2306.3    
00002147    11:44:06.936    [1332] OnParam 2146 SPBFUT GZU6 last_price 9578.0    
00002148    11:44:06.937    [1332] OnParam 2147 SPBFUT MXU6 last_price 230650.0    
00002149    11:44:06.937    [1332] OnParam 2148 SPBFUT RIU6 last_price 90110.0    
00002150    11:44:06.937    [1332] OnParam 2149 SPBFUT BRU6 last_price 88.65    
00002151    11:44:06.937    [1332] OnParam 2150 SPBFUT CKU6 last_price 6502.0    
00002152    11:44:06.937    [1332] OnParam 2151 SPBFUT LKU6 last_price 48859.0    
00002153    11:44:06.937    [1332] OnParam 2152 CROSSRATE GLD last_price 0.0    
00002154    11:44:06.937    [1332] OnParam 2153 CROSSRATE CNY last_price 0.0    
00002155    11:44:06.950    [1332] OnParam 2154 SPBFUT SNU6 last_price 15515.0    
00002156    11:44:06.950    [1332] OnParam 2155 SPBFUT MGU6 last_price 21122.0    
00002157    11:44:06.950    [1332] OnParam 2156 SPBFUT NMU6 last_price 7371.0    
00002158    11:44:06.950    [1332] OnParam 2157 SPBFUT GKU6 last_price 1191.0    
00002159    11:44:06.950    [1332] OnParam 2158 SPBFUT ALU6 last_price 2221.0    
00002160    11:44:06.950    [1332] OnParam 2159 SPBFUT IMOEXF last_price 2269.0    
00002161    11:44:06.950    [1332] OnParam 2160 SPBFUT X5U6 last_price 2115.0    
00002162    11:44:06.951    [1332] OnParam 2161 SPBFUT VBU6 last_price 5871.0    
00002163    11:44:06.951    [1332] OnParam 2162 SPBFUT SPU6 last_price 28329.0    
00002164    11:44:06.951    [1332] OnParam 2163 SPBFUT YDU6 last_price 4053.0    
00002165    11:44:06.951    [1332] OnParam 2164 SPBFUT NVU6 last_price 10553.0    
00002166    11:44:06.951    [1332] OnParam 2165 SPBFUT ONU6 last_price 3219.0    
00002167    11:44:06.951    [1332] OnParam 2166 SPBFUT GAZPF last_price 94.09    
00002168    11:44:06.951    [1332] OnParam 2167 CROSSRATE CNY last_price 0.0    
00002169    11:44:06.951    [1332] OnParam 2168 CROSSRATE CNY last_price 0.0    
00002170    11:44:06.996    [1332] OnParam 2169 CROSSRATE CNY last_price 0.0    
00002171    11:44:06.997    [1332] OnParam 2170 TQOY RU000A10DQB6 last_price 99.567    
00002172    11:44:06.997    [1332] OnParam 2171 TQOB SU26245RMFS9 last_price 85.493    
00002173    11:44:06.998    [1332] OnParam 2172 CROSSRATE CNY last_price 0.0    
00002174    11:44:07.132    [1332] OnParam 2173 TQOB SU26221RMFS0 last_price 70.893    
00002175    11:44:07.144    [1332] OnParam 2174 CROSSRATE CNY last_price 0.0    
00002176    11:44:07.147    [1332] OnParam 2175 CROSSRATE CNY last_price 0.0    
00002177    11:44:07.150    [1332] OnParam 2176 CROSSRATE CNY last_price 0.0    
00002178    11:44:07.153    [1332] OnParam 2177 CROSSRATE CNY last_price 0.0    
00002179    11:44:07.156    [1332] OnParam 2178 CROSSRATE CNY last_price 0.0    
00002180    11:44:07.159    [1332] OnParam 2179 CROSSRATE GLD last_price 0.0    
00002181    11:44:07.162    [1332] OnParam 2180 CROSSRATE CNY last_price 0.0    
00002182    11:44:07.165    [1332] OnParam 2181 CROSSRATE CNY last_price 0.0    
00002183    11:44:07.167    [1332] OnParam 2182 CROSSRATE CNY last_price 0.0    
00002184    11:44:07.170    [1332] OnParam 2183 CROSSRATE CNY last_price 0.0    
00002185    11:44:07.173    [1332] OnParam 2184 CROSSRATE CNY last_price 0.0    
00002186    11:44:07.211    [1332] OnParam 2185 CROSSRATE CNY last_price 0.0    
00002187    11:44:07.211    [1332] OnParam 2186 CROSSRATE CNY last_price 0.0    
00002188    11:44:07.211    [1332] OnParam 2187 CROSSRATE GLD last_price 0.0    
00002189    11:44:07.243    [1332] OnParam 2188 CROSSRATE CNY last_price 0.0    
00002190    11:44:07.244    [1332] OnParam 2189 CROSSRATE CNY last_price 0.0    
00002191    11:44:07.244    [1332] OnParam 2190 SPBFUT GZU6 last_price 9578.0    
00002192    11:44:07.244    [1332] OnParam 2191 SPBFUT X5Z6 last_price 2185.0    
...................

Также вопрос по памяти:
Если в скрипте зарегистрировать OnParam, даже пустой:

function OnParam()
end

то память, отображаемая в окне Доступные скрипты, почти не изменяется. А если же OnParam нет вовсе, то она бегает от начального значения до удвоения, и потом уже срабатывает GC, сбрасывая её. Особенно это заметно на "объёмных" скриптах с большим числом локальных переменных.

Т.е. наличие OnParam вызывает постоянный вызов GC, судя по всему при вызове OnParam. Это, конечно, наверно хорошо не расходовать память, но и агрессивный GC - это влияние на производительность.
...................

Также вопрос про OnCleanUp, который уже задавался:

если не было соединения достаточно долго, то брокер кидает OnCleanUp (это видно по логу и по параметру "число записей" в информационном окне, он скидывается в 0). Судя по всему, срабатывает условие "смена сессии". И в итоге загрузка данных происходит долго, очень долго. Допустим, что разрывы связи - это хоть и неприятно, но ожидаемое событие. Правда частота этого явления тоже вызывает вопросы. Но почему внутри сессии вызывается OnCleanUp?

Вчерашний лог брокера Финам:

[INFO  2026-09-08 10:02:45] :           OnDisconnected
[INFO  2026-09-08 10:03:29] :           OnCleanUp
[INFO  2026-09-08 10:03:30] :           OnConnected
[INFO  2026-09-08 10:04:57] :           OnDisconnected
[INFO  2026-09-08 10:05:07] :           OnCleanUp
[INFO  2026-09-08 10:05:08] :           OnConnected
[INFO  2026-09-08 10:20:07] :           OnDisconnected
[INFO  2026-09-08 10:20:17] :           OnCleanUp
[INFO  2026-09-08 10:20:19] :           OnConnected
[INFO  2026-09-08 10:31:12] :           OnDisconnected
[INFO  2026-09-08 10:31:24] :           OnCleanUp
[INFO  2026-09-08 10:31:28] :           OnConnected
[INFO  2026-09-08 11:15:36] :           OnDisconnected
[INFO  2026-09-08 11:15:41] :           OnConnected
[INFO  2026-09-08 11:20:20] :           OnDisconnected
[INFO  2026-09-08 11:20:36] :           OnCleanUp
[INFO  2026-09-08 11:20:38] :           OnConnected
[INFO  2026-09-08 12:24:08] :           OnDisconnected
[INFO  2026-09-08 12:24:23] :           OnCleanUp
[INFO  2026-09-08 12:24:29] :           OnConnected
[INFO  2026-09-08 12:54:37] :           OnDisconnected
[INFO  2026-09-08 12:54:51] :           OnCleanUp
[INFO  2026-09-08 12:54:53] :           OnConnected
[INFO  2026-09-08 12:56:35] :           OnDisconnected
[INFO  2026-09-08 12:56:39] :           OnConnected
[INFO  2026-09-08 13:43:17] :           OnDisconnected
[INFO  2026-09-08 13:43:22] :           OnConnected
[INFO  2026-09-08 13:47:37] :           OnDisconnected
[INFO  2026-09-08 13:47:49] :           OnCleanUp
[INFO  2026-09-08 13:47:51] :           OnConnected
 
Возможно это связано со сменой сервера,
т к   OnCleanUp вызывается  терминалом  
при смене сервера QUIK внутри торговой сессии.
Страницы: 1
Читают тему
Наверх