Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Функции ObjectGetValue_ByCurrent .....Delta_ByCurrent .....Delta_ByTimeShift .....Delta_PerBar - библиотека для MetaTrader 4

Просмотров:
2877
Рейтинг:
(7)
Опубликован:
2008.04.16 16:11
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Предлагаемые функции возвращают линейно изменяющееся во времени значение цены графического объекта находящегося в произвольном окне графика.

Размещены в теле тестового скрипта, который наглядно демонстрирует процесс формирования бара.

Концепция.

Стандартная функция ObjectGetValueByShift() возвращает значение в точках времени открытия бара, т.е. дискретно с шагом тайм фрейм.

Это обусловлено передачей параметра Х-ординаты графика в виде (int) номера бара.

Вызывая стандартную функцию ObjectGetValueByShift() внутри временного отрезка формирования бара мы получаем одно и то же значение.

Стандартная функция ObjectGetValueByShift() не вычисляет изменение Y ординаты объекта в течение всего времени формирования бара.

При создании МТС реагирующих на пересечение графического объекта, конкретно объектов типа TrendLine, набегает "ошибка" в десятки пунктов.

Соответственно потребовались функции возвращающие действительное значение на каждом торговом тике.


ObjectGetDelta_PerBar(string "ObjectName")

ObjectGetDelta_ByCurrent (string "ObjectName")   

ObjectGetValue_ByCurrent(string "ObjectName", int BarNumber)   

ObjectGetDelta_ByTimeShift(string "ObjectName", double TimeShift   )

Функция ObjectGetDelta_PerBar(string "ObjectName") возвращает наклон графического объекта на 1 бар, вычисленного из координат объекта, т.е. возвращает delta = приращение на один бар.

Функция учитывает пропуски баров в выходные дни, и размещение графического объекта правее рынка.

Это позволяет оперировать объектами выходящими за позицию нулевого бара.

Функция ObjectGetDelta_ByCurrent (string "ObjectName") вычисляется текущее приращение внутри бара по времени истекшему от начала бара.

Функция ObjectGetValue_ByCurrent(string "ObjectName", int BarNumber ) суммирует значение текущего линейного приращения ObjectGetDelta_ByCurrent () со значением на заданном номере бара если это значение не равно нулю.

На нулевом баре это будет истинное значение. На любом другом баре это будет значение смещенное на истекшее время формирования нулевого бара. Т.е. при вызове с номером бара отличным от нуля будет плавное смещение пропорциональное времени формирования нулевого бара. Для МТС эта особенность по нашему мнению удобна.

Равное нулю значение цены графического объекта получается за его границами. В этом случае функция вернет ноль. Программист должен проверять возвращаемое значение на ноль.

ObjectGetDelta_ByTimeShift(string "ObjectName", double TimeShift )

Для построения МТС удобно иметь функцию дающую значение приращения Y-ординаты на произвольно заданное время, вперед или назад.

Данный скрипт при тестировании на М1 демо/реал демонстрирует:

1. неравномерность поступления торговых тиков.

2. запаздывание события открытия/отрисовки бара из-за отсутствия тиков.

3. обнаруживает временно отсутствующие бары и демонстрирует присвоение им времени открытия задним числом.



Например:

Время[0]=1208396460 линия[0]=162.5545 текущее значение внутри 0 бара=162.5300 линия (- 1)=162.5273 delta на (1) бар=-0.0273 delta на (2) бара=-0.0545

Процент времени Бара=72% поправка цены линии=-0.0195

Время[0]=1208396400 линия[0]=162.5818 текущее значение внутри 0 бара=162.5400 линия (- 1)=162.5545 delta на (1) бар=-0.0273 delta на (2) бара=-0.0545

Процент времени Бара=152% поправка цены линии=-0.0414

Время[0]=1208396400 линия[0]=162.5818 текущее значение внутри 0 бара=162.5500 линия (- 1)=162.5545 delta на (1) бар=-0.0273 delta на (2) бара=-0.0545

Процент времени Бара=127% поправка цены линии=-0.0345


Советы:

Пояснение: смотреть выдачу в "эксперты" внизу рядом с "журнал".

При удалении скрипта с графика выражена задержка, которую дает МТ-4 на завершение работы.


ВНИМАНИЕ
:
Были ошибки на пропушенных барах.
Все исправлено. Теперь скрипт с комментарием "ИСПРАВЛЕНО от 19 апреля" корректно тестируется на участках выходных дней и правее рынка.




Clock v 1.3 индикатор Clock v 1.3 индикатор

Показывает на графике время в разных часовых поясах

MTF_HI_LOW_v1 MTF_HI_LOW_v1

Индикатор MTF_HI_LOW_v1.

10 pips 10 pips

Торговля без индикаторов!!!

Dolly_Trading Times _3 Dolly_Trading Times _3

Индикатор Dolly_Trading Times _3. Показывает рабочее время.