Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Функции ObjectGetValue_ByCurrent .....Delta_ByCurrent .....Delta_ByTimeShift .....Delta_PerBar - библиотека для MetaTrader 4
- Просмотров:
- 2911
- Рейтинг:
- Опубликован:
- 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 апреля" корректно тестируется на участках выходных дней и правее рынка.
Показывает на графике время в разных часовых поясах
MTF_HI_LOW_v1Индикатор MTF_HI_LOW_v1.
Торговля без индикаторов!!!
Dolly_Trading Times _3Индикатор Dolly_Trading Times _3. Показывает рабочее время.