← Atrás

Загрузка ЦП

Во время тестирования непосредственно на сам тестер приходится всего около 5% проц.времени, а остальное сжирают проводник(~55%) и AntiMalware Service(~20%).. так должно быть?

¿Le resultó útil este tema?

Compartir tema

Comentarios (13)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

Sergey Masyura
Sergey Masyura

XMbIPb: Во время тестирования непосредственно на сам тестер приходится всего около 5% проц.времени, а остальное сжирают проводник(~55%) и AntiMalware Service(~20%).. так должно быть?

Чем в это время занимается антивирус - вопрос к разработчикам соответсвующего ПО. Со стороны Stock# воздействия на другие процессы нет.

XMbIPb
XMbIPb Autor

А у меня почему-то есть(до запуска тестера, антивирь потребляет ~1%, а проводник - 0%).. но тут скорее дело не в S#, а в моём кривом коде(из SampleHistoryTesting удалил CandleManager, заменил логику Sma на свою и ТФ на 1сек).. с антивирем более менее ясно, а вот проводник то чем я так напряг.. что-то мне подсказывает что дело тут в ТФ и частоте обновления GUI.. вот только как это поправить🤨

Sergey Masyura
Sergey Masyura

XMbIPb: А у меня почему-то есть(до запуска тестера, антивирь потребляет ~1%, а проводник - 0%).. но тут скорее дело не в S#, а в моём кривом коде(из SampleHistoryTesting удалил CandleManager, заменил логику Sma на свою и ТФ на 1сек).. с антивирем более менее ясно, а вот проводник то чем я так напряг.. что-то мне подсказывает что дело тут в ТФ и частоте обновления GUI.. вот только как это поправить🤨

Попробуйте выставить DaysInMemory, MaxCandleCount и MaxTradeCount



					var storage = new TradingStorage(new InMemoryStorage())
					{
						BasePath = strategy.Properties.HistoryPath
					};

					var emulTrader = new EmulationTrader(trader.Securities, trader.Portfolios, storage)
					{
						DaysInMemory = 6,
					};

...
						emulTrader.DepthGenerators[s] = new TrendMarketDepthGenerator(security)
						{
							// стакан для инструмента в истории обновляется раз в секунду
							Interval = TimeSpan.FromSeconds(1),
						};
...
					var candleManager = new CandleManager(new SyncTraderCandleSource(emulTrader));

					// в целях оптимизации расходования памяти храним не более 1000 последних свечек и 100000 последних сделок
					((CandleContainer)candleManager.Container).MaxCandleCount = 100;
					((CandleContainer)candleManager.Container).MaxTradeCount = 1000;


XMbIPb
XMbIPb Autor

Я не использую ни DepthGenerators, ни candleManager.. тестирую только на стаканах сохранённых за один день.. да и при чём тут проводник?

Sergey Masyura
Sergey Masyura

XMbIPb: Я не использую ни DepthGenerators, ни candleManager.. тестирую только на стаканах сохранённых за один день.. да и при чём тут проводник?

Вот и у меня такой же вопрос 🤨 Причем тут проводник и антивирус? 🤤

esper
esper

sergey.masyura:

XMbIPb: Я не использую ни DepthGenerators, ни candleManager.. тестирую только на стаканах сохранённых за один день.. да и при чём тут проводник?

Вот и у меня такой же вопрос 🤨 Причем тут проводник и антивирус? 🤤 Возможно, там хитрый антивирь, который для чтения файлов использует проводник😂 Пробовали его отключить?

XMbIPb
XMbIPb Autor

Антивирь то я отключил.. вот только с проводником боюсь такое не прокатит... Похоже его напрягает, то как я пишу лог.. вот только почему на это уходит целое ядро.. гидра например пишет примерно столько же, но при этом загрузка проводника остаётся на нуле.. насколько я понял в SampleHistoryTesting уже есть свой логгер который пишет - Стратегия запущена,Стратегия остановлена.. как ему можно передать свой текст, чтоб он записывал ещё кой-какие расчёты?

Sergey Masyura
Sergey Masyura

XMbIPb: Антивирь то я отключил.. вот только с проводником боюсь такое не прокатит...

Через Task Manager можно убить процесс explorer.exe 😎

Mikhail Sukhov
Mikhail Sukhov

sergey.masyura:

XMbIPb: Антивирь то я отключил.. вот только с проводником боюсь такое не прокатит...

Через Task Manager можно убить процесс explorer.exe 😎

Можно закрыть сам TaskManager. Чтобы себя не расстраивать лишний раз.

XMbIPb
XMbIPb Autor

XMbIPb: насколько я понял в SampleHistoryTesting уже есть свой логгер который пишет - Стратегия запущена,Стратегия остановлена.. как ему можно передать свой текст, чтоб он записывал ещё кой-какие расчёты?

Alexander
Alexander

XMbIPb:

XMbIPb: насколько я понял в SampleHistoryTesting уже есть свой логгер который пишет - Стратегия запущена,Стратегия остановлена.. как ему можно передать свой текст, чтоб он записывал ещё кой-какие расчёты?

Дока

XMbIPb
XMbIPb Autor

В доках я уже копался.. но так и не смог понять порядок действий... Вот например в SampleHistoryTesting создан логгер:

private readonly LogManager _logManager = new LogManager();
_logManager.Listeners.Add(new FileLogListener("log.txt")); 

как мне теперь из OnProcess() передать ему например "Hello, world" ?

Alexander
Alexander

XMbIPb: В доках я уже копался.. но так и не смог понять порядок действий... Вот например в SampleHistoryTesting создан логгер:

private readonly LogManager _logManager = new LogManager(); _logManager.Listeners.Add(new FileLogListener("log.txt"));

> как мне теперь из OnProcess() передать ему например "Hello, world" ?

this.AddInfoLog("Hello, world");

Вообще посмотрите примеры - необходимо реализовать  ILogListener. Strategy уже его реализует.