Как работает strategy.WhenStopping()?

Как работает strategy.WhenStopping()?
Atom
7/19/2014
devruss


Не могу понять как работает WhenStopping() для стратегий...

Как я понимаю, этот кусок кода должен выполняться в момент окончания стратегии до перехода в состояние Stopped:
Code

strategy.WhenStopping()
                .Do(() =>
                {
                    Debug.WriteLine("Stopping Strategy now");                   
                })
                .Apply();


Тем не менее, ничего не выводится...

Задача следующая: когда на бэктесте стратегия выполнилась, надо вывести всю статистику (последние значения переменных, считавшихся во время исполнения статегии)

Tags:


Thanks:


devruss

Avatar
Date: 8/5/2014
Reply


Михаил, может ты сможешь помочь?=)
Thanks:

Mikhail Sukhov

Avatar
Date: 8/6/2014
Reply


Код правильный и рабочий. Не понимаю что именно нужно прокомментировать. Если из разряда "почему у меня не работает", то это надо самостоятельно разбираться или логи подкреплять.
Thanks:

devruss

Avatar
Date: 8/6/2014
Reply


Михаил Сухов
Код правильный и рабочий. Не понимаю что именно нужно прокомментировать. Если из разряда "почему у меня не работает", то это надо самостоятельно разбираться или логи подкреплять.


Если поставить в дебаггере точку остановки на Debug.WriteLine(...), то на практике этот кусок кода никогда не исполняется.

Что надо выводить в лог и как понять почему так происходит?
Thanks:

devruss

Avatar
Date: 8/6/2014
Reply


Михаил Сухов
Код правильный и рабочий. Не понимаю что именно нужно прокомментировать. Если из разряда "почему у меня не работает", то это надо самостоятельно разбираться или логи подкреплять.


Ок. Вот есть кусок кода в SmaStrategy из SampleHistoryTesting:
Code

// если наша стратегия в процессе остановки
			if (ProcessState == ProcessStates.Stopping)
			{
				// отменяем активные заявки
				CancelActiveOrders();
				return;
			}

Данных код никогда не исполняется. (проверил на последнем билде)

Также если поставить в SampleHistoryTesting следующий код:
Code

this.WhenStopping()
                .Do(() =>
                {
                    Debug.WriteLine("********************* STOPPING ************************************");
                })
                .Apply();

то этот код тоже никогда не срабатывает
Thanks:

Mikhail Sukhov

Avatar
Date: 8/7/2014
Reply


В SampleHistoryTesting стратегия только запускается. Там нет остановки. Добавь остановку и событие будет срабатывать.
Thanks:

devruss

Avatar
Date: 8/7/2014
Reply


Михаил Сухов
В SampleHistoryTesting стратегия только запускается. Там нет остановки. Добавь остановку и событие будет срабатывать.


Стоп, давай тогда определим, что мы понимаем под "остановкой". Я думал, что "остановка" - это когда ты запустил стратегию, она отработала и завершилась = остановилась... нет?
Тогда вопрос есть ли состояние WhenFinishing?
Thanks:

Mikhail Sukhov

Avatar
Date: 8/7/2014
Reply


devruss

Стоп, давай тогда определим, что мы понимаем под "остановкой". Я думал, что "остановка" - это когда ты запустил стратегию, она отработала и завершилась = остановилась... нет?


Да так.
Thanks:

vsnoopy83

Avatar
Date: 8/7/2014
Reply


devruss
Михаил Сухов
В SampleHistoryTesting стратегия только запускается. Там нет остановки. Добавь остановку и событие будет срабатывать.


Стоп, давай тогда определим, что мы понимаем под "остановкой". Я думал, что "остановка" - это когда ты запустил стратегию, она отработала и завершилась = остановилась... нет?
Тогда вопрос есть ли состояние WhenFinishing?


Думаю WhenStopping срабатывает при выполнении метода Strategy.Stop(), к тестеру это не имеет отношения. Здесь надо события тестера искать какие то видимо.
Thanks:

devruss

Avatar
Date: 8/7/2014
Reply


Михаил Сухов
devruss

Стоп, давай тогда определим, что мы понимаем под "остановкой". Я думал, что "остановка" - это когда ты запустил стратегию, она отработала и завершилась = остановилась... нет?


Да так.


Ну если это так, то когда тестер завершается и connector.IsFinished, что остановка стратегии не происходит
Thanks:

devruss

Avatar
Date: 8/7/2014
Reply


vsnoopy83

Здесь надо события тестера искать какие то видимо.


Скорее всего так и есть... короче поведение стратегии на тестере и вживую отличается похоже

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy