Индикаторы форекс Обсуждение, поиск и тестирование индикаторов для MT4.

Ответить
10.12.2012, 12:40
Аватар для Технарь
Технарь Технарь вне форума Новичок форума
Регистрация: 09.12.2012 / Сообщений: 3
Поблагодарили 19 раз(а) / Репутация: 20

Идея Алерты TMA

Всем привет!
Изучая ТС Коперник и кластерные ТС я столкнулся с тем, что индикатор TMA периодически сыпет алерты, двже если они в параметрах выключены (false).
В темах по ТС я так же видел жалобы на такую проблему.

Посмотрел код индикатора, обнаружил там следующее:

Скрытый текст

PHP код:
      buffer1[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculateTma",HalfLength,Price,ATRMultiplier,ATRPeriod,0,y); 
[свернуть]

Индикатор вызывает сам себя с текущими параметрами HalfLength,Price,ATRMultiplier,ATRPeriod.

Но у этого индикатора параметрами также являются настройки интерполяции и алертов. Так вот, при таком вызове, они берутся по-умолчанию, т.е. те, что прописаны в коде. А в коде по-умолчанию прописано:
PHP код:
extern bool   alertsOn        true
Таким образом, даже если мы настроим в свойствах индикатора alertsOn=false, он все равно внутри будет делать вызовы с значением по-умолчанию (а оно true)

Решения два:
1. изменить в коде значения по-умолчанию на false.
2. Более грамотный вариант, передавать текущие настройки алертов при внутренних вызовах:

Скрытый текст

PHP код:
      buffer1[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculateTma",HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate,alertsOn,alertsOnCurrent,alertsOnHighLow,alertsMessage,alertsSound,alertsEmail0,y); 
[свернуть]


Прилагаю исправленный индикатор

Я протестировал, алерты прекратились. Если кому интересно - прошу скачать, потестировать и прокомментировать

Последний раз редактировалось NSerega; 10.12.2012 в 12:50.
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 21:47. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO