BatchStrategy
Atom Ответить
16.12.2010


Всем привет! Ребят, кому не жалко, выложите пример как правильно организовать BatchStrategy с дочерними тэкпроф и стоплос. В описании ничего не понятно, а примеры все на студии 2010. У меня 2008

Теги:


Спасибо:




21 Ответов
ltrim

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


Я не пойму чего то! Я делаю базовую стратегию Strategy.
Делаю дочерню MarketQuotingStrategy чтобы она исполнила мой ордер как только ордер исполняется появляются MyTrades, соответсвенно я из перехватываю и делаю:
Код
Ecng.Trading.Algo.Strategies.TakeProfitStrategy(MyTrade, New Ecng.Trading.BusinessEntities.Unit(2))
и
Ecng.Trading.Algo.Strategies.StopLossStrategy(MyTrade, New Ecng.Trading.BusinessEntities.Unit(2))


и вот что мне возвращает лог Strategy

Стратегия запущена. SSP
Стратегия запущена. MQS
Цена текущей 106,8 и лучшей 109,8. MQS
Котирование заявки 76330095 на Buy с ценой 106,8 объемом 1. MQS
Перекотирование зарегистрировано для заявки 76330097 на Buy с ценой 109,8 объемом 1. MQS
Стратегия запущена. BS
Стратегия запущена. BS
Стратегия запущена. TPS
Стратегия запущена. TPS
Стратегия запущена. SLS
Стратегия запущена. SLS
Заканчиваем котирование с неисполненным объемом равный 0 контрактов. MQS
Стратегия останавливается. MQS
Котирование отменяет заявку 76330097. MQS
Стратегия остановлена. MQS

и все! И больше ничего не происходит! Даже если в стакане все меняется. Блин я уже запарился.
Автор топика
Спасибо:

ltrim

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


Да кстати версия S# 2.6.1.0
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Всем привет! Ребят, кому не жалко, выложите пример как правильно организовать BatchStrategy с дочерними тэкпроф и стоплос. В описании ничего не понятно, а примеры все на студии 2010. У меня 2008


Есть stocksharp.sln (это для VS 2010) и stocksharp_2008.sln (это для VS 2008).
Спасибо:

Mikhail Sukhov

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


ltrim

и все! И больше ничего не происходит! Даже если в стакане все меняется. Блин я уже запарился.


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

ltrim

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


Mikhail Sukhov
ltrim

и все! И больше ничего не происходит! Даже если в стакане все меняется. Блин я уже запарился.


Не совсем понял, что и как делаете, плюс какой результат ожидается.


Давайте так. Я делаю заявку. Ожидаю, что по ее исполнению я зарегистрирую стратегию BatchStrategy и дочерние TakepropitStrategy и StopLossStrategy на каждую Mytrade по исполненной заявке. И если вдруг текущая цена инструмента уйдет от цены MyTrade на указанный размер, то срабатывает TakepropitStrategy или StopLossStrategy. Я правильно предполагаю?
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Mikhail Sukhov
ltrim

и все! И больше ничего не происходит! Даже если в стакане все меняется. Блин я уже запарился.


Не совсем понял, что и как делаете, плюс какой результат ожидается.


Давайте так. Я делаю заявку. Ожидаю, что по ее исполнению я зарегистрирую стратегию BatchStrategy и дочерние TakepropitStrategy и StopLossStrategy на каждую Mytrade по исполненной заявке. И если вдруг текущая цена инструмента уйдет от цены MyTrade на указанный размер, то срабатывает TakepropitStrategy или StopLossStrategy. Я правильно предполагаю?


MarketQuotingStrategy где используется в этом схеме?
Спасибо:

ltrim

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


Я сейчас не возле компа с проетом. Но суть такая: В дочерние стратегии базового класса Strategy добавляю инициированный MarketQuotingStrategy, потом делаю MyStrategy.RegisterOrder(Order).
Лог говорит, что MarketQuotingStrategy отрабатывает нормально, заявка исполняется, срабатывает событие при появлении новых MyTrade. Там я создаю BatchStrategy добавляю дочерние стратегии TakeProfitStrategy и StopLimitStrategy указаываю все как положено. Лог говорит стратегии запущены но они дальше не работают, то есть ничего не происходит
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Я сейчас не возле компа с проетом. Но суть такая: В дочерние стратегии базового класса Strategy добавляю инициированный MarketQuotingStrategy, потом делаю MyStrategy.RegisterOrder(Order).
Лог говорит, что MarketQuotingStrategy отрабатывает нормально, заявка исполняется, срабатывает событие при появлении новых MyTrade. Там я создаю BatchStrategy добавляю дочерние стратегии TakeProfitStrategy и StopLimitStrategy указаываю все как положено. Лог говорит стратегии запущены но они дальше не работают, то есть ничего не происходит


А код можете привести, как именно создаете BatchStrategy и ее заполняете? Я правильно понял, что эту стратегию создаете в обработчике Strategy.NewMyTrades?
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim
Я сейчас не возле компа с проетом. Но суть такая: В дочерние стратегии базового класса Strategy добавляю инициированный MarketQuotingStrategy, потом делаю MyStrategy.RegisterOrder(Order).
Лог говорит, что MarketQuotingStrategy отрабатывает нормально, заявка исполняется, срабатывает событие при появлении новых MyTrade. Там я создаю BatchStrategy добавляю дочерние стратегии TakeProfitStrategy и StopLimitStrategy указаываю все как положено. Лог говорит стратегии запущены но они дальше не работают, то есть ничего не происходит


А код можете привести, как именно создаете BatchStrategy и ее заполняете? Я правильно понял, что эту стратегию создаете в обработчике Strategy.NewMyTrades?


Да, точно так!

Код
Public Sub NewMyTrades(ByVal obj as ... MyTrades)
Dim Trade as MyTrade
Dim BaseBathStrategy as New BatchStrategy(all)
BaseBathStrategy.IsParalel = True
For each Trade In obj
Dim Bath as New BatchStrategy(First)
Dim Tkprf as TakeProfitStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Tkprf.IsParalell = True
Dim Stplm as StopLossStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Stplm.IsParalell = True
Bath.ChildStrategys.Add(Tkprf)
Bath.ChildStrategys.Add(Stplm)
Next
BaseBathStrategy.ChildStrategys.Add(Bath)
End sub
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim

Да, точно так!

Код
Public Sub NewMyTrades(ByVal obj as ... MyTrades)
Dim Trade as MyTrade
Dim BaseBathStrategy as New BatchStrategy(all)
BaseBathStrategy.IsParalel = True
For each Trade In obj
Dim Bath as New BatchStrategy(First)
Dim Tkprf as TakeProfitStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Tkprf.IsParalell = True
Dim Stplm as StopLossStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Stplm.IsParalell = True
Bath.ChildStrategys.Add(Tkprf)
Bath.ChildStrategys.Add(Stplm)
Next
BaseBathStrategy.ChildStrategys.Add(Bath)
End sub


А саму то BaseBathStrategy куда нибудь добавляли? Подозреваю что забыли в конце добавить Me.ChildStrategys.Add(BaseBathStrategy)
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim

Да, точно так!

Код
Public Sub NewMyTrades(ByVal obj as ... MyTrades)
Dim Trade as MyTrade
Dim BaseBathStrategy as New BatchStrategy(all)
BaseBathStrategy.IsParalel = True
For each Trade In obj
Dim Bath as New BatchStrategy(First)
Dim Tkprf as TakeProfitStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Tkprf.IsParalell = True
Dim Stplm as StopLossStrategy(Trade, New Ecng.Trading.BusinessEntities.Unit(2))
Stplm.IsParalell = True
Bath.ChildStrategys.Add(Tkprf)
Bath.ChildStrategys.Add(Stplm)
Next
BaseBathStrategy.ChildStrategys.Add(Bath)
End sub


А саму то BaseBathStrategy куда нибудь добавляли? Подозреваю что забыли в конце добавить Me.ChildStrategys.Add(BaseBathStrategy)


И Добавлял и не добавлял. Просто лог пишет - Стратегия запущена и все. Если есть возможность выложите сюда реализацию класса базового Strategys c реализацией BathStrategy. По примеру я уже допру логически. Дело в том что я примеры не могу открыть они на 2010 студии. У меня 2008 студия.
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
И Добавлял и не добавлял.


Если Вы не добавите, ничего работать не будет.

ltrim

Просто лог пишет - Стратегия запущена и все. Если есть возможность выложите сюда реализацию класса базового Strategys c реализацией BathStrategy. По примеру я уже допру логически. Дело в том что я примеры не могу открыть они на 2010 студии. У меня 2008 студия.


https://stocksharp.ru/posts/m/5058/ А пример был в документации (я так же делал, проверял, работает). + https://stocksharp.ru/forum/1270/ тем же самым занимались.
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim
И Добавлял и не добавлял.


Если Вы не добавите, ничего работать не будет.

ltrim

Просто лог пишет - Стратегия запущена и все. Если есть возможность выложите сюда реализацию класса базового Strategys c реализацией BathStrategy. По примеру я уже допру логически. Дело в том что я примеры не могу открыть они на 2010 студии. У меня 2008 студия.


https://stocksharp.ru/posts/m/5058/ А пример был в документации (я так же делал, проверял, работает). + https://stocksharp.ru/forum/1270/ тем же самым занимались.


Ок, спасибо! Я не видел примера для 2008-й, дома приеду снова погляжу. Я вот чего хотел спросить! Стратегия TakeProfitStrategy или StopLossStrategy выставит заявку защитную тогда когда наступит событие допустим цена удет больше чем можно или сразу после регистрации стратегии?
Автор топика
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim
Всем привет! Ребят, кому не жалко, выложите пример как правильно организовать BatchStrategy с дочерними тэкпроф и стоплос. В описании ничего не понятно, а примеры все на студии 2010. У меня 2008


Есть stocksharp.sln (это для VS 2010) и stocksharp_2008.sln (это для VS 2008).


stocksharp_2008 так же не открывается. Пишет, что то типа ошибка чтения. В общем у меня ни один проект не открылся. Поэтому моя просьба остается в силе.
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Mikhail Sukhov
ltrim
Всем привет! Ребят, кому не жалко, выложите пример как правильно организовать BatchStrategy с дочерними тэкпроф и стоплос. В описании ничего не понятно, а примеры все на студии 2010. У меня 2008


Есть stocksharp.sln (это для VS 2010) и stocksharp_2008.sln (это для VS 2008).


stocksharp_2008 так же не открывается. Пишет, что то типа ошибка чтения. В общем у меня ни один проект не открылся. Поэтому моя просьба остается в силе.


У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim
Mikhail Sukhov
ltrim
Всем привет! Ребят, кому не жалко, выложите пример как правильно организовать BatchStrategy с дочерними тэкпроф и стоплос. В описании ничего не понятно, а примеры все на студии 2010. У меня 2008


Есть stocksharp.sln (это для VS 2010) и stocksharp_2008.sln (это для VS 2008).


stocksharp_2008 так же не открывается. Пишет, что то типа ошибка чтения. В общем у меня ни один проект не открылся. Поэтому моя просьба остается в силе.


У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.


Михаил, у Вас открывается проект скорее всего потому, что на одной машине стоит и 2010 и 2008 студии.
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Mikhail Sukhov
У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.


Михаил, у Вас открывается проект скорее всего потому, что на одной машине стоит и 2010 и 2008 студии.


Это как то влияет на VS 2008?
Спасибо:

ltrim

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


Mikhail Sukhov
ltrim
Mikhail Sukhov
У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.


Михаил, у Вас открывается проект скорее всего потому, что на одной машине стоит и 2010 и 2008 студии.


Это как то влияет на VS 2008?


Добрый день. У меня существует проблема, о которой я рассказал 3 дня и несколько сообщений назад. У меня не открывается ни один проект stocksharp. Любой другой проект скачанный с нета, открывается нормально. Я просто попросил выложить код реализации BatchStrategy на форум. Михаил, может у меня не работает что то я ничего не утверждаю, но если Вам так сложно выложить сюда код реализации BatchStrategy Вы так и скажите, не нужно задавать вопросы кто на что влияет. Спасибо.
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Mikhail Sukhov
ltrim
Mikhail Sukhov
У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.


Михаил, у Вас открывается проект скорее всего потому, что на одной машине стоит и 2010 и 2008 студии.


Это как то влияет на VS 2008?


Добрый день. У меня существует проблема, о которой я рассказал 3 дня и несколько сообщений назад. У меня не открывается ни один проект stocksharp. Любой другой проект скачанный с нета, открывается нормально. Я просто попросил выложить код реализации BatchStrategy на форум. Михаил, может у меня не работает что то я ничего не утверждаю, но если Вам так сложно выложить сюда код реализации BatchStrategy Вы так и скажите, не нужно задавать вопросы кто на что влияет. Спасибо.


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

ltrim

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


Mikhail Sukhov
ltrim
Mikhail Sukhov
ltrim
Mikhail Sukhov
У меня и открылось и скомпилировалось и запустилось. Открывал sln дабл кликом по файлу.


Михаил, у Вас открывается проект скорее всего потому, что на одной машине стоит и 2010 и 2008 студии.


Это как то влияет на VS 2008?


Добрый день. У меня существует проблема, о которой я рассказал 3 дня и несколько сообщений назад. У меня не открывается ни один проект stocksharp. Любой другой проект скачанный с нета, открывается нормально. Я просто попросил выложить код реализации BatchStrategy на форум. Михаил, может у меня не работает что то я ничего не утверждаю, но если Вам так сложно выложить сюда код реализации BatchStrategy Вы так и скажите, не нужно задавать вопросы кто на что влияет. Спасибо.


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


Дак я же Вам ответил, что я и добавлял в базовую стратегию и тестировал и не добавлял и результат один и тот же.
Автор топика
Спасибо:

Mikhail Sukhov

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


ltrim
Дак я же Вам ответил, что я и добавлял в базовую стратегию и тестировал и не добавлял и результат один и тот же.


Вы можете привести финальную версию кода?
Спасибо:


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

loading
clippy