У вас не стоит Flash Player
Page 1 of 5 1 2 3 4 5 >
Настройки
#754 - Thu Jan 07 2010 11:14 PM Разные временные интервалы
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
МТС использует разные временные интервалы для разных показателей. Например, MACD считаем на часовике, а RSI на десятиминутках. Подскажите, как в одном скрипте все увязать? Где копать?

Наверх
#757 - Fri Jan 08 2010 07:09 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Смотрите блоки "сжать" и "разжать". Сжимать можно меньший временной интервал в больший (обязательно кратный). Т.е. в вашем случае базовый будет 10мин и можно сжать в 60мин и посчитать MACD.

Блок "сжать" выдает объект Security в другом временном интервале, блок "разжать" позволяет вернуть посчитанный индикатор в базовый временной интервал.

Наверх
#758 - Fri Jan 08 2010 07:10 PM Re: Разные временные интервалы [Re: Nektodron]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
В случае использования API используются методы ISecurity.CompressTo и ISecurity.Decompress

Наверх
#763 - Fri Jan 08 2010 07:49 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Спасибо за ответ. Попробую. API не использую т.к. пытаюсь работать по блок-схемам...

Еще вопрос - каким образом узнать растет или падает индикатор? Например MACD или EMA? По идеи, надо сравнить значения по разным барам, но как к предыдущему попасть?

P.S. Сорри, если бестолковые вопросы задаю.

Наверх
#764 - Fri Jan 08 2010 07:54 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492

Наверх
#766 - Fri Jan 08 2010 09:24 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Не получается frown
Хочу реализовать простую мтс - покупка если быстрая EMA пересечет снизу в верх медленную и продажа обратно. Все получилось, но не могу ввести условие роста медленной ЕМА.

Ввожу после расчета медленной EMA_S логическое условие на проверку выражения EMA_S[i] > EMA_S[i-1]. А скрипт пишет:

System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.ThrowHelper.ThrowArgumentOutOfRangeException()
в System.SZArrayHelper.get_Item[T](Int32 index)
в TSLab.User.Script.<>c__DisplayClass7.<Execute>b__5()
в TSLab.DataSource.ObjectsCacheBase`3.Get(TKey name, CacheObjectMaker`1 maker)
в TSLab.ScriptEngine.BaseTemplateContext.GetData(String handlerName, String[] parameters, CacheObjectMaker`1 maker)
в TSLab.User.Script.Execute(IContext context, ISecurity Source1)


Скрипт приаттачил.


Attachments
code100.zip (178 downloads)


Наверх
#767 - Fri Jan 08 2010 09:40 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Надо было приаттачить XML который выдается через экспорт в менеджере скриптов. Но я догадываюсь в чем проблема, в блоке формула нужно параметр "начинать с" поставить 1. Т.к. вы используете i-1, то к нулевому элементу это выражение не применимо, получится отрицательный индекс.

Наверх
#769 - Fri Jan 08 2010 10:46 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Да-да. Все верно. Конечно, сейчас не хватает хорошей документации каждой функции. А если и Си не знаешь, то приходиться догадываться.
Получилось сделать задуманную мтс smile

Наверх
#774 - Fri Jan 08 2010 11:50 PM Re: Разные временные интервалы [Re: Michael]
Ryuk Offline
newbie

Registered: Thu Jan 07 2010
Записи: 38
Loc: Moscow
Вот мой робот, работает на пересечении двух EMA в двух наровлениях (шорт, лонг).

Было бы не плохо если кто-нибудь подсказал, как к нему стоп прикрутить. на случай резкого подения рынка более 5%


Attachments
2EMA-1.0.xml (304 downloads)



Отредактировано Ryuk (Fri Jan 08 2010 11:52 PM)

Наверх
#783 - Sat Jan 09 2010 10:45 AM Re: Разные временные интервалы [Re: Ryuk]
Nektodron Offline

Carpal Tunnel

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

Наверх
#785 - Sat Jan 09 2010 12:02 PM Re: Разные временные интервалы [Re: Nektodron]
Ryuk Offline
newbie

Registered: Thu Jan 07 2010
Записи: 38
Loc: Moscow
При этом блок Трейл Стоп используется?
Как работает данный блок?

Наверх
#787 - Sat Jan 09 2010 12:22 PM Re: Разные временные интервалы [Re: Ryuk]
Nektodron Offline

Carpal Tunnel

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

Прибыль трейлиться по значение MFE, т.е. максимальных пиков прибыльности позиции.

Наверх
#796 - Sat Jan 09 2010 08:06 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Я также реализовал такую мтс, правда тут код красивей... Но я почему-то задал условие роста одной из ема при лонге и падения при шорте. А выход реализовал через изменение направления медленной ема.

Наверх
#797 - Sat Jan 09 2010 08:08 PM Re: Разные временные интервалы [Re: Michael]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
И все-таки возвращаясь к сабжу. Сжать вроде как работает, но как проверить, что работает? В доках написано, что все панели отрисовываются по одному периоду временному, но как в таком случае визуально увидеть работу показателей по другим временным порядкам в скрипте?

Наверх
#810 - Sat Jan 09 2010 11:56 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

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

Наверх
#898 - Mon Jan 11 2010 12:17 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Не могу побороть сжатие... frown
Скачал текстовый минутный газпрома.
Если базовый перид совпадает со сжатием, то все ок - скрипт работает, но сжатия нет. А вот если база в 1 минутку (в настройках F4), а сжатие в 5 или 10 минут, то пишет:
System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.ThrowHelper.ThrowArgumentOutOfRangeException()
в System.Collections.Generic.List`1.get_Item(Int32 index)
в TSLab.Script.Handlers.And.Execute(IList`1 src1, IList`1 src2)
в TSLab.User.Script.<>c__DisplayClass18.<Execute>b__e()
в TSLab.DataSource.ObjectsCacheBase`3.Get(TKey name, CacheObjectMaker`1 maker)
в TSLab.ScriptEngine.BaseTemplateContext.GetData(String handlerName, String[] parameters, CacheObjectMaker`1 maker)
в TSLab.User.Script.Execute(IContext context, ISecurity Source1)


Attachments
сжатие.zip (147 downloads)



Отредактировано Michael (Mon Jan 11 2010 12:21 PM)

Наверх
#921 - Mon Jan 11 2010 11:25 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
необходимо было разжать индикаторы посчитанные в сжатом диапазоне


Attachments
сжатие_fixed.xml (250 downloads)


Наверх
#934 - Tue Jan 12 2010 02:59 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
Посмотрел...
Но возникли 2 вопроса.
1. Базовый интервал 5 минут. Сжатие - 30 минут. Почему МАКД при 30 минутах сжатых не совпадает с МАКД из другого скрипта при базовом интервале в 30минут? Например, Газпром 12.01 в 13.00 МАКД-30минут в сжатом алгоритме - -0,36, а на отдельном графике - -0,8. Т.е. грубо в 2 раза расхождение. Причем закономерность именно примерно в двое.

2. Но главный вопрос. Потом мы делаем расжатие данных. Насколько я понимаю, чтобы значение индикатора 30-минутного траслировать на свечи базовые т.е. 5 минутные. Верно? Но почему тогда он отличается от сжатого? Т.е. в нашем примере MACD_H не равна MACD_HO, а должна быть...

P.S. Спасибо за терпение.

Наверх
#938 - Tue Jan 12 2010 04:41 PM Re: Разные временные интервалы [Re: Michael]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
1. MACD_H - это не Macd! Это в вашем алгоритме "Macd - MacdSignal", выведете на график переменную "MACD Signal" и все будет совпадать.

2. В программе оказалась ошибка в том, что если вывести на график разжатые данные, то они перед этим еще раз разжимались, т.е. еще сильнее растягивались. На расчеты это влияет, только на визуализацию. В версии 1.0.6.0 будет исправлено.

Кроме того, я сейчас думаю над тем, как вообще обойтись без блока "Разжать", т.к. генератор кода может сам обнаружить эту ситуацию и произвести разжатие в нужном месте.

Наверх
#940 - Tue Jan 12 2010 05:27 PM Re: Разные временные интервалы [Re: Nektodron]
Michael Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 72
1. Тут не уловил. Я через разность строю гистограмму МАКД. Так и назвал ее MACD_H. Если она растет, то я могу покупать. Именно это условие я и хочу реализовать. Но значение гистограммы мне нужно в другом временном интервале.

2. И сейчас не понятно как проверить расчет гистограммы в другом временном интервале... Было бы удобно задавать панелям свой вариант временного интервала. Тогда бы и проверить визуально можно было бы.

Наверх
Page 1 of 5 1 2 3 4 5 >


Moderator:  ViL, sar