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

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


<< < 32 33 34 
Moadip

Avatar
Date: 5/2/2013
Reply


UsilaDobry
Похоже библиотечный индикатор считает как то не так...Цена не может зашкаливать индикатор.
Это похоже на некорректный вывод на график значений индикатора, потому что каждый раз на графике появляется изображение индикатора в новом исполнении.

Я проверил значения индикатора на графике Quik, индикатор считает корректно, это SciChart выводит значения индикатора некорректно. На работу стратегии это не влияет, но визуально вводит в заблуждение. Сигналы стратегии лучше смотреть на графике Quik.

Возможно ли как-то это исправить?


О каком индикаторе вообще идет речь? На картинке какие то линии без опознавательных знаков.

Quote:
Я проверил значения индикатора на графике Quik, индикатор считает корректно, это SciChart выводит значения индикатора некорректно.

Т.е. все таки индикатор рассчитывается верно, но проблема с выводом на график?
Тогда могу предположить что вы что то не так делаете, т.к. SciChart отрисовывает то, что ему передается.
Thanks:

UsilaDobry

Avatar
Date: 5/2/2013
Reply


Moadip

О каком индикаторе вообще идет речь? На картинке какие то линии без опознавательных знаков.


Речь идет об индикаторе Parabolic SAR, на картинке он светло-голубого цвета. Каждый раз после запуска вывода на графике новая версия изображения, на картинке видно, как цена зашкаливает индикатор, а он не переключается, при этом значения индикатора подтверждают график в Квике, полное совпадение с графиком индикатора в Квике.
И еще, на графике явное смещение значения индикатора. Текущее значение индикатора с индексом [0] соответствует на графике свечке с индексом [2].

Quote:

Т.е. все таки индикатор рассчитывается верно, но проблема с выводом на график?
Тогда могу предположить что вы что то не так делаете, т.к. SciChart отрисовывает то, что ему передается.


Вывод индикатора на график делаю четко по изложенному материалу в в видео-уроке.

1. инициализация

Code
if (SarCheckBox.IsChecked == true)
            {
                
                _parabolic = new ParabolicSar
                    {
                        AccelerationStep = decimal.Parse(FactorSarTextBox.Text),
                        AccelerationMax = decimal.Parse(MaximumSarTextBox.Text)
                    };
                
                _chartParabolicElement = new ChartIndicatorElement
                    {
                        Title = "Parabolic",
                        Color = Colors.Aqua,
                        Indicator = _parabolic
                    };
                
                _chartArea.Elements.Add(_chartParabolicElement);
            }

2. получение значения индикатора

Code
if (_parabolic != null)
                {
                    
                    var valueSar = _parabolic.Process(candle);
                      
                    _chartParabolicValue = new ChartIndicatorValue(_parabolic, valueSar);
                }


3. вывод на график

Code
if (_chartParabolicElement != null && _chartParabolicValue != null)
                    {
                        this.GuiAsync(() => Chart.ProcessValues(candle.OpenTime, new Dictionary<IChartElement, object>
                        {
                            {_chartParabolicElement, _chartParabolicValue} //для Parabolic SAR_
                        }));


Что касается SciChart. Не я первый здесь об этом пишу. У меня например заявки в виде стрелок выводятся на экран, а потом убегают в левый край экрана...Об этом уже здесь писалось... Индикатор Bolliger тоже может нарисовать абсолютно прямым
Thanks:

Moadip

Avatar
Date: 5/2/2013
Reply






xaml:

cs:
Thanks: UsilaDobry

UsilaDobry

Avatar
Date: 5/4/2013
Reply


Я сделал вывод на график по Вашему примеру, у меня не показывается легенда ни по индикатору, ни по свечам, и автопрокрутка не работает...



А меняю таймфрейм, так он вообще всё одной полосой выводит...похоже масштабирование глючит...
Thanks:

Moadip

Avatar
Date: 5/4/2013
Reply


Quote:
у меня не показывается легенда ни по индикатору, ни по свечам

Может потому что их надо вкючить?
Code

		private void btnCrossHair_Click(object sender, RoutedEventArgs e)
		{
			if (btnCrossHair.IsChecked.HasValue && btnCrossHair.IsChecked.Value)
				Chart.CrossHair = true;
			else
				Chart.CrossHair = false;
		}

		private void btnToolTip_Click(object sender, RoutedEventArgs e)
		{
			if (btnToolTip.IsChecked.HasValue && btnToolTip.IsChecked.Value)
				Chart.CrossHairTooltip = true;
			else
				Chart.CrossHairTooltip = false;
		}


Quote:
А меняю таймфрейм, так он вообще всё одной полосой выводит...похоже масштабирование глючит...

Слева же видно что есть несколько точек по 0 цене, поэтому и перемасштабировано, чтобы все показать. Достаточно график прокрутить, чтобы не захватывались эти точки.

P.S.: Скриншоты не стоит запихивать в doc.
Thanks: UsilaDobry

UsilaDobry

Avatar
Date: 5/4/2013
Reply


Moadip

P.S.: Скриншоты не стоит запихивать в doc.


[biggrin] Согласен, но у меня под рукой нет программы, чтобы сохранить в графическом формате... Вот и впихиваю, благо, что впихуемое...[biggrin]
Thanks:

VassilSanych

Avatar
Date: 5/4/2013
Reply


У всех есть эта программа. Paint называется.
Замечательно сохраняет в PNG.
Thanks:

UsilaDobry

Avatar
Date: 5/4/2013
Reply


VassilSanych
У всех есть эта программа. Paint называется.
Замечательно сохраняет в PNG.


Благодарю, век живи - век учись...
Thanks:

alex123456

Avatar
Date: 7/22/2013
Reply


Не рисуется ни один индикатор в версии сборки 4.1.15(пробовал также 4.1.14, 4.1.13, 4.1.11). Свечной график рисуется нормально, как с промежутками(пустые места), так и без них. А вот индикаторы не рисуются как в самой области свечного графика(Are1), так и в отдельной области(Area2), как с пустыми местами (NoGapMode="False") так и без них (NoGapMode="true"), как со связаной областью(IsAligned = true), так и раздельной областью (IsAligned = false). Хотя в версии сборки 4.1.4 все строилось отлично, но MsChart был недостаток не было подсказок по свече(легенды), сейчас есть и легенда и подсказки по осям, но теперь не добавляется индикатор (Объём, Простая скользящая средняя и т.д.)
В версии сборки 4.1.4 ошибка ArgumentNullException решалась через добавление кода
Code
<SX:Chart x:Name="_chart" IsIndexed ="False"/>
- ряды не индексированы. Сейчас это не помогает. Мне думается проблема ещё со StockSharp.Xaml(см прилагаемые файлы). Прошу помощи?
Thanks:

alex123456

Avatar
Date: 8/3/2013
Reply


проблема решена
Thanks:
<< < 32 33 34 

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

loading
clippy