Индикаторы - совместный проект
Atom Ответить
31.05.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

Теги:


Спасибо:



Скидка 15% на все обучение до 5 апреля (осталось 5 дней).

340 Ответов
< 1 2 3 4  > >>
Maxim

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


Михаил, добавьте пожалуйста логин goricap.
Также прошу указать пять индикаторов, которые необходимо реализовать.
Спасибо:

Евгений

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


Михаил, добавьте пожалуйста логин neuro
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


Евгений Перейти
Михаил, добавьте пожалуйста логин neuro

Как писалось ранее
Mikhail Sukhov Перейти
Заливая новые файлы, нужно заливать и измененный csproj. Иначе, новые файлы не видны.
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


maze9a, что-то у меня не сходится тест для Полос Боллинджера с использованием Ema(14) на исторических данных по сберу, в частности отличается именно средняя линия

P.s. так же не сходится Smma на исторических данных, хотя в RSI оно работает нормальноConfused
P.P.s. Не заметил, что WilderMa и Smma одно и тоже, позже удалю Smma
Спасибо:

Maxim

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


Mikhail Sukhov Перейти
Тем более, сделав 5 индикаторов, вы получается доступ к репозитарию навсегда, а так же майку с символикой S#.


Уточню.
Доступ к репозиторию индикаторов?
Или доступ к репозиторию S#?
Спасибо:

maze9a

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


esper Перейти
maze9a, что-то у меня не сходится тест для Полос Боллинджера с использованием Ema(14) на исторических данных по сберу, в частности отличается именно средняя линия

P.s. так же не сходится Smma на исторических данных, хотя в RSI оно работает нормальноConfused
P.P.s. Не заметил, что WilderMa и Smma одно и тоже, позже удалю Smma


В велсе есть две формы для Ema modern и legacy (wiki). У нас реализована форма modern. Значения Ema, расчитаные с использованием нашей реализации, совпадают с теми которые получаются в велсе, это отражено в юнит тесте. Возможно для Полос Боллинджера нужна форма legacy? И еще, каким образом вы расчитываете значения для вашего теста?
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


maze9a Перейти
В велсе есть две формы для Ema modern и legacy (wiki). У нас реализована форма modern. Значения Ema, расчитаные с использованием нашей реализации, совпадают с теми которые получаются в велсе, это отражено в юнит тесте. Возможно для Полос Боллинджера нужна форма legacy? И еще, каким образом вы расчитываете значения для вашего теста?

Тестирую на данных из Quik-а, там строю график и сохраняю его в файл, после, на базе полученных данных, делаю тест.

Велса у меня нет, у вас есть возможность выгрузить данные по Полосам Боллинджера, чтобы можно было проверить?
Спасибо:

Mikhail Sukhov

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


esper Перейти
Смотрю, что число индикаторов растет, может есть смысл их сгруппировать?


По какому признаку?

Я думаю, нужно начать уже вести список сделанных и планируемых индюков. Предлагаю в отдельном топике с редактированием сообщения (добавили новый индюк - отредактировали).
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


Попробовал в Ema считать коэффициент по original method, но все-равно, значения Ema не совпадают с данными из Quik.
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


Mikhail Sukhov Перейти
По какому признаку?

Трендовые, осциляторы, объема

Mikhail Sukhov Перейти

Я думаю, нужно начать уже вести список сделанных и планируемых индюков. Предлагаю в отдельном топике с редактированием сообщения (добавили новый индюк - отредактировали).

Хорошая идеяSmile
Спасибо:

maze9a

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


esper Перейти

Тестирую на данных из Quik-а, там строю график и сохраняю его в файл, после, на базе полученных данных, делаю тест.

Велса у меня нет, у вас есть возможность выгрузить данные по Полосам Боллинджера, чтобы можно было проверить?


Вот, данные из велса. Описание можно посмотреть здесь.
RIM1.txt 2KB (0)
Спасибо:

Mikhail Sukhov

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


esper Перейти
Хорошая идеяSmile


Еще предлагаю список индюков для TODO. Где их взять - вопрос. Полез по ссылкам на сайт Велса, увидел это и это. Пойдет?
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


Mikhail Sukhov Перейти
esper Перейти
Хорошая идеяSmile


Еще предлагаю список индюков для TODO. Где их взять - вопрос. Полез по ссылкам на сайт Велса, увидел это и это. Пойдет?

Было бы хорошо поинтересоваться у народа, какие индикаторы им нужны, тут голосование можно сделать?
Спасибо:

Mikhail Sukhov

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


esper Перейти
тут голосование можно сделать?


Можно. В окне новой темы есть галка, опрос.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 07.06.2011
Ответить


Mikhail Sukhov Перейти
Можно. В окне новой темы есть галка, опрос.

На этом сайте и других опросниках есть ограничение на число вариантов, поэтому опрос по полному списку индикаторов сделать не вышло
Спасибо:

artemox

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


Тут уже немало писателей индикаторов. Поэтому большинство популярных и общеизвестных индюков покроем. А дальше можно и по запросу делать.
Спасибо:

artemox

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


А вот список с описанием формул
http://stockcharts.com/s...ool:technical_indicators
Спасибо:

Mikhail Sukhov

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


esper Перейти
Mikhail Sukhov Перейти
Можно. В окне новой темы есть галка, опрос.

На этом сайте и других опросниках есть ограничение на число вариантов, поэтому опрос по полному списку индикаторов сделать не вышло


Подумалось. Список индюков из Велса не спроста такой, какой он есть сейчас. Стоит ли устраивать опросник, если ребята из той команды годами набирали то, что у них сейчас в дистрибутиве? Может пройдет проторенной дорожкой и сделаем все, что у них есть? Мы уже 1/5 сделали за эти пару недель. Начали быстро.
Автор топика
Спасибо:

Mikhail Sukhov

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


artemox Перейти
А дальше можно и по запросу делать.


А дальше все развивается по текущему сценарию. Есть вопросы и нужна помощь в программировании - пускай "платит" коллегам своей помощью.
Автор топика
Спасибо:

artemox

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


Mikhail Sukhov Перейти
А дальше все развивается по текущему сценарию. Есть вопросы и нужна помощь в программировании - пускай "платит" коллегам своей помощью.

А как платить - под заказ по маркету шарашить? :)

+
StochasticK
RoC
SUM (сам по себе может и не быть полезен, но для использования в других индикаторах пригодится)


А насчет тестирования какие идеи? Проект IndicatorsTest явно отстает от своего товарища.
Мне кажется что проще будет сделать так:
1) Создаем файлик вида а или б
1.а Price,Value
1.б Open,Hi,Lo,Close,Volume,Value
2) В юнит тесте прогоняем индикатор по этому файлу, и когда IsFormed - сверяем значение из файла с расчетным

Наименования файлов соответственно сделать по формату IndicatorName#Parameters#TestDesription.txt

А ежели Reflection прикрутить, для автоматического запуска индикаторов по своим файлам, то это будет очень хорошо.
Спасибо:

Mikhail Sukhov

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


artemox Перейти
Наименования файлов соответственно сделать по формату IndicatorName#Parameters#TestDesription.txt

А ежели Reflection прикрутить, для автоматического запуска индикаторов по своим файлам, то это будет очень хорошо.


Хорошая идея. Если у кого-нибудь есть под рукой такая прога - заливайте в репозитарий файлы.

Насчет автоматического Reflection не совсем уверен. Делать я думаю будет дольше, чем понатыкать методы. Тем более потеряем "юнит тестовость", когда можно будет запустить конкретный юнит тест, а не ждать прогона через Reflection всех индюков. Лучше наверное будет сделать какой-то вспомогательный класс, который бы содержал максимум логики, а ему на вход индюка. Тогда бы каждый метод юнит теста занимал бы не более строчки.
Автор топика
Спасибо:

artemox

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


Mikhail Sukhov Перейти
Хорошая идея. Если у кого-нибудь есть под рукой такая прога - заливайте в репозитарий файлы.

У меня такая прога amibroker :) Завтра попробую что нибудь выгрузить и тестик написать.

Mikhail Sukhov Перейти
Насчет автоматического Reflection не совсем уверен. Делать я думаю будет дольше, чем понатыкать методы. Тем более потеряем "юнит тестовость", когда можно будет запустить конкретный юнит тест, а не ждать прогона через Reflection всех индюков. Лучше наверное будет сделать какой-то вспомогательный класс, который бы содержал максимум логики, а ему на вход индюка. Тогда бы каждый метод юнит теста занимал бы не более строчки.

По всякому начнем с конкретных юнитов.
Спасибо:

Mikhail Sukhov

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


artemox Перейти
Mikhail Sukhov Перейти
Хорошая идея. Если у кого-нибудь есть под рукой такая прога - заливайте в репозитарий файлы.

У меня такая прога amibroker :) Завтра попробую что нибудь выгрузить и тестик написать.


Если будут лить из Велса, формат txt такой же будет? И да, интересно узнать, из разных программ данные будут одинаковые или как?Smile
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 08.06.2011
Ответить


Mikhail Sukhov Перейти
Подумалось. Список индюков из Велса не спроста такой, какой он есть сейчас. Стоит ли устраивать опросник, если ребята из той команды годами набирали то, что у них сейчас в дистрибутиве? Может пройдет проторенной дорожкой и сделаем все, что у них есть? Мы уже 1/5 сделали за эти пару недель. Начали быстро.

Опрос хотел сделать не для того, чтобы выяснить что делать, а что нет, а с целью выяснить наиболее часто используемые индюки, т.е. что делать в первую очередь.

Mikhail Sukhov Перейти
Если будут лить из Велса, формат txt такой же будет? И да, интересно узнать, из разных программ данные будут одинаковые или как?Smile

Далеко не факт, что данные будут совпадать, например, у меня не сходится EMA с данными из QUIK.
Спасибо:

artemox

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


В ами формат задается программно (fopen и вперед...)
А так файлы можно разные погонять, например: SMA#50#AMI_RIM1_1MIN_CLOSE и SMA#30#WL_SBER03_1MIN_OHLCV
Спасибо:
< 1 2 3 4  > >>

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

loading
clippy