Побайндился со Strategy.Orders
Atom Ответить
19.10.2010


Заявки выставляю через Strategy.RegisterOrder..
Почему-то в UI попадают не все заявки.

Ecng.Collections.SynchronizedList все необходимые эвенты о своем изменении шлет? и на регулярной основе? :-)

Теги:


Спасибо:




6 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.10.2010
Ответить


Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.
Спасибо:

sergun

Фотография
Дата: 19.10.2010
Ответить


Mikhail Sukhov
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.10.2010
Ответить


sergun
Mikhail Sukhov
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.

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


Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.
Спасибо:

sergun

Фотография
Дата: 21.10.2010
Ответить


Mikhail Sukhov
sergun
Mikhail Sukhov
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.

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


Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.


Ясно. спасибо! т.е. наш путь - это обработчики событий :-)

А все-таки что такое Ecng.Collections.SynchronizedList, может в нем что полезное есть на будущее? Или это просто thread-safe List<T>?
Автор топика
Спасибо:

sergun

Фотография
Дата: 26.10.2010
Ответить


Mikhail Sukhov
sergun
Mikhail Sukhov
Байдинг корректно работает только в своем потоке - ГУИ. А Заявки в Strategy.Orders создаются из разных потоков. Поэтому и проблемы.

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


Не, байдинг кушает такие исключения. Сам напоролся, когда на знал, почему некоторые значения в таблице не обновляются.


Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.10.2010
Ответить


sergun
Кстати, Михаил, не хотите сделать свойства Orders и Trades типа ObservableCollection или чем-то подобным, поддерживающим нотификацию об изменении коллекции?


ObservableCollection не thread safe, а нужно такое. Даже если я сделаю коллекцию с нотификациями, все равно нужно производить UI маршалинг через GuiSync. И смысл отпадет от такой коллекции, потому что уже есть подобные события у самой стратегии.
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy