Sync
Atom
9/5/2013
Buratino


Почему возникает ошибка при компиляции (до этого красным ничего не подчёркивается), когда я добавляю к правилу .Sync(_locker) инициализированный как
Code
private readonly SyncObject _locker = new SyncObject();


А в итоге:
Error 1 The type 'Wintellect.PowerCollections.CollectionBase`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'PowerCollections, Version=1.0.2224.30206, Culture=neutral, PublicKeyToken=8d05ee679e87a45f'.



Thanks:


1 2 3  >
IvanB

Avatar
Date: 9/6/2013
Reply


Buratino
Почему возникает ошибка при компиляции (до этого красным ничего не подчёркивается), когда я добавляю к правилу .Sync(_locker) инициализированный как
Code
private readonly SyncObject _locker = new SyncObject();


А в итоге:
Error 1 The type 'Wintellect.PowerCollections.CollectionBase`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'PowerCollections, Version=1.0.2224.30206, Culture=neutral, PublicKeyToken=8d05ee679e87a45f'.


Вероятнее всего, в Вашем проекте отсутствует сборка PowerCollections.dll, добавьте ее в раздел References.
Thanks:

Buratino

Avatar
Date: 9/6/2013
Reply


IvanB
Buratino
Почему возникает ошибка при компиляции (до этого красным ничего не подчёркивается), когда я добавляю к правилу .Sync(_locker) инициализированный как
Code
private readonly SyncObject _locker = new SyncObject();


А в итоге:
Error 1 The type 'Wintellect.PowerCollections.CollectionBase`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'PowerCollections, Version=1.0.2224.30206, Culture=neutral, PublicKeyToken=8d05ee679e87a45f'.


Вероятнее всего, в Вашем проекте отсутствует сборка PowerCollections.dll, добавьте ее в раздел References.


Не слышал раньше про неё, в уроках вроде бы синхронизация без неё была.
А что-то надо добавлять в using? Типа Wintellect.PowerCollections.CollectionBase или StockSharp.PowerCollections.CollectionBase. Всё равно проблема осталась.
power.jpg 197 KB (252)
Thanks:

IvanB

Avatar
Date: 9/6/2013
Reply


Buratino
IvanB
Buratino
Почему возникает ошибка при компиляции (до этого красным ничего не подчёркивается), когда я добавляю к правилу .Sync(_locker) инициализированный как
Code
private readonly SyncObject _locker = new SyncObject();


А в итоге:
Error 1 The type 'Wintellect.PowerCollections.CollectionBase`1<T0>' is defined in an assembly that is not referenced. You must add a reference to assembly 'PowerCollections, Version=1.0.2224.30206, Culture=neutral, PublicKeyToken=8d05ee679e87a45f'.


Вероятнее всего, в Вашем проекте отсутствует сборка PowerCollections.dll, добавьте ее в раздел References.


Не слышал раньше про неё, в уроках вроде бы синхронизация без неё была.
А что-то надо добавлять в using? Типа Wintellect.PowerCollections.CollectionBase или StockSharp.PowerCollections.CollectionBase. Всё равно проблема осталась.


В данном случае надо добавить пространство имен Wintellect.PowerCollections (using ...)
Если проблема осталась, то пришлите проект со всем библиотеками, которые используете на почту iv_qul@list.ru.
Thanks:

Buratino

Avatar
Date: 9/7/2013
Reply


IvanB
[quote=Buratino;27318]
В данном случае надо добавить пространство имен Wintellect.PowerCollections (using ...)
Если проблема осталась, то пришлите проект со всем библиотеками, которые используете на почту iv_qul@list.ru.


В примере урока 6 такая библиотека вообще не подключена, но переменная SyncObject _mainlock используется. Может дело в сборке? Я делаю на базе 4.1.9, а там уже 4.1.16. Тогда это возвращает нас в тему обновления. Сегодня сделаете пример/шаблон, который бы позволял начинать писать робота не с реализации коннектора, а торговой логики? Я протестирую и отпишусь, вышлю солюшн, если и после обновления синхронизация будет выдавать ошибку.

Пока я использую блок lock (_locker){}. Можно ли его считать аналогом? У меня такое ощущение, что я его использую не к месту, т.к., например, заявки иногда идут дуплетом.
Thanks:

IvanB

Avatar
Date: 9/7/2013
Reply


Buratino
IvanB
[quote=Buratino;27318]
В данном случае надо добавить пространство имен Wintellect.PowerCollections (using ...)
Если проблема осталась, то пришлите проект со всем библиотеками, которые используете на почту iv_qul@list.ru.


В примере урока 6 такая библиотека вообще не подключена, но переменная SyncObject _mainlock используется. Может дело в сборке? Я делаю на базе 4.1.9, а там уже 4.1.16. Тогда это возвращает нас в тему обновления. Сегодня сделаете пример/шаблон, который бы позволял начинать писать робота не с реализации коннектора, а торговой логики? Я протестирую и отпишусь, вышлю солюшн, если и после обновления синхронизация будет выдавать ошибку.

Пока я использую блок lock (_locker){}. Можно ли его считать аналогом? У меня такое ощущение, что я его использую не к месту, т.к., например, заявки иногда идут дуплетом.

По большому счету, SyncObject не отличается от обычного object.
Обновление уроков на последнюю версию библиотеки S# будет переведено в течении текущих выходных дней, но следует заметить, что в этом случае видео не будет полностью соответствовать предоставляемым проектам.

Thanks:

Buratino

Avatar
Date: 9/7/2013
Reply


IvanB
Buratino
IvanB
[quote=Buratino;27318]
В данном случае надо добавить пространство имен Wintellect.PowerCollections (using ...)
Если проблема осталась, то пришлите проект со всем библиотеками, которые используете на почту iv_qul@list.ru.


В примере урока 6 такая библиотека вообще не подключена, но переменная SyncObject _mainlock используется. Может дело в сборке? Я делаю на базе 4.1.9, а там уже 4.1.16. Тогда это возвращает нас в тему обновления. Сегодня сделаете пример/шаблон, который бы позволял начинать писать робота не с реализации коннектора, а торговой логики? Я протестирую и отпишусь, вышлю солюшн, если и после обновления синхронизация будет выдавать ошибку.

Пока я использую блок lock (_locker){}. Можно ли его считать аналогом? У меня такое ощущение, что я его использую не к месту, т.к., например, заявки иногда идут дуплетом.

По большому счету, SyncObject не отличается от обычного object.
Обновление уроков на последнюю версию библиотеки S# будет переведено в течении текущих выходных дней, но следует заметить, что в этом случае видео не будет полностью соответствовать предоставляемым проектам.



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

IvanB

Avatar
Date: 9/8/2013
Reply


Buratino

Ну да, конечно. Его и не надо привязывать к урокам. Нужна именно заготовка для начала работы (без углубления на начальном этапе в особенности безопасного соединения), а не обучения.

В проектах уроков все есть. Разве что версия S# используется не последняя на данный момент.
Думаю, сделаем так, проекты уроков не будут изменяться, проекты оберток коннектора и их использование будут переведены на последнюю версию S# и опубликованы на сервере. Правильно?, Вам это подходит?

Thanks:

Buratino

Avatar
Date: 9/8/2013
Reply


IvanB
Buratino

Ну да, конечно. Его и не надо привязывать к урокам. Нужна именно заготовка для начала работы (без углубления на начальном этапе в особенности безопасного соединения), а не обучения.

В проектах уроков все есть. Разве что версия S# используется не последняя на данный момент.
Думаю, сделаем так, проекты уроков не будут изменяться, проекты оберток коннектора и их использование будут переведены на последнюю версию S# и опубликованы на сервере. Правильно?, Вам это подходит?



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

IvanB

Avatar
Date: 9/9/2013
Reply


Buratino
IvanB
Buratino

Ну да, конечно. Его и не надо привязывать к урокам. Нужна именно заготовка для начала работы (без углубления на начальном этапе в особенности безопасного соединения), а не обучения.

В проектах уроков все есть. Разве что версия S# используется не последняя на данный момент.
Думаю, сделаем так, проекты уроков не будут изменяться, проекты оберток коннектора и их использование будут переведены на последнюю версию S# и опубликованы на сервере. Правильно?, Вам это подходит?



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


Проект простой заготовки робота опубликован, путь:
$/StockSharp Lessons/StockSharp.Edu/Additional/SampleRobot
Thanks:

Buratino

Avatar
Date: 9/10/2013
Reply


Вопрос по обновлённой версии.

Насколько я вижу, теперь нельзя узнать, есть ли отправленные, но находящиеся ещё "в пути", заявки с помощью PendingOrders.Any(). Ок, заменим на Orders.Any(o => o.State != OrderStates.Pending). Но даже если и так, то статус у заявки продолжает оставаться Pending даже после того, как она наконец "пришла", т.е. зарегистрировалась либо failed.
Thanks:
1 2 3  >

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

loading
clippy