Mikhail Sukhov
|
Дата: 28.03.2011
poilka  Стратегия нормально запускается и останавливается из GUI примера SampleSMA, лог пишется, но сделок не происходит на любом таймфрейме.
Точка останова, дебаггер и вперед.
|
|
|
|
poilka
|
Дата: 28.03.2011
Спасибо, буду ковыряться.
|
Автор топика
|
|
|
poilka
|
Дата: 28.03.2011
Попробовал и с конструктором, и без - говорит, что не может получить значение _candleBounds. Хотя _candleManager на месте, и на остальные поля не ругается. Вот такой неуспех.
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 28.03.2011
poilka  Попробовал и с конструктором, и без - говорит, что не может получить значение _candleBounds. Хотя _candleManager на месте, и на остальные поля не ругается.
Потому что там лямбда выражение стоит. Прочитайте, как эта вещь работает. И бряку ставьте во внутрь.
|
|
|
|
poilka
|
Дата: 28.03.2011
Ай, сильно не хотелось в лямбды лезть, теперь придется. Спасибо, пойду подтягивать матчасть.
|
Автор топика
|
|
|
Roman0
|
Дата: 25.04.2011
Чтобы не плодить сущности напишу здесь ) Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию? Хотелось бы воспользоваться преимуществами оформления кода с виде Strategy, но не очень нравится исполнение по времени.
PS Только начал разбираться, извините, если что пропустил.
|
|
|
|
Mikhail Sukhov
|
Дата: 25.04.2011
Roman0  Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию? Не итерацию, а действие. Так же, как и выше написал, через событийную модель.
|
|
|
|
Roman0
|
Дата: 25.04.2011
Mikhail Sukhov  Roman0  Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию? Не итерацию, а действие. Так же, как и выше написал, через событийную модель. Я правильно понял, что условие в When проверяется с периодичностью Strategy.Interval? Если нет, то каков смысл MakePeriodical? Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -> очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!
|
|
|
|
Mikhail Sukhov
|
Дата: 26.04.2011
|
|
|
|
Roman0  Mikhail Sukhov  Roman0  Есть ли вообще возможность запускать очередную итерацию стратегии не периодически, а именно по событию? Не итерацию, а действие. Так же, как и выше написал, через событийную модель. Я правильно понял, что условие в When проверяется с периодичностью Strategy.Interval? Если нет, то каков смысл MakePeriodical? Quote:Сделать действие периодичным (будет вызвано более одного раза). Roman0  Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -> очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!
Через ActionStrategy и добавления событий... Вопрос уже содержит ответ. Или я видимо что-то не понимаю в вопросе, или вы не до конца мысль расписываете. Как предложение, попробуйте написать практический пример с событиями.
|
|
|
|
Roman0
|
Дата: 26.04.2011
|
|
|
|
Большое спасибо за ответ! Mikhail Sukhov  Roman0  каков смысл MakePeriodical? Сделать действие периодичным ( будет вызвано более одного раза). Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие? Mikhail Sukhov  Roman0  Вопрос такой: можно ли запускать код внутри стратегии по событию? Т.е. пришли новые данные -> очередная проверка условия. Вроде бы это можно сделать запуская всю стратегию (ActionStrategy.Start) по событию без MakePeriodical? Если все это можно сделать как-то еще, то пожалуйста, расскажите как. Как я уже писал, хотелось бы использовать преимущества стратегий. Большое спасибо!
Через ActionStrategy и добавления событий... Вопрос уже содержит ответ. Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать? Mikhail Sukhov  Или я видимо что-то не понимаю в вопросе, или вы не до конца мысль расписываете.
Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) по событию (не периодически!) появления или изменения свечей используя Strategy и преимущества такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен )
|
|
|
|
Mikhail Sukhov
|
Дата: 26.04.2011
Roman0  Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие?
Если просто MakePeriodica(), то бесконечно. Если через перегруженный метод https://stocksharp.ru/do...Rule_MakePeriodical.htm Через то можно указывать критерий. Roman0  Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать? Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) по событию (не периодически!) появления или изменения свечей используя Strategy и преимущества такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен ) Мы опять вернулись к началу. Нужно использовать событийную модель. Как это сделать я показал в документации.
|
|
|
|
Roman0
|
Дата: 26.04.2011
|
|
|
|
Mikhail Sukhov  Roman0  Вопрос как\где контролируется с какой периодичностью (и сколько раз?) будет выполняться действие?
Если просто MakePeriodica(), то бесконечно. Если через перегруженный метод https://stocksharp.ru/do...Rule_MakePeriodical.htm Через то можно указывать критерий. Roman0  Дело в том, что нужно, чтобы условия проверялись не периодически, а по событию. Как это сделать? Вопрос очень прост: как выполнять вычисления по собственной стратегии (и в результате выставлять заявки, выдавать какие-то сообщения и т.п.) по событию (не периодически!) появления или изменения свечей используя Strategy и преимущества такого подхода (как это сделать без привлечения Strategy понятно)?. Такое возможно? Если кто-то напишет пример или даже без кода, но с названиями классов\методов опишет как это сделать буду очень благодарен ) Мы опять вернулись к началу. Нужно использовать событийную модель. Как это сделать я показал в документации. Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы!
|
|
|
|
Mikhail Sukhov
|
Дата: 26.04.2011
Roman0  Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы! У вас как с языком C#? Событийная модель построена на делегатах, Action и Func. Прочитайте что это такое и как используется. Я подозреваю, что вы просто подошли к задаче не с того конца.
|
|
|
|
Roman0
|
Дата: 27.04.2011
|
|
|
|
Mikhail Sukhov  Roman0  Проблема, для меня по крайней мере, в том, что в документации фрагменты кода, а работающего примера нет. Спасибо за ответы! У вас как с языком C#? Событийная модель построена на делегатах, Action и Func. Прочитайте что это такое и как используется. Я подозреваю, что вы просто подошли к задаче не с того конца. Я недавно начал разбираться со всем этим и вроде бы более менее разобрался, по крайней мере с Action и Func  (прямо из закладок ссылки, может кому будет интересно http://msdn.microsoft.com/ru-ru/library/dd460699
http://msdn.microsoft.com/ru-ru/library/ms173171(v=VS.90).aspx http://msdn.microsoft.com/ru-ru/library/bb397687(v=VS.90).aspx Все-таки было бы очень желательно, чтобы такие ключевые вещи имели более подробные объяснения (см. например https://stocksharp.ru/forum/1287/ и https://stocksharp.ru/fo...stota-provierki-1-siek/ ) и рабочие примеры с разнообразными вариантами применения. А уж с какой целью "делать событие периодичным" ( https://stocksharp.ru/do...0-aba8-0d4b93dea60e.htm ) и что и как конкретно делает MakePeriodical (про собственно период до сих пор ничего не известно  ) из описания малопонятно. Я подозреваю, что там все просто и логично, но из документации это сразу понять для начинающего все-таки сложновато (не претендую на суперсообразительность  ). UPD Еще добавлю для ясности: я не использую импорт из таблицы всех сделок и CandleManager для формирования свечей. И вот эти два замечания несколько меня дезориентировали: ustasТак всё таки проверка выполнения условия When в ActionStrategy - происходит ежесекундно , а не по событию? Mikhail SukhovДа, ActionStrategy с некоторым периодом смотрит на появления сигналов от условий. Уменьшать такой период можно через Strategy.Interval.
Mikhail SukhovActionToken - это структура, которая содержит условие и действие. ActionStrategy проверяет (периодически?) коллекцию таких токенов путем вызова условия
Было бы хорошо, если бы механизм работы стратегии, в частности по обработке зарегистрированных условий, был бы где-то четко описан. Наверное для старожилов все уже с этим ясно, но ведь появляются и новички
|
|
|