| ra81 
 
   
 
						
						
					 | Date: 1/18/2012 
 
 
	
			Добавил код во враппер и собрал либу. Запустил и проверил. Code
case _myTradesTable:
    ProcessMyTrades.SafeInvoke((string)data);
    break; но событие таки не вызывается. В Лог начало падать событие OnProcessMyTrades постоянно, таблица часто видимо изменяется по полю Прибыль/убыток. Судя по ковыряниям в коде имеет смысл добавить вызов события типо RaiseNewMyTrades в BaseTrader класс. Поскольку хелпер метода типо GetMyTrade нет, то работа ведется через AddMyTrade, а в нем собственно нет ничего похожего на RaiseNewMyTrades. Ну поскольку код рефлектором смотрел, разобраться в том, что получилось не очень удалось. Приходится надеяться на вас Разработчиков. здоровья вам и терпения :).  В общем и целом можно не использовать MyTrades как класс и довольствоваться работой с OrderChanged, и считать что, при исполнении ордера сделка свершилась. Но хотелось мне продублировать одно другим. Да и вообще обидно, код есть а не работает. Печалька.[crying]
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Sergey Masyura 
 
   
 
						
						
					 | Date: 1/18/2012 
						
							|  |  |  |   |  
 
 
	
			ra81 Добавил код во враппер и собрал либу. Запустил и проверил. Code
case _myTradesTable:
    ProcessMyTrades.SafeInvoke((string)data);
    break; но событие таки не вызывается. В Лог начало падать событие OnProcessMyTrades постоянно, таблица часто видимо изменяется по полю Прибыль/убыток. Судя по ковыряниям в коде имеет смысл добавить вызов события типо RaiseNewMyTrades в BaseTrader класс. Поскольку хелпер метода типо GetMyTrade нет, то работа ведется через AddMyTrade, а в нем собственно нет ничего похожего на RaiseNewMyTrades. Ну поскольку код рефлектором смотрел, разобраться в том, что получилось не очень удалось. Приходится надеяться на вас Разработчиков. здоровья вам и терпения :).  В общем и целом можно не использовать MyTrades как класс и довольствоваться работой с OrderChanged, и считать что, при исполнении ордера сделка свершилась. Но хотелось мне продублировать одно другим. Да и вообще обидно, код есть а не работает. Печалька.[crying] Да, надо бы поправить. В BaseTrader из AddMyTrade вызывается RaiseNewMyTrades для новых сделок.
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| ra81 
 
   
 
						
						
					 | Date: 1/18/2012 
 
 
	
			Sergey Masyura Да, надо бы поправить. В BaseTrader из AddMyTrade вызывается RaiseNewMyTrades для новых сделок.
 Да нашел, через приватный метод. Вызывается в этом методе. Но видимо не вызывается таки. Уж не знаю как. Проверить сам не могу к сожалению. Событие в конце концов не приходит, подписывайся или не подписывайся. Обработка MyTrades таблицы у меня поехала, а событие фиг. ВАЖНЫЙ момент: сделки я совершаю руками в терминале а не из кода. По идее библиотека должна брать данные из терминала и отрабатывать по ним.
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| ra81 
 
   
 
						
						
					 | Date: 1/19/2012 
 
 
	
			При создании ордеров через код событие NewMyTrade начинает вызываться. Но при условии что я использую свою либу которую правил.Правку выше я писал.
 Опять же возникает вопрос - почему только при создании из кода?? Почему когда руками в терминале создаю событие не вызвается.
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Sergey Masyura 
 
   
 
						
						
					 | Date: 1/19/2012 
						
							|  |  |  |   |  
 
 
	
			ra81 При создании ордеров через код событие NewMyTrade начинает вызываться. Но при условии что я использую свою либу которую правил.Правку выше я писал.
 Опять же возникает вопрос - почему только при создании из кода?? Почему когда руками в терминале создаю событие не вызвается.
 MyTrade должна соотвествовать ордеру, ордер - который отправлен из терминала коннектор пропускает, т.к. использует комментарий чтобы определить transaction id. Можно было бы и эти ордера подхватывать, но альфа когда присылает апдейт о новом ордере (отправленным через Stock#) сперва показывает ордер без комментария, а потом уже присылает этот же ордер с комментарием. Соответственно, нет возможности различить откуда ордер - если ордер без комента пустить внутрь, то тогда все strategy rules для ордеров перестанут работ и нарушится целостность ссылок на ордера.. Все это выше к тому, что на все есть свои причины. По поводу пропущенной обработки MyTrades - это бага, в чем причина и как исправить я писал (исправить, а точнее проверить, пока нет возможности - кормлю лосей на все ГО)
			
			
			
			
		
 | 
			
				|  |  | 
			
				|  | 
		
			| 
 | 
		
			
				| ra81 
 
   
 
						
						
					 | Date: 1/19/2012 
						
							|  |  |  |   |  
 
 
	
			Sergey Masyura 
 MyTrade должна соотвествовать ордеру, ордер - который отправлен из терминала коннектор пропускает, т.к. использует комментарий чтобы определить transaction id. Можно было бы и эти ордера подхватывать, но альфа когда присылает апдейт о новом ордере (отправленным через Stock#) сперва показывает ордер без комментария, а потом уже присылает этот же ордер с комментарием. Соответственно, нет возможности различить откуда ордер - если ордер без комента пустить внутрь, то тогда все strategy rules для ордеров перестанут работ и нарушится целостность ссылок на ордера.. Все это выше к тому, что на все есть свои причины.
 
 По поводу пропущенной обработки MyTrades - это бага
 Ну вот спасибо за пояснение насчет - почему только ордера отправленные из кода. Я собственно и хотел узнать причину такой схемы. Понимал что где-то здесь собака порылась. А MyTrades как я уже писал заработала у меня. Либу я поправил и собрал. Подключил к проекту все заработало. Там такая же была беда поначалу когда я руками создавал заявки из терминала. Событие NewMyTrades не вызывалось. Щас фишка понята и все работает. Quote:исправить, а точнее проверить, пока нет возможности - кормлю лосей на все ГО Это вы не совсем верно. Нафиг их кормить пусть дохнут с голода. Или лучше отдать их соседу.
			
			
			
			
		
 | 
			
				|  |  | 
			
				|  | 
		
			| 
 | 
		
			
				| Sergey Masyura 
 
   
 
						
						
					 | Date: 1/19/2012 
						
							|  |  |  |   |  
 
 
	
			ra81 Sergey Masyura 
 MyTrade должна соотвествовать ордеру, ордер - который отправлен из терминала коннектор пропускает, т.к. использует комментарий чтобы определить transaction id. Можно было бы и эти ордера подхватывать, но альфа когда присылает апдейт о новом ордере (отправленным через Stock#) сперва показывает ордер без комментария, а потом уже присылает этот же ордер с комментарием. Соответственно, нет возможности различить откуда ордер - если ордер без комента пустить внутрь, то тогда все strategy rules для ордеров перестанут работ и нарушится целостность ссылок на ордера.. Все это выше к тому, что на все есть свои причины.
 
 По поводу пропущенной обработки MyTrades - это бага
 Ну вот спасибо за пояснение насчет - почему только ордера отправленные из кода. Я собственно и хотел узнать причину такой схемы. Понимал что где-то здесь собака порылась. А MyTrades как я уже писал заработала у меня. Либу я поправил и собрал. Подключил к проекту все заработало. Там такая же была беда поначалу когда я руками создавал заявки из терминала. Событие NewMyTrades не вызывалось. Щас фишка понята и все работает. Quote:исправить, а точнее проверить, пока нет возможности - кормлю лосей на все ГО Это вы не совсем верно. Нафиг их кормить пусть дохнут с голода. Или лучше отдать их соседу. Есть права записи на codeplex? Скиньте логин, добавлю в котрибьюторы. Добавил фикс, который описали выше, про который я написал в предыдущем топике - событие приходит, но надо посмотреть успевает ли прийти информация об ордере до того, как придет событие о сделке )
			
			
			
			
		
 | 
			
				|  | 
	
		| Thanks: |   |  | 
			
				|  |