Rich: Поседеть можно, если формируешь для тестирования портфель инструментов и вместо потыкать в окошке Обзора интересующие инструменты вынужден кодить ручками неимоверное число различных вариантов портфеля...
В обзоре рынка правой кнопкой - Наборы - Сохранить как, потом из эксперта открывать файл. Незначительное количество лишних телодвижений.
Ренат, спасибо, это я уже ручками потыкал, попробовал, понял...
Весь то прикол как раз в том, чтобы в "Обзоре..." выбрать нужные символы, по ним, и только по выбранным в окошке символам протестироваться, убрать ненужные (опять же в окошке), добавить недостающие - опять потестироваться, и потом - на торговлю. И все это без внесения изменений в исходники, без перекомпиляции. Ну вот, жизненный пример: у меня три различных профиля, в каждом профиле куча разных инструментов, чтобы потестировать многовалютный советник в каждом профиле, как Вы и писали, ручками в коде формирую портфели, компилю, тестю, а мог бы просто выбрал новый профиль - и тестю только на тех инструментах, который в профиле загружаются в "Обзор...".
И это цветочки, ягодки начинаются при общении с заказчиком, поди ж ему объясни, почему он должен сформировать и выслать мне абсолютно точные наименования инструментов, которые предоставляет брокер, и не перепутать диез с октоторпом, и для каждого портфеля теремболить мне: удали фьючи на афганку, добавь фьючи на пользованный памперс, хочу посмотреть на такой портфель...
По тексту прозвучало "...по умолчанию..." - и это значит, что кроме умолчаний есть и другие режимы старта тестера. Интересующий меня есть? Если да - как к нему получить доступ?
А если через файл загружать нужные символы и параметры для мультивалютника? Когда параметры передаются в блок инициализации советника он выбирает его в MarketWatch.
Konstantin83: А если через файл загружать нужные символы и параметры для мультивалютника? Когда параметры передаются в блок инициализации советника он выбирает его в MarketWatch.
Там еще сам символ нужно передать в блок инициализации)
Рашид, Вы написали скрипт. Во вложении он же, но переделанный в эксперт. Не поленитесь, откройте в MarketWatch-е несколько инструментов и откройте хоть один график из выбранных инструментов. Киньте на любой график эксперт - посмотрите результат: в файле будут аккуратно перечислены все инструменты. Но это мне не интересно!
Сделал, только немного оптимизировал, чтобы он не писал в файл на каждом тике
//+------------------------------------------------------------------+//| GiveMeCurrentMarketWatch.mq5 |//| Copyright 2011, MetaQuotes Software Corp. |//| https://www.mql5.com/ru/forum/4739 |//+------------------------------------------------------------------+#property copyright "Copyright 2011, MetaQuotes Software Corp."#property link "https://team.metaquotes.ru/email/view/599588"#property version "1.00"//--- input parametersinputbool fromMarketWatch=true;
bool first=true;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnTick()
{
if(first)
{
MakeList();
first=false;
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void MakeList()
{
//--- всего символовint total=SymbolsTotal(fromMarketWatch);
string list=" \r\n";
//--- соберем список символовfor(int i=0;i<total;i++)
{
StringAdd(list,SymbolName(i,fromMarketWatch)+"\r\n");
}
Comment(list);
//--- запишем в файл ResetLastError();
int handle=FileOpen("MarketWatchSymbols.txt",FILE_WRITE);
if(handle!=INVALID_HANDLE)
{
FileWrite(handle,list);
FileClose(handle);
Print("Symbols from MarketWatch have been saved");
}
else
{
PrintFormat("Error code=%d",GetLastError());
}
}
//+------------------------------------------------------------------+
При тестировании эмулируется также и "Обзор рынка", из которого можно получать информацию по инструментам. По умолчанию в начале тестирования в "Обзоре рынке" тестера есть только один символ - символ на котором запущено тестирование. Все необходимые символы подключаются к "Обзору рынка" тестера (не терминала!) автоматически при обращении к ним.
Перед началом тестирования мультивалютного эксперта необходимо выбрать требуемые для тестирования инструменты в "Обзоре рынка" терминала и подкачать данные на нужную глубину. При первом же обращении к "чужому" символу будет автоматически произведена синхронизация по этому символу между агентом тестирования и клиентским терминалом. "Чужой" символ - это символ, отличающийся от того, на котором запущено тестирование.
...
Для каждого инструмента генерируется собственная тиковая последовательность в соответствие с выбранным режимом генерации тиков. Кроме того, можно явно запросить историю для нужных символов с помощью вызова функции SymbolSelect() в обработчике OnInit() - загрузка истории будет произведена сразу же до начала тестирования советника.
В данные момент обнаружилось, что в тестере происходит при вызове функций типа SymbolName(i,true) происходит обращение к общему списку символов на сервере, а не к списку символов из MarketWatch терминала. Это будет исправлено.
В данные момент обнаружилось, что в тестере происходит при вызове функций типа SymbolName(i,true) происходит обращение к общему списку символов на сервере, а не к списку символов из MarketWatch терминала. Это будет исправлено.
Рашид, не получилось дотянуть ожидание до года. Как там поживает исправление? Возможно ли ожидать в обозримом будущем выбор в режиме тестирования всех символов из MarketWatch?
Поседеть можно, если формируешь для тестирования портфель инструментов и вместо потыкать в окошке Обзора интересующие инструменты вынужден кодить ручками неимоверное число различных вариантов портфеля...
В обзоре рынка правой кнопкой - Наборы - Сохранить как, потом из эксперта открывать файл. Незначительное количество лишних телодвижений.
Ренат, спасибо, это я уже ручками потыкал, попробовал, понял...
Весь то прикол как раз в том, чтобы в "Обзоре..." выбрать нужные символы, по ним, и только по выбранным в окошке символам протестироваться, убрать ненужные (опять же в окошке), добавить недостающие - опять потестироваться, и потом - на торговлю. И все это без внесения изменений в исходники, без перекомпиляции. Ну вот, жизненный пример: у меня три различных профиля, в каждом профиле куча разных инструментов, чтобы потестировать многовалютный советник в каждом профиле, как Вы и писали, ручками в коде формирую портфели, компилю, тестю, а мог бы просто выбрал новый профиль - и тестю только на тех инструментах, который в профиле загружаются в "Обзор...".
И это цветочки, ягодки начинаются при общении с заказчиком, поди ж ему объясни, почему он должен сформировать и выслать мне абсолютно точные наименования инструментов, которые предоставляет брокер, и не перепутать диез с октоторпом, и для каждого портфеля теремболить мне: удали фьючи на афганку, добавь фьючи на пользованный памперс, хочу посмотреть на такой портфель...
По тексту прозвучало "...по умолчанию..." - и это значит, что кроме умолчаний есть и другие режимы старта тестера. Интересующий меня есть? Если да - как к нему получить доступ?
А если через файл загружать нужные символы и параметры для мультивалютника? Когда параметры передаются в блок инициализации советника он выбирает его в MarketWatch.
В обзоре рынка правой кнопкой - Наборы - Сохранить как, потом из эксперта открывать файл. Незначительное количество лишних телодвижений.
Дмитрий, спасибо, именно так я сейчас всё и реализовал. Но это всё-таки как минимум один лишний шаг. А вот Ренат писал:
Тестер по умолчанию стартует на одном символе...
Т.е. не по умолчанию можно грузить весь MarketWatch, чего бы и хотелось...
Рашид, Вы написали скрипт. Во вложении он же, но переделанный в эксперт. Не поленитесь, откройте в MarketWatch-е несколько инструментов и откройте хоть один график из выбранных инструментов. Киньте на любой график эксперт - посмотрите результат: в файле будут аккуратно перечислены все инструменты. Но это мне не интересно!
Сделал, только немного оптимизировал, чтобы он не писал в файл на каждом тике
В статье Основы тестирования в MetaTrader 5 говорится:
При тестировании эмулируется также и "Обзор рынка", из которого можно получать информацию по инструментам. По умолчанию в начале тестирования в "Обзоре рынке" тестера есть только один символ - символ на котором запущено тестирование. Все необходимые символы подключаются к "Обзору рынка" тестера (не терминала!) автоматически при обращении к ним.
Перед началом тестирования мультивалютного эксперта необходимо выбрать требуемые для тестирования инструменты в "Обзоре рынка" терминала и подкачать данные на нужную глубину. При первом же обращении к "чужому" символу будет автоматически произведена синхронизация по этому символу между агентом тестирования и клиентским терминалом. "Чужой" символ - это символ, отличающийся от того, на котором запущено тестирование.
...
Для каждого инструмента генерируется собственная тиковая последовательность в соответствие с выбранным режимом генерации тиков. Кроме того, можно явно запросить историю для нужных символов с помощью вызова функции SymbolSelect() в обработчике OnInit() - загрузка истории будет произведена сразу же до начала тестирования советника.
В статье Основы тестирования в MetaTrader 5 говорится:
В данные момент обнаружилось, что в тестере происходит при вызове функций типа SymbolName(i,true) происходит обращение к общему списку символов на сервере, а не к списку символов из MarketWatch терминала. Это будет исправлено.