Непонятное поведение iCustom. Нужна помощь

 

Здравствуйте!

Проблема в следующем:

1. Есть индикатор ASI_Touch_2.1, который отслеживает касание ценой скользящих средних.

2. В эксперте ASITest значение индикатора определяется с помощью функции iCustom.

3. Это значение определяется некорректно. Иллюстрация: EURUSD, 5M, тестирование с 06.01.2011 по 07.01.2011. На баре 08:15 в журнал выводится корректное значение индикатора, на баре 15:15 - некорректное. Дилер - "Альпари".

Буду очень благодарен за разъяснения данной ситуации. Исходные коды прилагаются.

Спасибо!

Файлы:
asi.zip  4 kb
 
Malkovich:

Здравствуйте!

Проблема в следующем:

1. Есть индикатор ASI_Touch_2.1, который отслеживает касание ценой скользящих средних.

2. В эксперте ASITest значение индикатора определяется с помощью функции iCustom.

3. Это значение определяется некорректно. Иллюстрация: EURUSD, 5M, тестирование с 06.01.2011 по 07.01.2011. На баре 08:15 в журнал выводится корректное значение индикатора, на баре 15:15 - некорректное. Дилер - "Альпари".

Буду очень благодарен за разъяснения данной ситуации. Исходные коды прилагаются.

Спасибо!

У вас значение внешней переменной Precision разное в прикреплённых файлах - может в этом причина?
 
khorosh:
У вас значение внешней переменной Precision разное в прикреплённых файлах - может в этом причина?
Нет, не в этом, проверил.
 

Вообще очень странно...

Неужели баг МТ? Что-то не верится.

В коде индикатора ошибок нет, сам по себе он работает корректно. А вот получение его значений через iCustom в эксперте работает некорректно, хотя в эксперте все просто, 3 строчки кода...

 
Malkovich:

Вообще очень странно...

Неужели баг МТ? Что-то не верится.

В коде индикатора ошибок нет, сам по себе он работает корректно. А вот получение его значений через iCustom в эксперте работает некорректно, хотя в эксперте все просто, 3 строчки кода...


А вы можете выложить скрин, чтобы было видно что именно вас не устраивает?
 

Да, конечно.

Картинка 1: видно, что индикатор показывает 2 касания, и он показывает их именно так, как и надо.

Картинки 2 и 3: а такие значения выводятся в журнал по результатам тестирования эксперта. Видно, что первое касание в эксперте определяется корректно, а второе - нет.

Если что-то непонятно объяснил, спрашивайте.

 
Malkovich:

Да, конечно.

Картинка 1: видно, что индикатор показывает 2 касания, и он показывает их именно так, как и надо.

Картинки 2 и 3: а такие значения выводятся в журнал по результатам тестирования эксперта. Видно, что первое касание в эксперте определяется корректно, а второе - нет.


Причина всё-таки в том что значение Precision в файлах задано было разное. Когда я сделал в экспе = 10, работает нормально. А вы, наверно, когда компилировали после исправления значения этой переменной не остановили тестирование. Нужно перед компилированием всегда останавливать тестирование советника, т.е. нажимать стоп.

 

Большое спасибо за наводку!

На самом деле, все работает корректно, если Precision не равно 0. Если в коде ничего не менять, а перед тестированием в свойствах эксперта задавать Precision равным 1, или 5, или 10 - неважно, то все работает правильно. Стоит только задать Precision=0, опять получается такая ситуация, как на картинке.

Хотя так быть не должно, конечно. Какая разница, какое значение параметра мы передаем через iCustom - ноль или единицу? Написать, что ли, в ветку, где баги МТ отлавливают?

 
Malkovich:

Большое спасибо за наводку!

На самом деле, все работает корректно, если Precision не равно 0. Если в коде ничего не менять, а перед тестированием в свойствах эксперта задавать Precision равным 1, или 5, или 10 - неважно, то все работает правильно. Стоит только задать Precision=0, опять получается такая ситуация, как на картинке.

Хотя так быть не должно, конечно. Какая разница, какое значение параметра мы передаем через iCustom - ноль или единицу? Написать, что ли, в ветку, где баги МТ отлавливают?

МТ не причём. В индикаторе сделай Precision=0, сигналы индикатора пропадут. Таков принцип действия этого индикатора.
 
Мне вообще не понятно для чего нужен этот индикатор, разве без него не видно где цена касается скользящих средних. Разве, что для разгрузки графика - не надо эти скользящие средние набрасывать на график. Но при этом частично теряется информативность. Вряд ли можно работать без этих средних, а только по индикатору, так как надо видеть отскочила цена или пробила среднюю.
 
khorosh:
МТ не причём. В индикаторе сделай Precision=0, сигналы индикатора пропадут. Таков принцип действия этого индикатора.
Сигналы не пропадут, они просто станут более редкими. Только что проверил еще раз - индикатор работает корректно.
Причина обращения: