Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так вопрос-то был как раз не в статье! А в том, как же все-таки организовать мультивалютное тестирование, которое все никак не идет!
Повторяю. По Вашей заявке в данный момент идёт работа. Нашли и исправили баг с синхронизацией истории между тестером и клиентским терминалом. Сейчас проверяем.
Повторяю. По Вашей заявке в данный момент идёт работа. Нашли и исправили баг с синхронизацией истории между тестером и клиентским терминалом. Сейчас проверяем.
День добрый всем. Делаю сейчас перевод мультивалютного советника с МT4 на МТ5. В отладчике советник худо - бедно заработал, а вот при попытке запустить его в тестере полезло море проблем.
Советник работает по 28 парам используя все таймфреймы от минуток до месяца используя по 30 баров каждого графика. При попытке подгрузить историю по всем парам началась карусель по полной.
1. если выставляешь период тестирования меньше неделек - то не удается ни какими СopyTime и им подобными функциями выкачать 30 месячных баров. Пишет:
History 15:12:22 EURUSD,Monthly: contains 22 bars of beginning data from 2011.01.01 00:00 to 2012.10.01 00:00
То есть не дает выкачивать данные ранее начала прошлого года. Чтобы взять эти данные - нужно выставить в тестере период тестирования недельки или месяцы - тогда данные выкачать дает, но начинается другая свистопляска.
2. В тестере включена визуализация - смотрю графики - все нормальные кроме неделек. Недельные графики по всем инструментам кривые, хотя в самом терминале они отрисовываются нормально. Это вопрос похоже к разработчикам, так как выглядит как явный баг, поскольку на прорисовку графиков я влиять не могу.
3. Сжирает 2 гига памяти - после чего начинает писать что ему не хватило памяти и завершает работу. Озу я конечно докуплю, но напрягает то, что диспетчер винды показывает в этот момент что есть еще пол гига свободной памяти - а советник уже навернулся. При этом у меня стояло физически 2 гига озу.
Поменял Озу на 4 гига - советник выдал ошибку нехватки памяти ровно на том же месте и навернулся также написав : 0 Tester 14:50:14 1820 Mb memory used.
То есть удвоение ОЗУ не продвинуло работу советника ни на шаг.
Данные выкачиваю такой функцией :
double iClose(string symbol,int tf,int index){
if(index < 0) return(-1);
double Arr[];
//ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
return(Arr[0]);
else return(-1);
}
1 раз запрашиваю самый дальний бар - и история подкачивается. ( в терминале все работает нормально, а вот в тестере нет).
пробовал ставить в цикле вот такую - вроде как более корректную конструкцию
int bars=Bars(name,period);
int copied=CopyTime(name,period,bars,100,times); - результат ни чем не отличается. Где проблемы были - там они и есть, а где не было, то и по старому варианту проходило.
В приложении скриншоты и лог агента. Кто что посоветует?
Посмотрите "Справочник MQL5 / Доступ к таймсериям и индикаторам / Организация доступа к данным". Там есть "пример скрипта для закачки истории". Сам работаю с его творчески переделанной версией, но суть в том, что в тестере каких-либо проблем с подгрузкой истории (12 пар) не наблюдалось.
ну если тестер загрузил чуть больше трети и сожрал 1800Мб то гиг 6 должно хватить даже если все держать в физ. ОЗУ. А вообще по моим понятиям - должно работать и на меньшем объеме -просто свопировать ненужные данные. Проблема похоже в 32-битной адресации win-xp
Если эксперт не супер секретный, то выложите здесь и я прогоню на своем компе (Атлон 4-х ядерный, Вин7, 6Гб ОЗУ).
Ну к сожалению эксперт не мой, а заказчика, так что выкладывать его не могу ))