№2 Сжатие/разжатие

Блоки сжатие и разжатие, всегда используются вместе.

В программе автоматически включается авторазжатие в следующих случаях:
1. в формуле сходятся разные сжатые интервалы (если один и тот же, не будет авторазжатия)
2. вывод на график результат работы индикатора, который что-то посчитал в сжатом виде
Исключение, при котором нужно использовать ручное разжатие(блок Разжать) нужно использовать, когда в блоке формула используются сжатые данные(данные от блока сжатие) и не сжатые(данные от блока источник).


Что такое сжатие и разжатие?

http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8077#Post8077

Когда используются?
1. Несколько "Экранов" - стратегии Элдера
2. Стоп на позицию необходимо поставить сразу, после входа в позицию.
3. Нестандартные данные. Каждый час начинается не в 10:00, например, а со сдвигом в 30 минут, в 10:30.

Примеры:
A/ Необходимо на минутный график вывести закрытия
баров часового таймфрема и дневного таймфрейма.
Так же необходимо вывести на график классический МАКД с
часового и классический стохастик с дневного таймфрейма.
В приложении пример "А".

Блок "Сжатие" всегда считает в единицах таймфрейма источника, если в источнике минуты просто подсчитать, что
например в сутках 1440 минут(это все равно, что дневная
сессия, т.к. после закрытия дня, данные не идут, а следующие
начинаются только на следующий день), в трех часах - 300
минут, в часовом - 60 минут. Если в источнике Секунды,важно только знать, что в одной минуте 60 секунд. Блок сжатие в секунды, нужен для того, что бы создать секунды из тиков


В/ В примере "В", стратегия покупка/продажа
при пересечениях закрытия свечи и ЕМА на таймфрейме 5 минут, с выставлением
стопа на сервер брокера через 5 секунд после входа. С возможностью существования двух разнонаправленных позиций. В приложении пример "В".

Следует учесть, что пересчет скрипта будет каждые 5 секунд, а не каждые пять минут, что сильно нагрузит Ваш компьютер при расчете всей истории. Например для того, чтобы произвести расчет индикатора на последнем баре для нашего случая, периода 21 с пяти минутного таймфрейма, программе нужна всего история: 21(кол-во 5 минуток)*300(кол-во секунд в 5 минутах)= 6300/5(таймфрейм)=1260баров + какое-то значение, для исключения ошибок = 1300.
(Следовательно, на реально торгующем скрипте, данное значение "1300" (для периода 21, 5 минутного таймфрейма, с пересчетом каждые 5 секунд) следует поставить в графе "Максимум баров" в свойствах скрипта, для уменьшения скорости пересчета, данная рекомендация относится только уже к торговому скрипту, стоящему на реальных деньгах). Данная рекомендация - не к исполнению, следует знать формулы индикаторов, чтобы точно знать сколько баров нужно для расчета(Например для EMA нужно минимум умножить нашу цифру на пять, а для JMA в общем случае(формулы могут отличаться) нужно умножить на 20). А так же в торгующем агенте как правило должно хватать баров, что бы на графике был виден последний вход и выход из позиции.
Пересчет - это математические вычисления данных в скрипте(индикаторы, логические вычисления и т.д.), по данным пересчета, на закрытии свечи источника(в нашем случае 5 секунд), происходит обмен данными между сервером брокера и программой. Именно в этот момент скрипт отправляет информацию на сервер, о новых заявках, которые насчитал пересчет


Источник и сжатие можно выводить на одну графическую панель:


Attachments
A.xml (886 downloads)
В.xml (1059 downloads)
ИсточникИсжатие.jpg (10004 downloads)