Индикаторы - совместный проект


Индикаторы - совместный проект
Atom
5/31/2011


Приветствую всех участников!

Месяц назад я публиковал призыв о совместной разработке индикаторов на базе C#. Прошел месяц, мною было сделано 3 стандартных индикатора SMA, EMA и WMA. И ни строчки кода ни от одного пользователя S#. Каждый день задают вопросы (причем, большинство явно не относящиеся к S# как таковому), получают ответы, но свою помощь предложить не хотят. Стесняются, наверное.

Я понимаю, что дело в мотивации. Зачем помогать делать что-то, если можно подождать пару месяцев (пол года) или сделать самому, а потом пересесть на стандартное. Поэтому я решил найти мотивацию. И я ее нашел. Это лето объявляется летом "Ты мне - я тебе".

Схема простая. Вы делаете индикатор - я отвечаю на три любых вопроса. Вопросы по глюкам S# остаются как есть и раньше - ответ всегда получите. Но вопросы по C#, WFP, примерам, документации, Квику и всему прочему - только за индикатор.[smile] Я думаю честно.

Сделав 5 индикаторов, вы получается бонус - кружку с символикой S#.

Репозитарий с исходниками расположен по адресу http://stocksharpconnectors.codeplex.com Чтобы получить доступ на запись регистрируйтесь на сайте, пишите в эту тему свой логин и какие индюки хотите сделать. Стиль кодирование указывается через R#. Настройки в репозитарии.

Что сделано сейчас:

  1. Acceleration
  2. Alligator
  3. AwesomeOscillator
  4. Fractals
  5. GatorOscillator
  6. MarketFacilitationIndex
  7. BollingerBands
  8. ExponentialMovingAverage
  9. Macd
  10. ParabolicSar
  11. RAVI
  12. SimpleMovingAverage
  13. SmoothedMovingAverage
  14. StandartDeviation
  15. VolumeWeightedMovingAverage
  16. WeightedMovingAverage
  17. WilderMovingAverage
  18. Adx
  19. Atr
  20. ChandeMomentumOscillator
  21. CommodityChannelIndex
  22. DiMinus
  23. DiPlus
  24. Dx
  25. Ichimoku
  26. Momentum
  27. RateOfChange
  28. RelativeStrengthIndex
  29. RVI
  30. TrueRange
  31. DetrendedPriceOscillator
  32. Highest
  33. LinearReg
  34. LinearRegression
  35. LinearRegSlope
  36. Lowest
  37. MeanDeviation
  38. MedianPrice
  39. Peak
  40. PeakBar
  41. QStick
  42. RSquared
  43. StandardError
  44. StochK
  45. Sum
  46. Trix
  47. Trough
  48. TroughBar
  49. UltimateOsc
  50. VerticalHorizontalFilter
  51. Vidya
  52. Volatility
  53. WilliamsR

Tags:


Thanks:


<< < 6 7 8 9 10  > >>
Maxim

Avatar
Date: 6/9/2011
Reply


esper Go to

Да вроде верно все, когда достигли макс. размер буфера первый раз, сработает условие
Code
if (Buffer.Count == Length)

в следующий раз добавится новый элемент и размер списка будет Length+1 и попадем в блок else


Сори. Вы правы.
Все верно.

Но все равно мой вариант краше :)
Так как нет лишнего добавления и удаления из буфера
Thanks:

Maxim

Avatar
Date: 6/9/2011
Reply


esper Go to

Тут ранее поступало предложение
maze9a
В моей реализации значение индикатора равно нулю до тех пор пока он полностью не сформирован (в велсе индикатор расчитывается таким же образом), поэтому нет смысла рисовать кривую пока она не сформированна. Если вызывать событие Changed до того как индикатор сформировался то скорей всего некоторым подписчикам придется проверять IsFormed, а это мне кажется лишнее.



Я это читал.
Поддерживаю Ваш вариант.

Но.

1)Нужен кто то, кто примит окончательное решение. Подозреваю, это должен быть Михаил.
2)Ваше предложение не отвечает на вопрос "б". Вызывать ли Change, если значение добавили, но Value не изменилось?

Thanks:

esper

Avatar
Date: 6/9/2011
Reply


Maxim Go to
2)Ваше предложение не отвечает на вопрос "б". Вызывать ли Change, если значение добавили, но Value не изменилось?

Зачем? Значение индикатора не изменилось.
Thanks:

Maxim

Avatar
Date: 6/9/2011
Reply


esper Go to
Maxim Go to
2)Ваше предложение не отвечает на вопрос "б". Вызывать ли Change, если значение добавили, но Value не изменилось?

Зачем? Значение индикатора не изменилось.


Нужно или не нужно — это вопрос договоренностей.
Я вот и призываю договорится.

Потому что нигде в индикаторах я не видел перед вызовом метода Change проверки на то,
что новое значение Value отличается от старого.
Thanks:

esper

Avatar
Date: 6/9/2011
Reply


Maxim
Нужно или не нужно — это вопрос договоренностей.
Я вот и призываю договорится.

Потому что нигде в индикаторах я не видел перед вызовом метода Change проверки на то,
что новое значение Value отличается от старого.

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

maze9a

Avatar
Date: 6/9/2011
Reply


Maxim Go to
esper Go to

Да вроде верно все, когда достигли макс. размер буфера первый раз, сработает условие
Code
if (Buffer.Count == Length)

в следующий раз добавится новый элемент и размер списка будет Length+1 и попадем в блок else


Сори. Вы правы.
Все верно.

Но все равно мой вариант краше :)
Так как нет лишнего добавления и удаления из буфера


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

maze9a

Avatar
Date: 6/9/2011
Reply


esper Go to
Maxim
Нужно или не нужно — это вопрос договоренностей.
Я вот и призываю договорится.

Потому что нигде в индикаторах я не видел перед вызовом метода Change проверки на то,
что новое значение Value отличается от старого.

Я вопрос неверно понял... действтельно интересный момент, считаю, что при добавлении нового значения, если индикатор сформировался, то необходимо вызывать это событие, т.к. по событию может рисоваться график и т.д.


Поддерживаю такой подход.
Thanks:

InsiderHSE

Avatar
Date: 6/10/2011
Reply


Здравствуйте! Открываю солюшн Indicators, ссылки на сборки Ecng не находятся... Это только у меня так? Если я удалю их и снова добавлю на сборки из папки references, это не повлияет на работу других пользователей?
Thanks:

Mikhail Sukhov

Avatar
Date: 6/10/2011
Reply


InsiderHSE Go to
Здравствуйте! Открываю солюшн Indicators, ссылки на сборки Ecng не находятся... Это только у меня так? Если я удалю их и снова добавлю на сборки из папки references, это не повлияет на работу других пользователей?


Get Latest version делайте не из Solution Explorer, а из Source Control Explorer. У вас не все файлы скачались.
Thanks:

esper

Avatar
Date: 6/10/2011
Reply


Сейчас посмотрел исходный код индикатора Vidya, судя по всему, в нем используется индикатор CMO, который у нас уже есть в проекте, может стоит использовать его, а не считать значения самим? Т.е. комбинировать индикаторы, чтобы не было дублирования кода.
Thanks:
<< < 6 7 8 9 10  > >>

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

loading
clippy