Ограничение функционала или глюк тестера? - страница 3

 
Alexey Oreshkin:

 

Как обычно, Рената не переубедить. И если что то делается не так как велено, то ответ один - вы не знете, вам это не надо и т.д.

 

Мне нужно в тестере провести некоторый анализ всех инструментов у которых метод расчёта форекс. Что я могу сделать для этого? Для начала я беру список всех доступных символов. Используя

далее я проверяю является ли этот символ валютной парой, потом есть ли ограничения на торговлю и есть ли нужный мне объём истории и если везде да, то продолжаю работать далее. Если нет, то этот инструмент мне не подходит и я его скрываю. Это в теории. На практике тестер сразу вылетает как только появляется неторгуемый символ или ошибка загрузка истории. то есть хвалёный мультивалютный тестер не может сделать простой отбор инструментов. Для чего он такой нужен? Только для детей которые гоняют машки. 

Ну вот и славненько, я оказывается не единственный,  у кого функционал тестера вызывает вопросы (а то уже даже комплексовать начал). Жаль, конечно, что с ответами на эти вопросы всё так не оптимистично....
 
Vladimir Suschenko:
Ну вот и славненько, я оказывается не единственный,  у кого функционал тестера вызывает вопросы (а то уже даже комплексовать начал). Жаль, конечно, что с ответами на эти вопросы всё так не оптимистично....

Давно уже с этим столкнулся, но раньше было не критично, а теперь сам сижу и ломаю голову. Создать скрипт который подготовит файл с перечнем рабочих символов не проблема. Но этот файл пишется в каталог Terminal\MQL5\Files. А тестер ищет файлы в каталоге Terminal\Tester\Agent-127.0.0.1-3000\MQL5\Files. То есть покупателю нужно ещё не только запустить этот скрипт, но и переместить этот файл. И такое чувство что никто не занимается мультивалютной торговлей. Я имею ввиду когда идёт поиск и взаимосвязь между валютами, а не просто запуск соло-алгоритма сразу по всему перечню валют.

Всёж для людей. Я уверен, что мы просто не понимаем прелести этого решения и так действительно лучше :(

 
зы. Единственное нормальное решение которое я придумал это в описании робота написать что тест возможен только на сервере метаквотов и самому в робота прописать используемые там символы.
 
Alexey Oreshkin:

Давно уже с этим столкнулся, но раньше было не критично, а теперь сам сижу и ломаю голову. Создать скрипт который подготовит файл с перечнем рабочих символов не проблема. Но этот файл пишется в каталог Terminal\MQL5\Files. А тестер ищет файлы в каталоге Terminal\Tester\Agent-127.0.0.1-3000\MQL5\Files. То есть покупателю нужно ещё не только запустить этот скрипт, но и переместить этот файл. И такое чувство что никто не занимается мультивалютной торговлей. Я имею ввиду когда идёт поиск и взаимосвязь между валютами, а не просто запуск соло-алгоритма сразу по всему перечню валют.

Всёж для людей. Я уверен, что мы просто не понимаем прелести этого решения и так действительно лучше :(

#property tester_file symbols.txt

скопирует файл symbols.txt из каталога MQL5\Files клиентского терминала в каталог тестерного агента перед началом тестирования
 
Slawa:
#property tester_file symbols.txt

скопирует файл symbols.txt из каталога MQL5\Files клиентского терминала в каталог тестерного агента перед началом тестирования
Почти удачное решение:)
Фишка в том, что у пользователя, скачавшего демку, нет возможности запустить её в терминале, чтоб создать файл symbols.txt. 
Вобщем, пони бегают по кругу....
 
Slawa:
#property tester_file symbols.txt

скопирует файл symbols.txt из каталога MQL5\Files клиентского терминала в каталог тестерного агента перед началом тестирования

Это хороший вариант но для других целей. Здесь же задача сделать так чтобы покупатель не страдал фигней с перемещением файлов или созданием таблицы используемых символов потому что тестер не умеет нормально отбирать рабочие инструменты. Казалось бы проблема не стоит даже внимания, ан нет.

 

Ну да, это конечно явная недоработка тестера.  Отсутствие истории по какому-либо символу (не являющимся основным символом, выбранном в настройках тестирования) - это не повод для остановки теста.

Кроме того, моделирование полной истории по данному символу здесь вовсе не требуется.  Программе нужно было узнать лишь флаг доступности торговли по данному символу, и не более.  Никакого запроса исторических данных не было.  Поэтому это тоже недоработка разработчиков, что SymbolSelect сразу тупо начинает моделировать историю, хотя в этом нет надобности.

Как вариант временного решения могу посоветовать сделать отдельный строковой параметр IgnoreSymbols, в котором пользователь сам перечислит проблемные символы (ведь этих символов не должно быть много).

Кстати я не совсем понял, история по указанным инструментам полностью отсутствует в терминале? или она просто старая?

 
Alexey Navoykov:

Ну да, это конечно явная недоработка тестера.  Отсутствие истории по какому-либо символу (не являющимся основным символом, выбранном в настройках тестирования) - это не повод для остановки теста.

Кроме того, моделирование полной истории по данному символу здесь вовсе не требуется.  Программе нужно было узнать лишь флаг доступности торговли по данному символу, и не более.  Никакого запроса исторических данных не было.  Поэтому это тоже недоработка разработчиков, что SymbolSelect сразу тупо начинает моделировать историю, хотя в этом нет надобности.

Как вариант временного решения могу посоветовать сделать отдельный строковой параметр IgnoreSymbols, в котором пользователь сам перечислит проблемные символы (ведь этих символов не должно быть много).

Кстати я не совсем понял, история по указанным инструментам полностью отсутствует в терминале? или она просто старая?

По символу закрыта торговля. Ввод строкового параметра по игнорированию символов это наверное самое разумное решение. Как то сам не догадался. Благодарю.
 
Alexey Navoykov:

Ну да, это конечно явная недоработка тестера.  Наличие/отсутствие истории ко какому-либо символу (не являющимся основным символом, выбранном в настройках тестирования) - это не повод для остановки теста.

Кроме того, моделирование полной истории по данному символу здесь вовсе не требуется.  Программе нужно было узнать лишь флаг доступности торговли по данному символу, и не более.  Никакого запроса исторических данных не было.  Поэтому это тоже недоработка разработчиков, что SymbolSelect сразу тупо начинает моделировать историю, хотя в этом нет надобности.

Как вариант временного решения могу посоветовать сделать отдельный строковой параметр IgnoreSymbols, в котором пользователь сам перечислит проблемные символы (ведь этих символов не должно быть много).

Кстати я не совсем понял, история по указанным инструментам полностью отсутствует в терминале? или она просто старая?

Вариант с использованием параметра IgnoreSymbols - не выход. Представьте возможное количество брокеров.  Как заранее предугадать, у кого из них какой инструмент окажется нерабочим (а ещё масса брокеров, где используются префиксы/суффиксы в названиях инструментов).
Какая история там по инструментам, старая или отсутствует вообще - не это главное. Главное, что попытка узнать любую информацию об инструменте, у которого с историей не всё в порядке, приводит к сбою в работе тестера. 
 
Alexey Oreshkin:
По символу закрыта торговля. Ввод строкового параметра по игнорированию символов это наверное самое разумное решение. Как то сам не догадался. Благодарю.
Не поможет - список игнорируемых инструментов как будете составлять?
Причина обращения: