Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1541

 
klycko #:

Добрый день!

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

Генетический алгоритм и форвард-тестирование не дают оптимальный экстремум.

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

Хотелось бы иметь такую программную надстройку, которая бы автоматизировала этот трудозатратный и однообразный процесс.

Заранее благодарен за любой совет.

С уважением, Александр

Посмотрите этот вариант. Там есть многократный запуск оптимизатора. Правда не понял, есть ли возможность менять настройки. В целом настройки можно таким же способом загрузить из файла для оптимизации с помощью dll. Либо изменить немного сам советник и сделать запись и чтение им же параметров для дальнейшей оптимизации. Т.е. после окончания оптимизации он пишет в файл, что оптимизировать дальше при следующем запуске и внутри себя крутит счётчики, а потом выдаёт фрейм с параметрами этих счетчиков, результаты сохраняете в отдельный файл... надеюсь, не слишком сложно объяснил.

MultiTester
MultiTester
  • www.mql5.com
Множественные прогоны/оптимизации в Тестере.
 
klycko #:

Добрый день!

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

Здравствуйте, Александр!

Действительно, как уже было отмечено выше @Aleksey Vyazmikin, вам пригодится библиотека MultiTester от @fxsaber. Она позволяет запускать и останавливать тестер, устанавливать ему любые параметры оптимизации. Но код для выбора какие новые настройки передавать тестеру придётся писать самостоятельно. Другой вариант - Validate. Изначально она создавалась немного для другого, но потом выяснилось, что можно её использовать и для автоматизированного выполнения нескольких оптимизаций с пользовательскими параметрами, которые в виде ini-файлов должны быть сохранены в одной папке.

Что-то похожее на вашу задачу ещё реализовывал @Georgiy Merts. Можете почитать довольно обширную ветку форума Лига Торговых Систем. Продолжаем работу. Его реализацию автоматизации тестирования я не смотрел, поэтому ничего конкретного про неё сказать не могу. Но судя по ветке форума, она успешно работала (в смысле запускала оптимизации в нужном порядке по расписанию и сохраняла результаты в пригодном для дальнейшего использования виде).

Для себя выбрал использование MultiTester, как раз в последней статье (пока не опубликована) добрался до описания одного из возможных вариантов процесса автоматизации тестирования советников.

 
Yuriy Bykov #:

Здравствуйте, Александр!

Действительно, как уже было отмечено выше @Aleksey Vyazmikin, вам пригодится библиотека MultiTester от @fxsaber. Она позволяет запускать и останавливать тестер, устанавливать ему любые параметры оптимизации. Но код для выбора какие новые настройки передавать тестеру придётся писать самостоятельно. Другой вариант - Validate. Изначально она создавалась немного для другого, но потом выяснилось, что можно её использовать и для автоматизированного выполнения нескольких оптимизаций с пользовательскими параметрами, которые в виде ini-файлов должны быть сохранены в одной папке.

Что-то похожее на вашу задачу ещё реализовывал @Georgiy Merts. Можете почитать довольно обширную ветку форума Лига Торговых Систем. Продолжаем работу. Его реализацию автоматизации тестирования я не смотрел, поэтому ничего конкретного про неё сказать не могу. Но судя по ветке форума, она успешно работала (в смысле запускала оптимизации в нужном порядке по расписанию и сохраняла результаты в пригодном для дальнейшего использования виде).

Для себя выбрал использование MultiTester, как раз в последней статье (пока не опубликована) добрался до описания одного из возможных вариантов процесса автоматизации тестирования советников.

Большое спасибо за советы!

 

Привет,

Я здесь совсем недавно.

Как я могу активировать свой аккаунт.

MetaTrader 5:

Спасибо.

 
Подскажите, когда я добавляю RSI в эксперта 
rsiHandle = iRSI(_Symbol, _Period, 14, PRICE_CLOSE);   

То при запуске тестера у меня появляется подокно с RSI, с стандартными линиями 70 и 30, как я могу в этом подокне добавить свою линию 50 например?

RSI

 
AndreyTreid #:
Подскажите, когда я добавляю RSI в эксперта 

То при запуске тестера у меня появляется подокно с RSI, с стандартными линиями 70 и 30, как я могу в этом подокне добавить свою линию 50 например?

В код индикатора RSI, который в папке Examples,  добавить строку:

#property indicator_level3 50

Правда при обновлении терминала, эта строка может исчезнуть.

 

В тестере стратегий этот метод не работает. Запускается RSI со стандартными 70 и 30

 
AndreyTreid #:

В тестере стратегий этот метод не работает. Запускается RSI со стандартными 70 и 30

Ну если не сильно принципиально, то так:

rsiHandle = iCustom(_Symbol, _Period, "Examples\\RSI.ex5", 14, PRICE_CLOSE);
 
Работает, спасибо
 

Компилятор в следующем коде:

if(VolatilitiLow1==0&&VolatilitiLow2>0&&VolatilitiLow3==0&&VolatilitiLow4>0&&VolatilitiLow5==0&&VolatilitiLow6>0)
{
   double Array42[]={VolatilitiUp1,VolatilitiLow2,VolatilitiUp3,VolatilitiLow4,VolatilitiUp5,VolatilitiLow6};
   int IndMax=ArrayMaximum(Array42,WHOLE_ARRAY,0);
   Volatiliti=Array42[IndMax];
}

видит ошибку "array out of range".

Получается, программа соглашается, что переменные существуют, что они подпадают под условие if, но выражения из этих переменных не создают элементов массива.

Что я не так делаю?

Файлы: