← Zurück

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

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

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

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

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

🤨 🤨 🤨

War dieses Thema hilfreich?

Thema teilen

Kommentare (37)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

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

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