Т.к. эти вопросы были проигнорированы в соответствующей теме
Вынесем в отдельную тему:
Почему 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
Вынесем в отдельную тему:
Почему 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