← Zurück

Загрузка ЦП

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (13)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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 уже его реализует.