Пример: Использование блоков «Сжать» - «Разжать».

Автор: SysKreator

Пример: Использование блоков «Сжать» - «Разжать». - Fri Jul 09 2010 04:31 PM

Пример: Использование блоков «Сжать» - «Разжать».

Для начала разберемся, какие функции выполняет каждый блок:

Блок «Сжать». Выполняет функцию объединения данных, в нашем случае N свечек, и приводит к новому временному Масштабу.

Что такое Объединение. Вообще, есть множество значений А и множество значений B. Результатом Объединения множеств является множество значений входящих в А и в В. В случае со свечками представьте, есть последовательность свечек, из которой вы зачерпываете рукой фиксированное количество и складываете в корзинки одинакового объема. Теперь необходимо слепить их всех свечек из каждой корзинки по одной большой свечке. И эта большая свечка будет включать в себя значения цен всех свечек из конкретной корзинки.

Что такое Масштаб. Масштаб – это таймфрейм, или цена деления по оси X на графике. И наша новая свечка будет отражать изменение цены за новый таймфрейм, или если говорить по-русски – временной период.

Блок «Разжать». Что он делает и зачем он нужен. Если посмотреть на картинку, то результат сжатия графика Газпрома с новым масштабом 1440 минут отображен на Pane1. В таком виде с ним непонятно как работать дальше, но все верно. Причина в том, что на панели Главное 1 деление = 1 минуте, а на Pane1 1 деление = 1440 минут. Эту задачу и решает блок «Разжать». Он тиражирует каждую новую полученную свечку M раз = Новый таймфрейм / Базовый таймфрейм

Как на практике использовать блоки «Сжать» - «Разжать». Последовательность действий:
• Берем блок «Сжать», соединяем его с источником
• Выставляем значение масштаба, или Interval
• Берем, для примера, блок цена Закрытия, соединяем его с блоком «Сжать»
• Берем блок «Разжать», соединяем его 1) с блоком «Сжать», 2) с блоком «Закрытие»

И в дальнейших расчетах необходимо использовать именно разжатую цену закрытия. Хоть сейчас наличие блока Разжать и не обязательное, но в классическом варианте, рекомендуется его учитывать и использовать выходное значение для дальнейших расчетов.

Теперь аксиомы:
• Масштаб = Таймфрейм = Временной период (по-русски) = Interval
• Новый временной период, задаваемый в блоке «Сжать», задается как конечное значение, а не коэффициент отношения нового масштаба к базовому.
Пример: Базовый временной период = 15 минут. Если хотим часовик, Interval = 60
• Сжимать можно только в кратные масштабы относительно базового. Т.е. если новый масштаб делится на базовый без остатка, то блок «Сжать» будет работать.
Пример. Базовый временной период = 15 минут. Если хотим 16 минут, то программа будет ругаться.
• 1 день = 1440 минут.
• 1 тик можно сжать в любой Таймфрейм


Автор: savvin1988

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Aug 26 2010 12:05 AM

Добрый день!
Не могу понять как работает сжатие - разжатие.
Собственно что нужно.
Классическая стратегия Hi Lo со стопом.
Стопы выставляются на базовом тайм фрейме. Расчет входов выходов происходит на сжатом. Не могу разобраться как в редакторе правильно обратиться к максимуму/ минимуму другого тайм фрейма. Например если интервал источника 1 минута как мне без погрешности разжатия обратится к максимуму за 10 свечей 60 минутки. ??????

в приложении файлы
1- Тайм фрейм источника 60 мин выведены мин и максим за 60 мин без сжатия.
2 - Тайм фрейм источника 30 мин выведены сжатые 60, минимум и макс за 60 минут( вроде как совпадают с оригиналом)
3- тайм фрейм источника 5 минут выведены данные сжатые 60 мин (данные не совпадают)

Почему при уменьшении тайм фрейма изменяется значение блока разжать???

Сбербанк - инструмент
Метод разжатие 1

Если ставлю метод 2 то вроде как совпадает
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Aug 26 2010 12:08 AM

Совпадать будут при методе 3, но базовый метод 1 позволяет получить правильные данные на один базовый интервал раньше. Точнее получаются они одинаково, просто нужно помнить, что на 1мин интервале бар 59мин заканчивается в 00 мин следующего часа. И смотреть нужно на него.
Автор: savvin1988

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Aug 31 2010 09:34 AM

Спасибо
Автор: Ti_ru

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Nov 18 2010 01:32 PM

Не могу настроить сжатие из 15-мин в 1-день. В блоке сжать ставлю значение 1440. Скрипт ругается, говорит, что индекс за пределами диапазона. Я понимаю, что я неправ, но где??
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Nov 18 2010 08:46 PM

Пример скрипта 15 минут сжатие до одного дня.
Автор: Ti_ru

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Nov 19 2010 12:43 AM

ДА, благодарю я уже разобрался, проблема была в другом.
У меня такой вопрос. Блок разжатия нужно использовать всегда? Или только когда в каком-то другом блоке ведется сравнение величин, посчитанных в разных таймфреймах?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Nov 19 2010 12:49 AM

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

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Nov 19 2010 12:52 AM

Глупый вопрос, а если без разжатия скрипт работает. Это как понимать? Или где-то будут несоответсвия между данными и он неправильно будет работать..

Например для стратегии хай-лоу. Базовый таймфрейм 1мин, сжатие до 15 мин, по сжатым данным высчитывается n-периодный хай, который поступает в блок открытия позиции с условием "если выше".
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Nov 19 2010 01:01 AM

В программе предусмотено авторазжатие. По-этому некоторые данные будут действительными. Что касается индикаторов, лучше разжимать.
Автор: Ti_ru

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Nov 19 2010 01:10 AM

Хорошо, спасибо за информацию
Автор: SPLsd

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Dec 09 2010 03:28 PM

Если я сжимаю 1 минуту в 5 минут, то результаты скрипта должны совпадать с результатами скрипта на просто 5 минутах?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Dec 09 2010 03:46 PM

Если Вы сжали минуту в пять минут, то стопы и входы работают уже на минуте. А в скрипте с пяти минутном тайм-фрейме, стопы и входы работают на пяти минутах, по-этому результаты скрипта совпадать не должны. Если на инструменте, хотя бы есть одна сделка в минуту.
Автор: SPLsd

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Dec 09 2010 04:20 PM

Просто у меня теперь резы стали лучше в 3 раза, думаю где косяк! smile
Автор: Max

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 20 2011 11:47 AM

Здравствуйте, а как построить индикаторо по СЖАТЫМ свечкам ? допустим ЕМА ? есть секундные свечки первоначально, сжимаю до минутников, и как мне по этим минутникам построить график ?
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 20 2011 12:52 PM

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

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 20 2011 05:02 PM

Спасибо !!! А возможно как-нибудь растянуть сжатые свечки ??? т.е. чтоб, каждая сжатая свечка совпадала с началом соотв. базовой ?
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 20 2011 07:53 PM

3й способ декомпрессии выберете.
Автор: vitvlg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Jan 26 2011 01:28 PM

Originally Posted By: ViL
Пример скрипта 15 минут сжатие до одного дня.


А в чём смысл использования блока разжатие в этом скрипте?
Если мы хотим получить пересечение средних на дневном интервале а базовый интервал 15 мин то при использовании разжатия мы опять возвращаемся к 15 минутному интервалу и получаем пересечение средних с интервалом 15 минут???
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Jan 26 2011 05:43 PM

Вот так будет понятнее smile :
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 27 2011 09:27 AM

в догонку..
1.Если возможно укажите на ошибки ( за основу взят ваш пример).
2.При изменении наименование с окне редактора блока "трейл стоп" на "трейл стоп лонг" или блока "стоп лосс" на "стоп лосс лонг"( или "трейл стоп шорт" и "стоп лосс шорт" соответственно) - кол-во сделок увеличивается в 10!!! ( раз)...что это за .....?))).
3.Не удалось выполнить сжатие ( расжатие) с блоком "минимумЗа" ( "максимумЗа" ) - это возможно ?
Заранее спасибо.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 27 2011 11:46 AM

У Вас ошибка : High1 нигде не учавствует/
А в блоках трейл в разных скриптах сильно разные значения ...
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 27 2011 01:00 PM

Спасибо !
...)))))
в своем глазу.......
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 27 2011 10:55 PM

2.При изменении наименование с окне редактора блока "трейл стоп" на "трейл стоп лонг" или блока "стоп лосс" на "стоп лосс лонг"( или "трейл стоп шорт" и "стоп лосс шорт" соответственно) - кол-во сделок увеличивается в 10!!! ( раз)...что это за .....?))).
Собственно данный глюк меня и заинтересовал.
Если в примере "пример сжатие час 1 мин" переименовать блок трейл или стоп лосс - происходит данный глюк и действительно оптимизированные параметры заменяются самопроизвольно на другие и соответственно изменяется кол-во сделок... Или это только у меня данный глюк.? Проверьте, плиз.Из за этого все наперекосяк(((
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jan 28 2011 12:30 AM

При переименовании блока его параметры выставляются в значения по умолчанию, так что удивительного ничего нет.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jan 28 2011 08:26 AM

shocked удивили))))
Спасибо !
Ранее при переименовании блока была возможность переименовывать его после оптимизации, параметры сохранялись..неудобно.
Еще - в блоках стало постоянно присутствовать второе- нередактируемое - длинное название Зачем ? Загромождает график, неудобно.....Можно получить понимание данного нововведения ?
Автор: Tuonela

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jan 28 2011 02:42 PM

Не получается, пока работать с сжатием/расжатием, не понимаю сути. Задача следующая - стандартная:
Вход и сигналы на часовых свечах, выход на 5 минутке, при срабатывании стопа, значение цены стопа определяется на часовике.
Сигналов для входа несколько, примерно такие:
Close > S1(Close) && S2(Close) > Const && ... , где S1 и S2 значения(блок формула), которые вычисляются из часовой цены Close, Const- константа.
Выход по стопу, допустим Price = S3(Close)
Я действую так.
Сжимаю Close из 5 мин. в часовой.
Затем вычисляю S1,S2,S3 и следуя логике примера с Hi-Low мне нужно блок расжать соединить с блоком сжать и с формулами S1, S2, S3, что у меня сделать не выходит ->
Вопрос №1. Сколько нужно блоков расжать?
Вопрос №2. С чем нужно соединять блоки расжать?
Вопрос №3. Сколько входов у этого блока?
Надеюсь на помощь!=) А то уже бесит меня моя тупость.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jan 28 2011 05:52 PM

Все просто. Блок разжать, нужен, когда есть значение после сжатия. У него два входа. Первый - от блока сжать, второй от блока выдающего значение. Есть много вариантов разжатия. Но, что бы осознать, поступайте пока так: берете Close от сжатия, значит уже нужно одно разжатие, которое и будет выдавать значение Close. Берете Open от сжатия - значит вот второе разжатие. Теперь в блоке формула используете эти два разжатия, которые и выдают искомые значения.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jan 29 2011 05:41 PM

День добрый !
При реализации Ваших примеров, после проведенной оптимизации, полученные параметры стоп лосса позиций лонг (1,8) и шорт(0.4) были вбиты в скрипт.Вопрос:
1. в данном случае, насколько я понимаю, величина стопов выражается в руб ?
2.При проведении бек теста в шортовых позах обнаружены стоп лосс на 6,18 руб и 1,35 руб. соответственно ( гепов нет). Можно получить ответ, почему ? Что неверно в логике скрипта ?
3.При выводе на панель линий стопов неверно отображается на графике их визуализация в позе шорт.При наведении стрелки на уровень лог формулы ( стоп) вел-на (расчетная) указывается правильно, а визуализация - показывает большую вел-ну.Не критично, но для понимания позиции хочется внести ясность.Добавил еще одну панель, ничего не поменялось.Кстати, позы лонг отражают на графике все правильно ( уровень стопа и тей профита, а на шорте.......((
Заранее благодарен.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jan 29 2011 06:15 PM

Originally Posted By: serg
День добрый !
При реализации Ваших примеров, после проведенной оптимизации, полученные параметры стоп лосса позиций лонг (1,8) и шорт(0.4) были вбиты в скрипт.Вопрос:
1. в данном случае, насколько я понимаю, величина стопов выражается в руб ?
2.При проведении бек теста в шортовых позах обнаружены стоп лосс на 6,18 руб и 1,35 руб. соответственно ( гепов нет). Можно получить ответ, почему ? Что неверно в логике скрипта ?
3.При выводе на панель линий стопов неверно отображается на графике их визуализация в позе шорт.При наведении стрелки на уровень лог формулы ( стоп) вел-на (расчетная) указывается правильно, а визуализация - показывает большую вел-ну.Не критично, но для понимания позиции хочется внести ясность.Добавил еще одну панель, ничего не поменялось.Кстати, позы лонг отражают на графике все правильно ( уровень стопа и тей профита, а на шорте.......((
Заранее благодарен.


1. Да, в данном случае, это абсолютные значения.
2. В логике скрипта всё верно. Нужно понимать что программа рассчитывает исходя из указанного начального депозита, он стоит 20000 рубл.
3. Неверно она у Вас отображается, потому-что Вы ее поставили на другую шкалу.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jan 29 2011 06:17 PM

Спасибо ! Теперь вы на страже клиентов smile
п.3. все равно не совсем корректно отображается.(Вывел на панель с источником)
Автор: smdm

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Feb 03 2011 04:24 PM

Добрый день.Посмотрите пожалуйста скрипт.Второй день не могу добиться простой (для вас) задачи.В верхней панели пытаюсь сделать сбер 60 мин.В нижней панели сберП 20 мин.И расчет в скрипте по формулам должен быть от 60 мин периода.Заранее благодарен.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Feb 03 2011 05:51 PM

.
Автор: smdm

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Feb 03 2011 06:18 PM

Спасибо большое.Пытаюсь разобраться.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Feb 18 2011 02:23 PM

Уважаемый ViL!
В окне редактора при переименовании блока Константа в ( выход шорт или соответственно выход лонг) - для более понятной визуализации , при выполнении скрипта происходит странная вещь: график невозможно прокрутить, бегает линейка, а не график, и сделок нет ( в окне результаты нули).При возврате наименования блока к стандартному, все Ок !
Скрипт использует сжатие.Подскажите, где копать ?Заранее благодарен.
Еще раз пробовал переименовывать блок Константа - выдает сообщение:
17:37:37.20 120 Элемент с именем 'Константа' уже присуствует.
17:37:02.15 120 Не могу запустить скрипт.
17:37:02.15 120 c:\Documents and Settings\ДЕМО\Local Settings\Application Data\TSLab\TSLab\temp\code40.cs(409,33) : error CS0103: The name 'Константа' does not exist in the current context
17:37:02.15 120 c:\Documents and Settings\ДЕМО\Local Settings\Application Data\TSLab\TSLab\temp\code40.cs(400,34) : error CS0103: The name 'Константа1' does not exist in the current context
17:37:01.03 120 Не могу собрать скрипт.
17:37:00.92 120 Не могу запустить скрипт.
Конечно, на работу скрипта ( переименование для удобства работы) не влияет, но хотелось бы разобраться ))))


Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Feb 22 2011 01:42 PM

Еще раз.....при переименовании блока Константа ( например в ШортСтоп) график стоит и сделок нет...)))))
Или данный... у меня одного ?)))
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Feb 22 2011 07:21 PM

Можете прислать или выложить скрипт, в котором происходит эта ошибка?
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Feb 23 2011 11:39 PM

Да...вот он...
версия 1.1.17.00
И просьба - если уж будет происходит вскрытие скрипта - возможно получить ваш коммент на жизнеустойчивость, или дополнительную модификацию?
Заранее благодарен.
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 28 2011 12:37 PM

У вас в скрипте уже есть блоки с именами Константа, Константа1, Константа11 и Константа2. Что во что, вы переименовываете?
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 28 2011 06:00 PM

При переименовании любой из Констант происходит указанная ошибка.
В последнем варианте - переименовывал Константу 11 ( можно переименовывать любую из них - эффект ошибки проявляется)
сейчас произвел переименование Константы (в тейк лонг) работающего скрипта, без ошибок и вот что получилось :
17:58:07.81 Не могу запустить скрипт.
17:58:07.81 c:\Documents and Settings\БОЕВОЙ\Local Settings\Application Data\TSLab\TSLab\temp\code33.cs(457,33) : error CS0103: The name 'Константа' does not exist in the current context
17:58:06.89 Скрипт выполнен успешно. (26781 баров)
17:58:06.64 Не могу собрать скрипт.
17:58:06.42 Не могу запустить скрипт.
17:58:06.40 c:\Documents and Settings\БОЕВОЙ\Local Settings\Application Data\TSLab\TSLab\temp\code33.cs(457,33) : error CS0103: The name 'Константа' does not exist in the current context
17:58:04.96 Не могу запустить скрипт.
17:58:04.89 c:\Documents and Settings\БОЕВОЙ\Local Settings\Application Data\TSLab\TSLab\temp\code33.cs(457,33) : error CS0103: The name 'Константа' does not exist in the current context
17:58:03.90 Скрипт был сохранен в БД.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 28 2011 06:08 PM

а при возврате наименования тейк лонг в Константу все ок !
И еще - чудо ))) пока с вами общался, наблюдал, когда скрипт закроется по стопу, ан вдруг.. при пересчете в 18: 00 выставился и тейк профит от 24 02 2011 в 10: 30 и ест-по лонг в 18:00 сегодня!
Скрипт собран в визуале...((((( по теории, заглядывать в " будущее" не может.....)))))
все понятно - при изменении наименования константы, как и обещано, данные в блоке установились по умолчанию ( отличные от действующих)....ну и далее - пересчет и т.д.....)))
Автор: Nektodron

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 28 2011 06:54 PM

Вы переименовываете блок, а в формуле ссылка на его старое название. Естественно скрипт не может собраться.
Автор: serg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 28 2011 08:35 PM

crazy)))да !!точно !!!
PS плохо быть бестолковым....))))
Автор: zmey

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 02 2011 07:25 PM

а что дает "Сдвиг"?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 02 2011 09:10 PM

Смещение времени. Поставьте увидите.
Автор: qwed

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Mar 22 2011 03:48 PM

А как сделать что бы индикатор работал по сжатым данным. Допустим у меня часовик, сжимаю его в дневку и к дневке прикручиваю ЕМА, а уже при пересечении дневного графика с дневной свечой получаю выходные данные.
Автор: Роман

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 25 2011 05:22 AM

Скажите, а если я хочу чтобы стопы по открытым сделкам выставлялись сразу же после входа в рынок (ну или с задержкой не более 30сек), то обязательно ли мне использовать блоки "Сжать-Разжать"?

Рабочий таймфрейм у меня 5мин, все индюки и расчеты привязаны именно к 5минутам, в том числе и расчет уровня стопа, но стоп надо выставлять сразу.
В окошке "Свойства графика" есть опция "Режим обновления", где написано, что интервалом пересчета может быть сделка. К сожалению, не знаю что это означает конкретно. Это меня и озадачило, то есть, если я в качестве базового таймфрейма все-таки стану использовать 5 мин и поставлю пересчет "Сделка", то будет ли пересчет, и соответственно, выставление стопов, сразу после сделки или только при открытии новой 5минутной свечи? Ведь если пересчитают сразу после сделки, то это означает, что я вполне могу обойтись без использования блоков "Сжать-Разжать". Так ведь или нет?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 25 2011 10:04 AM

Originally Posted By: Роман
Скажите, а если я хочу чтобы стопы по открытым сделкам выставлялись сразу же после входа в рынок (ну или с задержкой не более 30сек), то обязательно ли мне использовать блоки "Сжать-Разжать"?

Рабочий таймфрейм у меня 5мин, все индюки и расчеты привязаны именно к 5минутам, в том числе и расчет уровня стопа, но стоп надо выставлять сразу.
В окошке "Свойства графика" есть опция "Режим обновления", где написано, что интервалом пересчета может быть сделка. К сожалению, не знаю что это означает конкретно. Это меня и озадачило, то есть, если я в качестве базового таймфрейма все-таки стану использовать 5 мин и поставлю пересчет "Сделка", то будет ли пересчет, и соответственно, выставление стопов, сразу после сделки или только при открытии новой 5минутной свечи? Ведь если пересчитают сразу после сделки, то это означает, что я вполне могу обойтись без использования блоков "Сжать-Разжать". Так ведь или нет?

При пересчете сделка - да стоп будет выставляться сразу.
Автор: Роман

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 25 2011 10:15 AM

ОК, спасибо! А то уж думал, что придется "огород городить" еще и с сжатием))))
Автор: Роман

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 25 2011 10:19 AM

Да, а пересчет по интервалу (в 5мин в моем случае) при опции персчет Сделка сохраняется?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 25 2011 11:05 AM

Originally Posted By: Роман
Да, а пересчет по интервалу (в 5мин в моем случае) при опции персчет Сделка сохраняется?

Нет. Пересчет будет проходить по каждой сделке, совершенной на рынке.
Автор: Роман

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sun May 01 2011 07:26 AM

Не могу понять в чем моя ошибка?
Попытался сжать свой скрипт, по идее результаты должны быть аналогичными результатам скрипта без сжатия, но вместо этого на сжатом варианте сделки отсутствуют вообще. Почему -не пойму. В чем причина, где я накосячил? confused
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sun May 01 2011 09:36 AM

Блок ОткПозЕслБол в сжатом варианте необходимо "привязать" к источнику. А он у Вас привязан к сжатию.
Автор: Роман

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sun May 01 2011 11:00 AM

Спасибо, с этим разобрался!
Но возникает такой вопрос, если блоки Открытия нельзя привязывать к блоку Сжать в обход Источника, то как тогда можно добиться, чтобы, к примеру, блок ВремяВхода запоминал время не по базовому таймфрейму (как у Источника), а по сжатому? Ведь блок ВремяВхода цепляется к блоку Открытие, блок Открытие цепляется к блоку Источник, следовательно ВремяВхода будет запоминаться по таймфрейму Источника, но мне то ведь нужно, чтобы запоминание произошло по таймфрейму указанному в Сжатии.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sun May 01 2011 08:46 PM

Блок Время - от сжатия. Блок есть активная позиция.Обновляемое значение. data - от блока время, eq - от активной позиции.
Автор: Stanley

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jun 24 2011 08:06 PM

Добрый вечер. Работаю с сжатой величиной открытия, но она возвращается только по окончании сжатой "свечки".Но ведь она уже известна на начале и не изменяется.Есть ли способ какой нибудь сделать так чтобы она сразу была "известна" скрипту по началу сжимаемого таймфрейма?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jun 24 2011 09:42 PM

Либо сдвиг в сжатии, либо сохранить в обн значении по времени от источника.
Автор: Stanley

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jun 25 2011 01:45 PM

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

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jun 25 2011 04:50 PM

В общем, вот до чего мне удалось дойти своими мозгами - рисуется максимум сессии.Как сделать так, чтобы рисовался максимум 10 минутной свечки?
Автор: VadoS

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Nov 12 2011 06:11 PM

Читаю читаю никак не вкурю, зачем это всё))
На пальцах можно объяснить зачем нужно сжимать? ЧТо это может дать?
И пересчет проходит по базовому интервалу или интервалу сжатия?
ДОпустим рабочий ТФ-10М, но думаю слишком большой - входы запаздывают - разжатие до 2М поможет, и в то же время не хочется чтобы скрипт часто пересчитывался! Там сделок то Мах - пару раз в день? Просто незнаю как это скажется на производительности, если количество скриптов будет не 5 а 10,20,30 и все будут кажные 2М пересчитыватся?!
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Nov 12 2011 08:03 PM

Сжатие позволяет все Ваши 20-30-40 скриптов собрать в один.
Пересчет на базовом таймфрейме.
http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21980&page=1
Автор: Romario

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Dec 02 2011 08:11 PM

Я вообще не могу понять(( подскажите пожалуйста на hi low как сделать чтоб после сделки, стоп лосс выставлялся к примеру секунды через 2. буду очень благодарен
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Dec 02 2011 09:11 PM

Ну это ж просто. Поменять интервал пересчета и добавить один блок.
Вы не сказали, с чего берете индикаторы, сделал 5 минут.
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Jan 23 2012 02:11 PM

Здравствуйте друзья!
а как на счёт тиков?
В самом начале говориться что "1 тик можно сжать в любой Таймфрейм".
Каким образом тики в минутку можно сложить?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Jan 23 2012 02:50 PM

Блок Сжать в секунды. В минуте 60 секунд.
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Jan 23 2012 11:26 PM

Пробовал, но в том то и вопрос заключается, что я точно что-то не то делаю(((
Блок "Источник" в тиках к нему подключаю блок "Сжать в секунду" Интервал ставлю 1, а после К блоку "Сжать в секунду" прикрепляю просто "Сжать" Интервал 60 Сдвиг 0.. Вывожу график блока на график и ничего.
Или как?
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Jan 23 2012 11:46 PM

Кстати, попробовал на данных подгружаемых с Алора, всё получается, а вот с внешним источником (тики с финама в txt формате) не получается.
Может там какие то параметры надо правильно выставить, типа ггммдд,
или Формат записи в файл там их несколько.. какой надо выбрать?
Спасибо.
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jan 24 2012 12:09 AM

Формат записи в файл весь перебрал, не подходит(((
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jan 24 2012 12:20 AM

HELP ME!!!!PLEASE!!!
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jan 24 2012 12:26 AM

Кстати могут ли быть проблемы с фьючём? за сутки он (экспорт финама) тики создаёт.. тики на графике видны, а вот сжать в минуты он не может(((
Автор: Avgust2047

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jan 24 2012 12:33 AM

Господа..простите за истерику.. сам не знаю что поменялось, но проблема самоустранилась)))
Всё хорошо!!!
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jan 24 2012 10:22 AM

Я Вам ответил в другой ветке.
Автор: R2D224RUS

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 02 2012 12:40 PM

Можно поднять вопрос.
Со сжатием тиков в минуты все нормально - работет.

можно отдельно выбрать интервал дял свечи - 100, 500, 1500 тиков.
А как запустить данный процесс через сжатие ???
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Mar 02 2012 06:09 PM

Originally Posted By: R2D224RUS
Можно поднять вопрос.
Со сжатием тиков в минуты все нормально - работет.

можно отдельно выбрать интервал дял свечи - 100, 500, 1500 тиков.
А как запустить данный процесс через сжатие ???


Поправлено, будет в вечерней сборке.
Автор: Discrecio

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 01:04 PM

Имею базовый фрейм 1 минута. Есть необходимость получать сигнал с часового фрейма. Пытаюсь применить сжатие с интервалом соответственно 60. После разжатия и наложения на него ЕМА получаю некорректный результат.

На скрине можно сравнить загруженный из источника часовой фрейм и ЕМА на нем и вариант с сжатием. На них получается противоположная ситуация: там, где часовик НАД средней, сжатые данные, напротив, под ЕМА и наоборот!

Также хотел уточнить, что означает сдвиг? ВОзможно именно в нем и дело.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 01:53 PM

Во первых цены закрытия вроде как разные. В одном случае часовик неразжатый, в другом минутки.
А во вторых, ЕМА от разжатия - это круто smile Его нужно взять в цикле сжатия от закрытия, а потом уже разжать.
Если требуется ручное управление в дальнейшем в скрипте.
Сдвиг описан в документации.
Автор: Discrecio

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 02:20 PM

Может и круто, конечно, вам виднее! smile А как по другому? Честно говоря, не очень я вас понял, туплю наверное... Т.е. надо сжимать данные вместе с средней что ли?

Смотрите еще раз, что мне нужно.
Сделки совершаются по определенным сигналам на 1М фрейме, но также есть доп. сигнал (фильтр) на 1Н фрейме. Используется он след. образом: если часовик уходит ниже (его цена закрытия в моменте) ЕМА, то сделки у нас на 1М идут только в шорт; если же часовик выше своей ЕМА, то только в лонг работаем.

Как такую штуку реализовать с помощью сжатия или может быть без него? В идеале мне нужно, чтобы часовик то был динамический, т.е. "ходил" онлайн, а не был уже сформованный, как в истории.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 02:53 PM

В приложении пример старейшего индикатора БоллинжерБенд.
ЕМА взято с источника, а отклонение от сжатия и разжато в конце цикла, а не по середине как у Вас.
В итоге получаем Боллинжер с данными ЕМА с минуты и с данными Отклонения с часовика в формулах, именно так их и нужно использовать.
Автор: Discrecio

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 04:47 PM

ViL, за пример спасибо, но это все равно не то. Как мне приспособить под описанное выше это не представляю.

Вообще, было бы очень интересно, если бы для каждого источника в алгоритме задавался и свой независимый тайм-фрейм. По идеи какого-то логического противоречия здесь нет.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Mar 07 2012 05:06 PM

Такой возможности нет. Сжатие позволяет сделать то, что Вам нужно.
Автор: Lenar

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Aug 17 2012 06:02 PM

Возможно ли при сжатии использовать [i-1 .... 10]закрытия, открытия, максимум, минимум для записи в обновляемое значении. Я сделал скрипт работает без ошибок, а обновляемое значение отличается, если скрипт сравнивать без сжатия и со сжатием. При чем очень серьезно.
Разъясните пожалуйста этот вопрос.

Делал так: Источник - сжатие - блок (открытие, закрытие, максимум, минимум) - логическая формула (которое использует i-1...10) - обновляемое значение берет значение из формулы (где прописано i-1....10)
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Aug 17 2012 06:39 PM

Пересчет то остается.
Автор: Lenar

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Aug 17 2012 06:46 PM

не понял.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Aug 17 2012 06:50 PM

Например, если используете таймфрейм 1минуту и сжатие 60минут.
И Вам нужно сохранить закрытие часовой свечи i-2, учитывайте, что в одном часе 60 минут.
Таким образом в ОЗ нужно подать i-120
Автор: Lenar

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Aug 17 2012 06:57 PM

спасибо, теперь понятно
Автор: asket

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Aug 29 2012 12:39 AM

Здравствуйте, интересует вопрос по сжатию, допустим я работаю на часовике и хочу сжать до дня и до недели, как это происходит, по количеству свечей, тобишь интервалов в исходном графике, или по количеству пройденного времени в реальности и так же с недельным сжатием, 5 дней( рабочие) или 7 всего
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Aug 29 2012 11:45 AM

в сутках 24 часа. В неделе 7 суток.
Автор: asket

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Aug 29 2012 12:28 PM

спасибо, а что определяет параметр сдвиг в блоке сжать
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Aug 29 2012 02:46 PM

Сдвиг определяет сдвиг в кол-вах баров.
Автор: dolart

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 04 2013 08:51 PM

Здравствуйте, у меня следующая проблема: Базовый таймфрейм - М1, в скрипте так же используется М15 (для расчёта значений ЕМА и StDev). Дело в том, что после сжатия, в формуле используются значения закрытия из 2х источников. В блоке "разжать" можно использовать только 1 источник. Как бы мне корректно рассчитать значения ЕМА и StDev? Заранее спасибо.
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 04 2013 10:14 PM

Одно разжатие закрытия первого источника, второе разжатие закрытие второго источника. В блоке формула использовать разжатия.
Автор: dolart

Re: Пример: Использование блоков «Сжать» - «Разжать». - Mon Feb 04 2013 10:21 PM

Спасибо, попробую!
Автор: finstrateg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Oct 23 2013 08:23 PM

Сжал минутные данные до пятиминутных и построил скользящую среднюю, она получилась ступеньками, вроде все было понятно.
Решил разобраться, что такое разжимание, эти же сжатые данные разжал и построил по разжатым данным такую же скользящую среднюю, она получилась другой - гладкой и значения отличаются...
как так происходит не пойму, видимо я не понял что такое разжатие, объясните кто-нибудь, тему читал - ничего так и не понял...
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Oct 24 2013 11:58 AM

Originally Posted By: finstrateg
Сжал минутные данные до пятиминутных и построил скользящую среднюю, она получилась ступеньками, вроде все было понятно.


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

Автор: finstrateg

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Oct 24 2013 07:41 PM

Спасибо!
Автор: mrMVP

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Nov 19 2013 11:22 AM

Подскажите, пожалуйста, если я хочу сигналы на вход строить по 20-минутным свечам, а на выход по 1-минутным, то нужно ставить интервал пересчёта 1 мин, но для блоков, в которых считается выражение для входа, подавать нужные им данные (Close, Open и др.) через блок Сжатие?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Nov 19 2013 06:55 PM

Close, Open и др. от Сжатия
Автор: Kombia

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Jan 29 2014 10:30 PM

Всем привет. Никак не пойму что сжимать, что разжимать smile
Вот накидал для примера два одинаковых скрипта, один с двумя источниками другой с одним источником и сжатием, в первый вставил два источника на 30 минутках и дневных за год, потом переделал его под один источник, взял минутки за год сжал на 30 и 1440. Получились два разных скрипта(по результатам судя :))) Можете исправить в нужном направлении тот что с сжатием, обязуюсь хранить исправленный вариант как пример до скончание веков и не задавать больше вопросов про сжатие :))
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 30 2014 07:47 PM

" в первый вставил два источника на 30 минутках и дневных за год",
вот в этом и проблема недопонимания. smile В свойствах лишь один период, не выше, не ниже вы не сможете поставить источник с другим периодом. График растянет недостающие бары на всю историю и индикаторы будут рассчитываться не правильно.
Если бы в формуле не использовались одновременно EMA3, с одного периода и ATR1 с другого периода, то разжимать ничего не нужно было, программа автоматически бы разжала данные.
В скрипте со сжатием у Вас была ошибка. ПересечСверху1 не правильно подключено.
Разжатие добавил,

Вешайте на стенку smile :
Автор: Nikolas

Re: Пример: Использование блоков «Сжать» - «Разжать». - Thu Jan 30 2014 09:17 PM

Здравствуйте! Скрипт работает на минутах открывает позиции в фиксированное время и выставляет стоп на основе цены входа.
В реале стоп появляется через минуту после открытия позиции.
Как настроить, что бы стоп выставлялся сразу после открытия позиции (хотя бы через секунду)), а не в начале следующей минуты? ((((В техподдержке мне ответили: ---> Лучше взять простой пример с Сжатием с тему, на которую у Вас есть ссылка http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8077#Post8077 и переделать под секунды.
> То есть у Вас базовый таймфрейм секунды - дальше сжатие в секунды - на выходе 1 минута получается - от не все расчеты скрипта, но торговля будет вестись по секундам.
> Можете обратиться на форум за примером. Мы не занимаемся оптимизацией пользовательских скриптов.)))))
Теоретически я понимаю, но как это сделать в редакторе?
Помогите, пожалуйста!
Автор: Kombia

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jan 31 2014 04:59 PM

Ого, вот оно как должно быть-то, да уж, я бы сам такое не нарисовал shocked
Спасибо большое за подсказку smile
Ну а пересечение я как-то и не смотрел, хотел накидать два одинаковых скрипта и сравнить потом с исправленной версией, а как он работает не суть, лишь бы одинаковые smile Спасибо еще раз!
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Feb 01 2014 03:54 AM

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=21980#Post21980
Пример B
Автор: MrCredo

Re: Пример: Использование блоков «Сжать» - «Разжать». - Fri Jul 11 2014 05:26 PM

А точно алгоритм выполнен правильно, ведь он открывает сделки только в лонг и не переварачивается?
Автор: ViL

Re: Пример: Использование блоков «Сжать» - «Разжать». - Sat Jul 12 2014 05:31 PM

Originally Posted By: MrCredo
А точно алгоритм выполнен правильно, ведь он открывает сделки только в лонг и не переварачивается?

не понял. о чем речь?
Автор: mafate

Re: Пример: Использование блоков «Сжать» - «Разжать». - Tue Jun 09 2015 08:32 PM

Добрый день! Скорее всего, подобный вопрос уже задавали, но я никак не могу найти ответ в поиске frown

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

Подскажите, можно ли с этим что-то сделать? Это какой-то сбой в программе или так и должно быть?
Автор: ra81

Re: Пример: Использование блоков «Сжать» - «Разжать». - Wed Jun 10 2015 10:35 AM

http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=68685#Post68685

ну и там еще 2 части. посмотрите вдруг поможет