является обычной макроподстановкой и само имя market_indicator не является зарезервированным?
Перефразируя вопрос: имя индикатора можно задать из input переменной?
Можно, но все равно получится не очень. Как-то так:
#property tester_indicator "Market\\Uniform_Moving_Price_Range_demo"//--- input parametersinputstringindicator_name="Uniform_Moving_Price_Range_demo";int indicator_handle;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- подготовим имя индикатора с учетом пути к немуstringpath_name="Market\\"+indicator_name;
//--- попытка создания индикатора
indicator_handle=iCustom(_Symbol,_Period,path_name);
//--- если хэндл оказалася невалидным, значит проблемы с индикаторомif(indicator_handle==INVALID_HANDLE)
{
Print("Не удалось создать индикатор ",indicator_name,". Ошибка ",GetLastError());
return(-1);
}
//--- инициализация прошла умпешно, вернем 0return(0);
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---
}
//+------------------------------------------------------------------+
Перефразируя вопрос: имя индикатора можно задать из input переменной?
Было бы удобней, да.
Но, ещё удобней было бы, если бы можно было выбрать из выпадающего списка в настройках тестового специально эксперта нужный индикатор (автоматом шерстится папка Market на предмет наличия индикаторов в ней).
Пусть такой эксперт будет закрытым (исходники чайников не интересуют) - главное что будет удобно.
Имя пользовательского индикатора в формате "имя_индикатора.ex5". Необходимые для тестирования индикаторы определяются автоматически из вызова функций iCustom(), если соответствующий параметр задан константной строкой. Для остальных случаев (использование функции IndicatorCreate() или использование неконстантной строки в параметре, задающем имя индикатора) необходимо данное свойство
нет ошибки нет, директива tester_indicator больше не нужна
Вы почему то уходите от прямых ответов, а вместе с тем от этого ответа зависит смогу ли я предложить универсальный шаблон тестирования маркетных индикаторов без знания программирования или нет.
нет ошибки нет, директива tester_indicator больше не нужна
1. Нет, я не ошибся.
2. Директива #property tester_indicator по-прежнему нужна в случае (далее почти цитата из справки) "использования функции IndicatorCreate() или использования неконстантной строки в параметре, задающем имя индикатора"
Вы почему то уходите от прямых ответов, а вместе с тем от этого ответа зависит смогу ли я предложить универсальный шаблон тестирования маркетных индикаторов без знания программирования или нет.
Я конкретно показал место из справки и даже выделил нужное, чтобы не было домыслов. Неужели из этого не видно, что в каких-то случаях директива нужна, а в каких-то нет? Например, если используем функцию iCustom() и передаем ей имя в виде строковой константы или макроса.
через 2-3 дня с момента скачивания.
Я правильно понимаю, что теперь для того чтоб индикатор отображался в визуале не нужна процедура
#property tester_indicatorа сама подстановка
#define market_indicatorявляется обычной макроподстановкой и само имя market_indicator не является зарезервированным?
Перефразируя вопрос: имя индикатора можно задать из input переменной?
является обычной макроподстановкой и само имя market_indicator не является зарезервированным?
Перефразируя вопрос: имя индикатора можно задать из input переменной?
Можно, но все равно получится не очень. Как-то так:
Перефразируя вопрос: имя индикатора можно задать из input переменной?
Было бы удобней, да.
Но, ещё удобней было бы, если бы можно было выбрать из выпадающего списка в настройках тестового специально эксперта нужный индикатор (автоматом шерстится папка Market на предмет наличия индикаторов в ней).
Пусть такой эксперт будет закрытым (исходники чайников не интересуют) - главное что будет удобно.
Можно, но все равно получится не очень. Как-то так:
Ваш пост приобретает смысл если директиву
#property tester_indicatorвсё ещё в обязательном порядке нужно применять, для того чтоб индикатор вызывался в тестере.
Но в коде топикстартера я такой директивы не обнаружил поэтому и задал вопрос.
теперь вам отдуваться: что это баг кода топикстартера или отмена обязательности директивы?
Ваш пост приобретает смысл если директиву
всё ещё в обязательном порядке нужно применять, для того чтоб индикатор вызывался в тестере.
Но в коде топикстартера я такой директивы не обнаружил поэтому и задал вопрос.
теперь вам отдуваться: что это баг кода топикстартера или отмена обязательности директивы?
Читаем внимательно справку https://www.mql5.com/ru/docs/basis/preprosessor/compilation :
tester_indicator
string
Имя пользовательского индикатора в формате "имя_индикатора.ex5". Необходимые для тестирования индикаторы определяются автоматически из вызова функций iCustom(), если соответствующий параметр задан константной строкой. Для остальных случаев (использование функции IndicatorCreate() или использование неконстантной строки в параметре, задающем имя индикатора) необходимо данное свойство
Читаем внимательно справку https://www.mql5.com/ru/docs/basis/preprosessor/compilation :
А нельзя человеческим языком ответить:
топикстартер ошибся исправим
или
нет ошибки нет, директива tester_indicator больше не нужна
Вы почему то уходите от прямых ответов, а вместе с тем от этого ответа зависит смогу ли я предложить универсальный шаблон тестирования маркетных индикаторов без знания программирования или нет.
А нельзя человеческим языком ответить:
топикстартер ошибся исправим
или
нет ошибки нет, директива tester_indicator больше не нужна
1. Нет, я не ошибся.
2. Директива #property tester_indicator по-прежнему нужна в случае (далее почти цитата из справки) "использования функции IndicatorCreate() или использования неконстантной строки в параметре, задающем имя индикатора"
Вы почему то уходите от прямых ответов, а вместе с тем от этого ответа зависит смогу ли я предложить универсальный шаблон тестирования маркетных индикаторов без знания программирования или нет.
Необходимо прямое указание имени индикатора в тексте эксперта. Именно из-за этого универсального варианта эксперта не получиться.