← Atrás

Куда пропали Дельта, Гама и т.д. в 4.0.4

Как теперь посчитать греки ?

раньше было : strategy.Security.Delta

теперь на такое пишет :

"StockSharp.BusinessEntities.Security" не содержит определения для "Delta" и не был найден метод расширения "Delta", принимающий тип "StockSharp.BusinessEntities.Security" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)

🤨 🤨 🤨

¿Le resultó útil este tema?

Compartir tema

Comentarios (37)

Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario

lesser
lesser Autor

Помоему разобрался сам :

Теперь надо делать : var bs = new BlackScholes(strategy.Security); del = bs.Delta(.....

Правильно ?

если да то вам надо поправить пример с дельтахеджем.

Mikhail Sukhov
Mikhail Sukhov

lesser: если да то вам надо поправить пример с дельтахеджем.

А что с ним не так?

lesser
lesser Autor

var delta = strategy.Security.Delta(strategy.Security.Volatility / 100m);

в 4.0.4 так не получается

lesser
lesser Autor

И вобше , я сдури ( начитавшись что пофиксили траблы со счетом позиций , а у меня на 4.0.3 иногда позиция стратегии почемуто не менялась , когда дочерняя стратегия делала трейд) решил поменять библиотеки стокшарп в своем роботе с 4.0.3 на 4.0.4, код не менял совсем , робот сдурел наслал стоько заявок что я потом пол часа из удалял из стаканов а они еще появлялись и появлялись.

Что ж вы там такое изменили , неужели можно так без предупреждений менять логику работы ?

Mikhail Sukhov
Mikhail Sukhov

lesser: Что ж вы там такое изменили , неужели можно так без предупреждений менять логику работы ?

Лог в студию.

lesser
lesser Autor

Ага , мне не до логов было , когда я увидел что творится .

Но в коде ничего не менял , только по новому греки пересчитывал через var bs...

Видно бага какая то серезная есть .

Мне сейчас своево робота вернуть бы к жизни, потом может снова на 4.0.4 попробую запустить , но все таки наверное дождусь следующей стабильной версии.

Alexander
Alexander

lesser: Ага , мне не до логов было , когда я увидел что творится .

Но в коде ничего не менял , только по новому греки пересчитывал через var bs...

Видно бага какая то серезная есть .

Мне сейчас своево робота вернуть бы к жизни, потом может снова на 4.0.4 попробую запустить , но все таки наверное дождусь следующей стабильной версии.

Так если не понятно что не работает, как мы это исправим к следующей версии? Вообще не понятно у нас ли проблема или у вас какая-то всплыла в логике...

Запустите без выставления заявок на реальном рынке

Mikhail Sukhov
Mikhail Sukhov

lesser: Мне сейчас своево робота вернуть бы к жизни, потом может снова на 4.0.4 попробую запустить , но все таки наверное дождусь следующей стабильной версии.

БШ работает, проверил по тестам. Думаю, проблема в логике робота. Уверен почти на 99%. Слишком уж симптомы знакомы. Так что ждать придется по всей видимости долго.😎

lesser
lesser Autor

Спорить не буду , может и у меня , будет время разберусть ,

подозрительно что на 4.0.3 работает на 4.0.4 сразу загинается ,

а вот вспомнил еще такое :

может туда стоит посмотреть , из за баги о которой я говорил раньше я подменялял на опционах:

strategy.Security.UnderlyingSecurityId = "UXZ1@UX";

в коде с 4.0.4 я это убрал , так как сказали что баг нашли и исправили, завтра попробую с библиотеками 4.0.4 но подмену оставлю, мож там проблема и не нужно будет логирование включать :)

lesser
lesser Autor

Еще вот бага в 4.0.4

Ошибка 1 Не удалось загрузить метаданные для сборки "StockSharp.Xaml". Возможно, эта сборка была загружена из Интернета. См. http://go.microsoft.com/fwlink/?LinkId=179545. При загрузке возникли следующие ошибки: Невозможно загрузить файл или сборку "StockSharp.Xaml, Version=4.0.4.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)

4.0.3 беру там нормально .

Alexander
Alexander

lesser: Еще вот бага в 4.0.4

Ошибка 1 Не удалось загрузить метаданные для сборки "StockSharp.Xaml". Возможно, эта сборка была загружена из Интернета. См. http://go.microsoft.com/fwlink/?LinkId=179545. При загрузке возникли следующие ошибки: Невозможно загрузить файл или сборку "StockSharp.Xaml, Version=4.0.4.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)

4.0.3 беру там нормально .

Где ругается? На чём ругается? Какой стэк трэйс?

Давайте постараемся более информативные баг репорты составлять.

lesser
lesser Autor

Удаляю из ссылок StockSharp.Xaml.dll 4.0.3 вместо него подгружаю StockSharp.Xaml.dll 4.0.4 и вижу вот такую картинку:

Mikhail Sukhov
Mikhail Sukhov

lesser: Удаляю из ссылок StockSharp.Xaml.dll 4.0.3 вместо него подгружаю StockSharp.Xaml.dll 4.0.4 и вижу вот такую картинку:

Знакомая картинка. Это не из-за S#. Windows скаченным файлам из интернета какой-то атрибут безопасности добавляет, что потом дизайнер Студии их не может показать. Собственно, ошибка об этом и гласит.

lesser
lesser Autor

Да , действительно , распаковал архивчик с стокшарпом через тотал коммандер а не через винду и проблема решилась , спасибо , звиняйте за беспокойство.

lesser
lesser Autor

Начал понемногу разбиратся в проблеме с моим кодом при переходе с 4.0.3 на 4.0.4 :

Такое впечатление что не правильно срабативают правила стратегии :

Strategy.Security.LastTradePriceLessAbsolute(Price) или Strategy.Security.LastTradePriceMoreAbsolute(Price)

пока не знаю как разобратся какое из правил сработало.

Если можно проверьте , пожалуйста.

Alexander
Alexander

lesser: Начал понемногу разбиратся в проблеме с моим кодом при переходе с 4.0.3 на 4.0.4 :

Такое впечатление что не правильно срабативают правила стратегии :

Strategy.Security.LastTradePriceLessAbsolute(Price) или Strategy.Security.LastTradePriceMoreAbsolute(Price)

пока не знаю как разобратся какое из правил сработало.

Если можно проверьте , пожалуйста.

а какая проблема с кодом? и что конкретно мы должны проверить? :)

lesser
lesser Autor

Ок, давайте по порядку , в стратегии есть два правила , которые при срабатывании собитий:

Strategy.Security.LastTradePriceLessAbsolute(Price1)

и

Strategy.Security.LastTradePriceMoreAbsolute(Price2)

запускают одну и ту же процедуру :

так вот :

Цена находится посредине между Price1 и Price2, диапазон от Price1 до Price2 - большой , а даная процедура постоянно срабатывает.

Alexander
Alexander

lesser: Ок, давайте по порядку , в стратегии есть два правила , которые при срабатывании собитий:

Strategy.Security.LastTradePriceLessAbsolute(Price1)

и

Strategy.Security.LastTradePriceMoreAbsolute(Price2)

запускают одну и ту же процедуру :

так вот :

Цена находится посредине между Price1 и Price2, диапазон от Price1 до Price2 - большой , а даная процедура постоянно срабатывает.

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

lesser
lesser Autor

Тоесть вы уверены что LastTradePriceMoreAbsolute и ЛессАбсолюте в версии 4.0.4 отрабатывает корректно.

Alexander
Alexander

lesser: Тоесть вы уверены что LastTradePriceMoreAbsolute и ЛессАбсолюте в версии 4.0.4 отрабатывает корректно.

Посмотрел по коду - явных ошибок не вижу, с 4.0.3 изменений не было, жалоб - тоже. Я не уверен, потому и предлагаю сделать лог, где будет понятно хоть что-нибудь кроме как "кажется, что либо то, либо это работает как-то не так, как я ожидаю" :)

lesser
lesser Autor

Логирование у себя в коде еще не включал , пока даже не разбирался как.

Выяснил что срабатывает постоянно .LastTradePriceLessAbsolute(Price1) причем LastTrade.Price в то время намного выше Price1 .

Alexander
Alexander

lesser: Логирование у себя в коде еще не включал , пока даже не разбирался как.

Выяснил что срабатывает постоянно .LastTradePriceLessAbsolute(Price1) причем LastTrade.Price в то время намного выше Price1 .

  1. Распечатайте LastTrade.Price в момент создания правила
  2. Распечатайте LastTrade.Price в момент срабатывания правила
  3. Распечатайте Price1
lesser
lesser Autor

Пожалуйста.

lesser: Выяснил что срабатывает постоянно .LastTradePriceLessAbsolute(Price1) причем LastTrade.Price в то время намного выше Price1 .

Я сказал , будет время попробую разобраться.

А если б не такие как я вам бы армию тестеров нанимать нужно было б .

Так что давайте не будем , я просто сказал что есть проблема.

Alexander
Alexander

lesser: Пожалуйста.

lesser: Выяснил что срабатывает постоянно .LastTradePriceLessAbsolute(Price1) причем LastTrade.Price в то время намного выше Price1 .

Я сказал , будет время попробую разобраться.

А если б не такие как я вам бы армию тестеров нанимать нужно было .

Так что давайте не будем , я просто сказал что есть проблема.

пока я сам не разобрался в чем проблема скажите конкретно что надо исправить в том что вы написали Выяснил что срабатывает постоянно .LastTradePriceLessAbsolute(Price1) причем LastTrade.Price в то время намного выше Price1 . , чтобы всё заработало.

Смысла говорить что есть проблема нет, т.к. неизвестно где проблема - у нас, у вас или ещё где в сторонней библиотеки. Как вы предлагаете нам исправлять и что если вам что-то там чудится и кажется? Хотите исправлений - пишите конкретику.

Не нравится - пишите своё, пользуйтесь аналогами если найдёте.

Всё просто.

lesser
lesser Autor

Правило системы :

MainSystem.Rules.Add(MainSystem.Security.LastTradePriceLessAbsolute(Put_Edge).Do(ReStartTrade1));

на изображениях значения в момент срабатывания правила.

lesser
lesser Autor

LastTrade.Price в момент создания правила думаю не имеет значения так как правило

MainSystem.Rules.Add(MainSystem.Security.LastTradePriceLessAbsolute(Put_Edge).Do(ReStartTrade1));

должно срабатывать в момент когда цена станет меньше Put_Edge

Alexander
Alexander

Подтверждаю, в 4.0.5 будет фикс

lesser
lesser Autor

:( придется ждать 4.0.5

lesser
lesser Autor

М..да.

Чем дальше в лес тем больше дров.

Версия 4.0.5 : по дочерней стратегии проходят сделки , позиция основной стратегии вобше не меняется ...

это наверно тот фикс по позициям которий в 4.0.4 анонсировали.

Для меня пока что 4.0.3 самая рабочая версия 😳

esper
esper

lesser: М..да. Чем дальше в лес тем больше дров. Версия 4.0.5 : по дочерней стратегии проходят сделки , позиция основной стратегии вобше не меняется ... Давайте создавать более информативные багрепорты, из вашего описания абсолютно не понятно где может быть проблема. Можете предоставить логи где будет показана информация о выставленных/изменных заявках, совершенных сделках, изменении позиции?

Alexander
Alexander

lesser: М..да.

Чем дальше в лес тем больше дров.

Версия 4.0.5 : по дочерней стратегии проходят сделки , позиция основной стратегии вобше не меняется ...

это наверно тот фикс по позициям которий в 4.0.4 анонсировали.

Для меня пока что 4.0.3 самая рабочая версия 😳

Посмотрел по коду - все нужные события обрабатываются. Теперь ваша очередь предоставить лог.

Я правильно понимаю что используется Strategy.PositionManager? Portfolio используется обычный или BasketPortfolio?

Что нужно:

  • события NewOrder и OrderChanged у базовой и дочерних стратегий с выводом времени (с мс) прихода события
  • события PositionManager.PositionChanged у базовой и дочерних стратегий с выводом времени (с мс) прихода события, вывод значения позиции
lesser
lesser Autor

Пока не могу , логирование не включал и времени совсем нету , будет время попробую разобратся.

Mikhail Sukhov
Mikhail Sukhov

lesser: Пока не могу , логирование не включал и времени совсем нету , будет время попробую разобратся.

У нас его навалом. Так что не стесняйтесь, напрягайте нас, устраивайте угадайку.

lesser
lesser Autor

При чем тут угадайка.

Я вам говорил что есть проблема в 4.0.4 вы не верили , пока я сам не разобрался в чем проблема, но проблема все таки была не в моем коде на что вы намекали .

Теперь сказал что есть проблема в 4.0.5 , на 4.0.3 все работает нормально, хотите разбирайтесь сами , не хотите скажите опять что проблема у меня в коде .

Alexander
Alexander

lesser: При чем тут угадайка.

Я вам говорил что есть проблема в 4.0.4 вы не верили , пока я сам не разобрался в чем проблема, но проблема все таки была не в моем коде на что вы намекали .

Теперь сказал что есть проблема в 4.0.5 , на 4.0.3 все работает нормально, хотите разбирайтесь сами , не хотите скажите опять что проблема у меня в коде .

где вы разобрались в чём проблема? ткните носом, пожалуйста. я упустил этот момент. мы пытались разобраться в чём проблема, никто не намекал что проблема у вас. для того чтоб понять где она - необходимо иметь более-менее какие-то подробности. а не то - "у вас проблема где-то, либо тут либо тут. разбираться не хочу где, смотрите сами." вы раза с 3го смогли указать в каком из правил ошибка. Ошибку искал и исправлял я

Не нравится наше творение - не пользуйтесь. Пишите своё. Хотите чтоб было исправление - помогите найти ошибку.

Или вы действительно считаете что у нас времени свободного столько, что мы не только готовы безвозмездно писать и отдавать всем библиотеку, но ещё и по каждому чиху искать и пересматривать весь код?

lesser
lesser Autor

Я ж не могу все свое время тратить на поиски багов в вашем творении.

А логирование мне в моем коде незачем.

lesser
lesser Autor

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