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

 
Andrey Khatimlianskii:

Сделайте подбор с помощью скрипта или специального режима в самом советнике.

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

После этого файл можно подсунуть тестеру.

Ничего более элегантного в голову не приходит. 

Не элегантность такого подхода в том, что я не могу сочинить аналогичное предложение проделать подобные манипуляции возможным будущим покупателям. Как вариант приходила в голову мысль, в советнике включить функцию распознавания режима работы "тестер/реал" и пользоваться в этом режиме заранее вбитым списком инструментов, но тогда это будет как-бы фальсификация, и к тому же возможна ситуация, что на сервере тестирования окажется другой набор инструментов....
Я же Вам говорил, у меня проблема не в том, как самому пользоваться советником, а в том как продемонстрировать в тестере его работоспособность другим (потенциальным пользователям), при работе в терминале проблем нет.
 
Vladimir Suschenko:
Столкнулся с таким интересным моментом - некорректно работают в тестере программные конструкции, подобные приведенному в пример куску кода (привожу самый примитивный вариант). При запуске подобных конструкций в терминале работают нормально. 
Хотелось бы услышать от знающих людей, в чём причина?  Допускаю три варианта: 1 - ограничение функционала тестера;  2 -  глюк тестера; 3 - делаю чёт не так...
Кусок кода в примере должен показывать значение Ask для первых пяти символов из окна обзора.
Вот приблизительно так выглядит результат запуска кода в терминале и в тестере:

Помогите, пожалуйста, разобраться с ситуацией!

Ок. Не работает так, сделайте по другому.

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

Но отражать неработоспособные места здесь - это правильное решение.

 
new-rena:

Ок. Не работает так, сделайте по другому.

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

Но отражать неработоспособные места здесь - это правильное решение.

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

Интересно. А если инструмент не доступен для торговли, разве есть смысл в его тестировании?

Обработчик ошибок тогда надо писать. и пропускать такие инструменты.

 
new-rena:

Интересно. А если инструмент не доступен для торговли, разве есть смысл в его тестировании?

Обработчик ошибок тогда надо писать. и пропускать такие инструменты.

Читните тему сначала. Ситуация такова - мне нафиг не нужно тестировать нерабочий инструмент. Но при попытке советника проверить является ли какой-либо инструмент рабочим, в тестере возникает ошибка и тестирование дальше не идёт, как только попадается первый нерабочий инструмент. В терминале всё работает, проверяется инструмент рабочий/нерабочий, нерабочие отсортировываются и в дальнейшем не используются.
 
Vladimir Suschenko:
Читните тему сначала. Ситуация такова - мне нафиг не нужно тестировать нерабочий инструмент. Но при попытке советника проверить является ли какой-либо инструмент рабочим, в тестере возникает ошибка и тестирование дальше не идёт, как только попадается первый нерабочий инструмент. В терминале всё работает, проверяется инструмент рабочий/нерабочий, нерабочие отсортировываются и в дальнейшем не используются.
Ну я там прочитал - нет истории. Грузите историю, Вам же уже подсказали.
 
new-rena:
Ну я там прочитал - нет истории. Грузите историю, Вам же уже подсказали.
Истории по инструменту нет по причине её отсутствия на сервере для нескольких инструментов, которые в списке торговых инструментов брокера есть, но по ним запрещена торговля и отсутствует история. И весь хоровод именно в том, что узнать даже эту простую информацию об инструменте, что по нему запрещена торговля, в режиме тестера не получается - тестер прекращает работу с сообщением об ошибке. 
Теперь, надеюсь, суть проблемы понятна?
 
Vladimir Suschenko:
Не элегантность такого подхода в том, что я не могу сочинить аналогичное предложение проделать подобные манипуляции возможным будущим покупателям.

Почему?

Это ограничение платформы и вы, как разработчик эксперта, не в силах его обойти.

Но чтоб сделать процесс не полностью ручным, можно сделать запись файла при запуске не в тестере и подсовывание его тестеру. 

 
Andrey Khatimlianskii:

Почему?

Это ограничение платформы и вы, как разработчик эксперта, не в силах его обойти.

Но чтоб сделать процесс не полностью ручным, можно сделать запись файла при запуске не в тестере и подсовывание его тестеру. 

Спасибо, конечно я не отбросил Ваш вариант походя, я думаю об этом. Но вот когда пытаюсь взглянуть на это глазами покупателя, у меня оптимизма не возникает. Я по себе знаю, как например при покупке джинсов, даже именно той фирмы что хотел чуть ли не с детства, на меня действуют слова продавца о том, что их укоротить запросто можно в любой мастерской, прямо вот в трёх шагах отсюда... Ни разу не купил себе штанов которые надо подрезать.
Поэтому я и сказал, что основная проблема для меня в поисках альтернативного решения - это сочинить убедительный для потенциальных пользователей текст инструкции.
 
Renat Fatkhullin:

Командой SymbolSelect вы не "просто хотите выбрать", а прямо приказываете тестеру торговых стратегий заняться моделированием цен этого инструмента. Моделирование даже одного символа - это очень тяжелая работа и для этого обязательно нужна история.

Если вы в тестер загоняете такое количество символов, значит вы вообще не понимаете, что делаете.


Чтобы понять суть процессов, выберите 10 символов через SymbolSelect в тестере на пустом эксперте без логики и запустите визуальный режим. Сразу поймете, о чем я говорю.

 

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

 

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

SymbolsTotal(false)

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