Дочерняя стратегия вызывает метод родительской


Дочерняя стратегия вызывает метод родительской
Atom
12/23/2011


У меня одна стратегия содержит в себе дочернию(другую) стратегию.
У меня есть лог, который я не могу понять.
AR Buy CancelOrder StopAggPutOrder 76797701
AR - дочерняя стартегия, она имеет метод CancelOrder, но не имеет метода StopAggPutOrder.
Метод StopAggPutOrder принадлежит родительской стратегии. при этом, судя по логу, метод CancelOrder, был вызва из метода StopAggPutOrder. т.к. Метод CancelOrder принимет как аргуметнт имя вызвавшего его метода.
И после этого вся программа закрылась, не выдав никакого сообщения об ошибке.
Да, метод CancelOrder попятался отменить исполненную заявку, но почему небыло никакого сообщения?
Code

public virtual void Do_CancelOrder(string callingMethod)
		{

			MarkOrderCanceledId("CancelOrder " + callingMethod);
			if(_order != null){
				try{
					this.Trader.CancelOrder(_order);
				}
				catch(Exception ex){
					string sessionStopped = "Сейчас эта сессия не идет";
					if(ex.Message.Contains(sessionStopped)){
						
					}
					else{
						throw ex;
					}
				}
			}
		}

на событие OnLog я подписан - там пусто.

Tags:


Thanks:


1 2  >
Alexander

Avatar
Date: 12/24/2011
Reply


OnError
Thanks:

vader

Avatar
Date: 12/26/2011
Reply


OnError тоже молчит
Thanks:

Alexander

Avatar
Date: 12/26/2011
Reply


Как вы понимаете что программа закрылась? В чём это выражается?
Посмотрите на событие Strategy.Error
Thanks:

vader

Avatar
Date: 12/26/2011
Reply


"Как вы понимаете что программа закрылась? В чём это выражается?"
Окно программы открыто и в какой-то момент она просто исчезает и её нет.

На Error подпишусь, ещё не успел новую версию скачать.

Ещё одна проблема, сделка не попала в стратегию.
На Strategy.NewMyTrades подписан, он не получил последнюю сделку.
При этом trader.NewMyTrades эу сделку получил
Thanks:

Alexander

Avatar
Date: 12/26/2011
Reply


Вы кидаете exception из throw.
Зачем? Где-то выше вы его перехватываете?
Thanks:

vader

Avatar
Date: 12/26/2011
Reply


"Вы кидаете exception из throw.
Зачем? Где-то выше вы его перехватываете?"
пока не перехватываю, но потом буду.
Кидаю я его, потому-что при невозможности снять заявки, робот должен остановится.
Thanks:

Alexander

Avatar
Date: 12/26/2011
Reply


Так и останавливайте его работу.
Или перехватывайте exception выше.

Иначе ничего удивительно в таком завершении работы нет. :)
Thanks:

frontman

Avatar
Date: 12/26/2011
Reply


А приложение вы как запускаете? Просто если не из студии и у вас эксепшн не перехватывается, то приложение закроется конечно..
Thanks:

frontman

Avatar
Date: 12/26/2011
Reply


Я опоздал))
Thanks:

vader

Avatar
Date: 12/26/2011
Reply


Я запускаю из SharpDevelop в Debug.
я надеюсь, что он мне что-нибудь скажет, есди произошла ошибка.

"А приложение вы как запускаете? Просто если не из студии и у вас эксепшн не перехватывается, то приложение закроется конечно.. "
проблема не стольько в том, что оно закрывается, а вот, что оно ничего не говорит при этом. Даже не предлгает исвать решения проблемы в интернете.
Thanks:
1 2  >

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

loading
clippy