У вас не стоит Flash Player
Page 1 of 2 1 2 >
Настройки
#4294 - Wed Apr 14 2010 01:38 PM Re: Примеры пользовательских индикаторов [Re: Nektodron]
Craft Offline
enthusiast

Registered: Thu Jan 21 2010
Записи: 319
Добрый день!

Почему при расчёте индикаторов со значениями меньше/между целых чисел не показываются значения? Показательный пример индикаторы показывающие значения в интервале 0 - 1. Можно видеть либо 0, либо 1, а что между этими значениями?

Наверх
#4298 - Wed Apr 14 2010 03:52 PM Расчёт индикаторов
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
Перенес ваш пост сюда, чтобы не мусорить основную ветку.
В той ветке будем выкладывать только индикаторы.


Отредактировано andy (Wed Apr 14 2010 03:55 PM)

Наверх
#4314 - Wed Apr 14 2010 09:18 PM Re: Расчёт индикаторов [Re: andy]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
и можно пример привести (скриншот), пока не понятно о чем речь. Никаких ограничений быть не должно.

Наверх
#4339 - Thu Apr 15 2010 02:39 PM Re: Расчёт индикаторов [Re: Nektodron]
Craft Offline
enthusiast

Registered: Thu Jan 21 2010
Записи: 319
Для примера набросал:
((макс-мин)/мин)*100 за определённый период. В момент скрина значение 0.4312, а на графике - 0 и изменится только если значение достигнет >= 1, тогда отобразится - 1.


Attachments
15.04.png (462 downloads)


Наверх
#4343 - Thu Apr 15 2010 03:08 PM Re: Расчёт индикаторов [Re: Craft]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
вы через API панель делаете?
попробуйте метод
IPane.UpdatePrecision

Наверх
#4346 - Thu Apr 15 2010 03:31 PM Re: Расчёт индикаторов [Re: Nektodron]
Craft Offline
enthusiast

Registered: Thu Jan 21 2010
Записи: 319
Нет, панель через графический редактор сделана.

Наверх
#4347 - Thu Apr 15 2010 03:54 PM Re: Расчёт индикаторов [Re: Craft]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Тогда по умолчанию точность панели такая, какая у исходной бумаги, от которой индикатор.
В принципе значение посмотреть можно в тултипе, если навестись на линию.

Наверх
#4349 - Thu Apr 15 2010 04:29 PM Re: Расчёт индикаторов [Re: Nektodron]
Craft Offline
enthusiast

Registered: Thu Jan 21 2010
Записи: 319
Об регулируемой точности я и подумал - было бы не плохо smile

Наверх
#4351 - Thu Apr 15 2010 04:43 PM Re: Расчёт индикаторов [Re: Craft]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Ну в API можно регулировать, а в редакторе пока только автоматическая.

На самом деле для каждого индикатора можно поставить флаг. Сколько ему нужно минимум десятичных знаков.

Я просто, не выставлял. Если составить список, где выставить точность, отличную от автомата, то можно это сделать.


Отредактировано Nektodron (Thu Apr 15 2010 04:45 PM)

Наверх
#4458 - Sat Apr 17 2010 10:13 PM Re: Расчёт индикаторов [Re: Nektodron]
ipdipd Offline
newbie

Registered: Sun Feb 28 2010
Записи: 38
Уже много в ТСЛАБ экспериментуриюс RSI, но сейчас наложил EMA на RSI и столкнулся с какими-то ошибками в рачете RSI. В приложении скриншот. Видно, что в каких-то случаях RSI выдает какие-то неправильные значения. В положительную сторону тоже индикатор частенько бывает равен 100. На сколько я понимаю, если делать RSI по EMA, то он всегда будет больше 0 и меньше 100.


Attachments
rsi bug.jpg (970 downloads)



Отредактировано ipdipd (Sat Apr 17 2010 10:14 PM)

Наверх
#4462 - Sun Apr 18 2010 12:24 PM Re: Расчёт индикаторов [Re: ipdipd]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Да, при расчетах не учитывалось переполнение (когда в течении периода цена была одинакова), это будет исправлено.

Наверх
#6869 - Tue Jun 22 2010 09:57 PM Re: Расчёт индикаторов [Re: Nektodron]
uprav Offline
addict

Registered: Thu Jan 14 2010
Записи: 594
Nektodron, скажите пож. - в визуале я так понимаю через индексирование (т.е. к [i-1]) невозможно обратиться не к значениям свечи, а именно к рассчётным данным, исходящих из блока "формула"?
В скрине пример схемы, которая выдаёт ошибку:
: error CS0021: Невозможно применить индексирование через [] к выражению типа "double"

т.е это нужно пользовательский блок создавать в API чтобы это посчитать?


Attachments
Индексирование.JPG (387 downloads)

_________________________


Наверх
#6872 - Tue Jun 22 2010 10:24 PM Re: Расчёт индикаторов [Re: uprav]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
да, для расчетных данных таких значений нет

Наверх
#6945 - Wed Jun 23 2010 08:07 PM Re: Расчёт индикаторов [Re: Nektodron]
uprav Offline
addict

Registered: Thu Jan 14 2010
Записи: 594
Originally Posted By: Nektodron
да, для расчетных данных таких значений нет

Originally Posted By: Nektodron

в программе существуют понятия:
IStreamHandler - потоковый вычислитель
IValuesHandler - вычислитель внутри торгового цикла
исходными данными для IStreamHandler могут быть только другие IStreamHandler.
Блок формула автоматически становится либо IStreamHandler (если все исходные данные - потоки), либо IValuesHandler (если хотя бы один им не является).
Соответственно, не потоковую формулу уже нельзя цеплять к IDoubleAccumHandler, нужно делать блок имеющий интерфейс IDouble2CalculatorHandler.

Nektodron, в связи с этим такой вопрос: т.к. в формуле не возможно обратиться к входящим вычисленным значениям[i-1], возможно ли в рассчётном блоке в API, в который будет входить значение из формулы, суммировать к примеру это входящее значение с [i-1] или [i-n]-значением самого рассчётного через IDoubleCalculatorHandler (я так понимаю у меня во входящем блоке-формуле - значение получаются IValuesHandler)? И если можно, подскжите пример какого либо кода блока (я к сожалению не нашёл примера с IDoubleCalculatorHandler где используется индексирование)

Это к чему: если так не сделать, тогда мне придётся на вход подавать источники-ценные бумаги, причём несколько, и всё что я сделал в визуале до этого блока-формулы, с которым надо произвести рассчёт, писать код индикатора на C# (чего очень не хотелось бы..). А действие то в принципе простое - суммировать текущее значение входящей формулы с рассчётным предыдущим[i-1].
---------------------------
нашёл пример в AccumHandlers, где есть примеры с IDoubleCalculatorHandler, блоков-классов с индексированием CrossOver и CrossUnder, но они я так понимаю IStreamHandler, и к моему блоку не цепляются, а вот блок-класс Sub например -IValuesHandler и цепляется, но там нет индексирования.


Отредактировано uprav (Wed Jun 23 2010 09:14 PM)
_________________________


Наверх
#6985 - Thu Jun 24 2010 10:40 AM Re: Расчёт индикаторов [Re: uprav]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Этот момент не был продуман, нужно как-то модифицировать API. Сейчас вариант - написать код индикатора на C#, где он будет сам сохранять свое предыдущее значение.

Наверх
#7119 - Sat Jun 26 2010 08:29 AM Re: Расчёт индикаторов [Re: Nektodron]
Kovenant Offline
stranger

Registered: Wed Jun 23 2010
Записи: 18
Подскажите, в API как нумеруются бары, индекс возрастает от первого к последнему (т.е. от более позднего к более раннему)?
Т.е. например, если мне нужно вычесть из цены открытия свечи значения закрытия предыдущего бара, то это так будет выглядеть?
Code:
            for (int i = 0; i < count-1; i++)
            {
            	a[i] = open[i]-close[i+1];
            }


Спасибо.


Отредактировано Kovenant (Sat Jun 26 2010 08:51 AM)

Наверх
#7121 - Sat Jun 26 2010 08:49 AM Re: Расчёт индикаторов [Re: Kovenant]
Kovenant Offline
stranger

Registered: Wed Jun 23 2010
Записи: 18
и еще глупый вопрос, пытаюсь разобраться, почему у меня такая простая конструкция рисует непонятно что, а не цены закрытия. И почему зависит от задаваемого периода, если он у меня аже фигурирует в коде.

Code:
namespace TSLab.Script.Handlers
{
    [HandlerName("test")]
    [HandlerCategory("Indicators")]
    public class DIP : BasePeriodIndicatorHandler, IBar2DoubleHandler, IContextUses
    {
        public IList<double> Execute(ISecurity source)
        {
            return Calc(source, Context);
        }
        public static IList<double> Calc(ISecurity source, IContext context)
        {
            int count = source.Bars.Count;
            var close = source.ClosePrices;            
            return close;
        }
        public IContext Context { get; set; }
    }
}


Отредактировано Kovenant (Sat Jun 26 2010 08:50 AM)

Наверх
#7124 - Sat Jun 26 2010 10:18 AM Re: Расчёт индикаторов [Re: Kovenant]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
В редакторе этот новый индикатор с каким блоком соединен?

От периода он зависит, потому что отнаследован от BasePeriodIndicatorHandler. Этот класс просто внутри содержит параметр Period. Если он не нежен - наследование нужно убрать.

Наверх
#7126 - Sat Jun 26 2010 10:45 AM Re: Расчёт индикаторов [Re: Nektodron]
Kovenant Offline
stranger

Registered: Wed Jun 23 2010
Записи: 18
соединен с источником данных

Наверх
#7127 - Sat Jun 26 2010 11:30 AM Re: Расчёт индикаторов [Re: Kovenant]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
А что показывается вместо цен закрытия?

Наверх
Page 1 of 2 1 2 >


Moderator:  ViL, sar