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

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


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

Месяц назад я публиковал призыв о совместной разработке индикаторов на базе 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:


<< < 19 20 21 22 23  > >>
Garic

Avatar
Date: 8/7/2011
Reply


С Амиброкером ATR немного расходится.

Для первой свечи Ами считает ATR = H-L поскольку клоуз предыдущего дня не определён. S# же считает TrueRange не определённым. А так как используется WMA - это влияет на всё последуещее.

Если параметры системы привязывать к дневному ATR - сильно заметно.

Thanks:

Евгений

Avatar
Date: 8/12/2011
Reply


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

Нужны по:

Acceleration
Alligator
AwesomeOscillator
Fractals
GatorOscillator
MarketFacilitationIndex
Ichimoku
MedianPrice
Thanks:

Den

Avatar
Date: 8/13/2011
Reply


Уважаемые авторы!

Заметил что ни в одном индикаторе Indicators\Indicators\Trend\*MovingAverage, StandartDeviation, Macd не вызывается событие Changed. Во всех расчетах явно проверяется IsFormed() и нужно только добавить вызов RaiseChangedEvent();

Поправьте, пожалуйста, у кого есть право на запись.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/13/2011
Reply


Den
у кого есть право на запись.


Давайте свой логин на КодеПлекс, дам такое право. Проект общий и опен-сорс, поэтому авторов может быть много.
Thanks:

artemox

Avatar
Date: 8/13/2011
Reply


Евгений
Просьба, помогите с выгрузкой данных для тестов.

Нужны по:

Acceleration
Alligator
AwesomeOscillator
Fractals
GatorOscillator
MarketFacilitationIndex
Ichimoku
MedianPrice


MarketFacilitationIndex = ( High - Low )/Volume ?

Могу выгрузить. По остальным надо разбираться, но сейчас времени нет :(
Если найдете формулы для ами то будет проще
Thanks:

esper

Avatar
Date: 8/14/2011
Reply


Den
Уважаемые авторы!

Заметил что ни в одном индикаторе Indicators\Indicators\Trend\*MovingAverage, StandartDeviation, Macd не вызывается событие Changed. Во всех расчетах явно проверяется IsFormed() и нужно только добавить вызов RaiseChangedEvent();

Поправьте, пожалуйста, у кого есть право на запись.


Для индикаторов, которые наследуются от SingleValueIndicator<T> и LengthIndicator<T>, вызов события выполняется при установке нового значения индикатора.
Thanks:

Den

Avatar
Date: 8/15/2011
Reply


esper

Для индикаторов, которые наследуются от SingleValueIndicator<T> и LengthIndicator<T>, вызов события выполняется при установке нового значения индикатора.


Да, все правильно. Поправил только порядок присвоения в Macd: сначала signalValue, потом Value.
Thanks:

Евгений

Avatar
Date: 8/15/2011
Reply


artemox
Евгений
Просьба, помогите с выгрузкой данных для тестов.

Нужны по:

Acceleration
Alligator
AwesomeOscillator
Fractals
GatorOscillator
MarketFacilitationIndex
Ichimoku
MedianPrice


MarketFacilitationIndex = ( High - Low )/Volume ?

Могу выгрузить. По остальным надо разбираться, но сейчас времени нет :(
Если найдете формулы для ами то будет проще



Acceleration - http://ta.mql4.com/ru/in...celeration_deceleration
Alligator - http://ta.mql4.com/ru/indicators/bills/alligator
AwesomeOscillator - http://ta.mql4.com/ru/indicators/bills/awesome
Fractals - http://ta.mql4.com/ru/indicators/bills/fractal
GatorOscillator - http://ta.mql4.com/ru/indicators/bills/gator
MarketFacilitationIndex - http://ta.mql4.com/indic...rket_facilitation_index
Ichimoku - http://www.fxtrader.ru/t...indikator-ishimoku.html

Thanks:

Tester

Avatar
Date: 8/17/2011
Reply


Проверьте пожайлуста, возможно для SimpleMovingAverage такой код лучше.

Code
public override void Add(decimal newValue)
{
            Buffer.Add(newValue);

            if (!IsFormed)
                return;
		    
            Value = Buffer.Sum() / Length;
		    Buffer.RemoveAt(0);
}
Thanks:

Den

Avatar
Date: 8/17/2011
Reply


Tester
Проверьте пожайлуста, возможно для SimpleMovingAverage такой код лучше.


Code
public override void Add(decimal newValue)
{
            Buffer.Add(newValue);

            if (!IsFormed)
                return;
		    
            Value = Buffer.Sum() / Length;
		    Buffer.RemoveAt(0);
}

Это неверный код, т.к. при удалении первого элемента буффера, нужно также вычитать из Value его вклад.
Thanks:
<< < 19 20 21 22 23  > >>

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

loading
clippy