Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Торгуй как успешные трейдеры - подпишись на их сигналы!
MetaQuotes Software Corp.
Модератор
177232
MetaQuotes Software Corp. 2007.04.16 16:48 

New article Автоматическая оптимизация торгового робота в процессе реальной торговли has been published:

В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.

Author: Igor Malcev

Иван
1123
Иван 2007.04.17 07:31  
Спасибо за хорошую статью! Теперь все желающие проводить автооптимизацию смогут это реализовать ознакомившись с представленной в статье технологией.
Igor Malcev
1792
Igor Malcev 2007.04.17 08:28  
solandr:
Спасибо за хорошую статью! Теперь все желающие проводить автооптимизацию смогут это реализовать ознакомившись с представленной в статье технологией.
Спасибо за коментарий! Удовлетворение от проделанной работы получаеш только тогда, когда видиш что твоя работа востребована.
MQL4 Comments
16309
MQL4 Comments 2007.04.17 11:19  

Респект! Хотелось бы увидеть развитие , например возможность выбора советника из списка и оптимизируемых параметров из файла. Хорошая работа!

Andrey
86
Andrey 2007.04.17 13:20  
В 204 билде MetaTrader, разработчики немного изменили структуру htm отчёта оптимизатора. Скорее всего, библиотека работать не будет.
Igor Malcev
1792
Igor Malcev 2007.04.17 14:14  
FION:

Респект! Хотелось бы увидеть развитие , например возможность выбора советника из списка и оптимизируемых параметров из файла. Хорошая работа!


Спасибо за оценку. Да,  развитие предполагается, а так же расширение функциональности.
Igor Malcev
1792
Igor Malcev 2007.04.17 14:15  
Belford:
В 204 билде MetaTrader, разработчики немного изменили структуру htm отчёта оптимизатора. Скорее всего, библиотека работать не будет.

Проверим, если так то исправим не проблема, спасибо.
Paha
360
Paha 2007.04.17 20:43  
Уважаемый XEON!
Огромное спасибо за статью, уверен будет пользоваться большим спросом. Особенно у тех, кому приходиться переоптимизировать советников, скажем, в 23,59 по гринвичу.(у каждого своя стратегия), и неважно один раз в сутки или 1 раз в неделю.
Прошу прощения за невежество, но в кодах я не разбираюсь обсолютно. Тревиальный вопрос: Есть у меня советник (тот-же МАКD sampl), но с установленным блоком управления размерами позиций (lot_lib.mqh, MACD Sample.mq4 от Kompostera?, ему отдельное спасибо. выложен на этом-же сайте в разделе - библиотеки). Приходиться отимизировать его каждые трое суток, с периодом переоптимизации 2 недели, на 5 минутах, EURUSD. Можно-ли будет к Вам обратиться, (не безвозмездно) доработать именно этот советник?
Спасибо!
С уважением! Павел.
Nefedov Kirill
2889
Nefedov Kirill 2007.04.18 05:53  

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

  if(StartTest)
    {                                        
      // Если с момента запуска прошло больше установленного времени 
      // ожидания тестирования
      if(TimeLocal() - TimeStart > TimeOut*60)
        {            
          // Обнулим флаг
          StartTest = false;                              
        }
    }
Универсальности данной функции он не даёт. Объясняю почему. Компы у всех разные, скорость выполнения оптимизации у всех разная, период оптимизируемых данных у всех может быть разный и если человек не просчитал заранее ожидаемое время прогона оптимизации, ему возвращаются неполные данные оптимизации, т.е. не весь прогон, а только его часть.

Я решил этот вопрос следующим способом, я не рассчитываю время оптимизации, для меня этот параметр совсем неважен, т.к. условия оптимизации можно задать таким способом что после серии убытков запускается оптимизация за месяц, а в определенное время скажем только за неделю. Разница во времени будет достаточно заметно отличаться.

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

Плюс ко всему в терминале-тестере в момент оптимизации советника у меня экспертом закачиваются все катеровки по нужным валютным парам и нужным таймфреймам и при деините этого эксперта как раз создаётся и копируется файл по которому эксперт в тестере прерывает зациклованность и анализирует параметры.

Таким способом убиваем 2-х зайцев:
1. Обновляем историю катеровок по всем таймфреймам и всем нужным валютным парам, эксперт при работе может использовать другие валютные пары.
2. Гарантированно получаем все переборы оптимизации и анализируем из по окончании работы терминала-тестера.

Мне осталось еще реализовать функцию зациклованности оптимизации эксперта нескольких валютных пар по которым работает эксперт. Этот момент впринципе сделан был, но из-за того что оказывается была изменена структура htm отчёта оптимизатора все накрылось медным тазом и я вернулся к старому варианту и билду собственно тоже.
Igor Malcev
1792
Igor Malcev 2007.04.18 09:05  
Paha:
Уважаемый XEON!
Огромное спасибо за статью, уверен будет пользоваться большим спросом. Особенно у тех, кому приходиться переоптимизировать советников, скажем, в 23,59 по гринвичу.(у каждого своя стратегия), и неважно один раз в сутки или 1 раз в неделю.
Прошу прощения за невежество, но в кодах я не разбираюсь обсолютно. Тревиальный вопрос: Есть у меня советник (тот-же МАКD sampl), но с установленным блоком управления размерами позиций (lot_lib.mqh, MACD Sample.mq4 от Kompostera?, ему отдельное спасибо. выложен на этом-же сайте в разделе - библиотеки). Приходиться отимизировать его каждые трое суток, с периодом переоптимизации 2 недели, на 5 минутах, EURUSD. Можно-ли будет к Вам обратиться, (не безвозмездно) доработать именно этот советник?
Спасибо!
С уважением! Павел.

Уважаемый Paha я готов бесплатно сделать то что вы просите, но у меня к вам будет ответная просьба: для проверки гипотезы описанной в начале статьи нехватает статистики, немогли-бы вы примерно 1 раз в неделю выкладывать сюда отчеты о работе экспертов, 1 - без автоматической оптимизации параметров, 2 - с автоматической оптимизацией параметров. Думаю такая статистика пригодилась бы многим.
С уважением xeon
Igor Malcev
1792
Igor Malcev 2007.04.18 09:30  
HIDDEN:


XEON, обрати внимание на то, что у тебя в коде есть такой кусок:

Универсальности данной функции он не даёт. Объясняю почему. Компы у всех разные, скорость выполнения оптимизации у всех разная, период оптимизируемых данных у всех может быть разный и если человек не просчитал заранее ожидаемое время прогона оптимизации, ему возвращаются неполные данные оптимизации, т.е. не весь прогон, а только его часть.
Я решил этот вопрос следующим способом, я не рассчитываю время оптимизации, для меня этот параметр совсем неважен, т.к. условия оптимизации можно задать таким способом что после серии убытков запускается оптимизация за месяц, а в определенное время скажем только за неделю. Разница во времени будет достаточно заметно отличаться.
Я копирую в папку терминала файл по окончании работы терминал-тестера и пока данный файл не появится в нужном нам каталоге терминала, процесс будет зациклен, как только появился файл, зацикливание сбрасывается, и идет анализ полученных данных. При этом гарантированно, что терминал-тестер уже отработал и все данные записаны в нужные места для анализа.


Согласен, не совсем удобный вариант, но на мой взгляд лучше чем зацикливание эксперта до момента получения файла, потому что в случае сбоя (не важно по каким причинам) эксперт будет в "коме" , что гораздо хуже, ИМХО. У меня есть несколько иное решение этой задачи, но это в следующей версии.


Плюс ко всему в терминале-тестере в момент оптимизации советника у меня экспертом закачиваются все катеровки по нужным валютным парам и нужным таймфреймам и при деините этого эксперта как раз создаётся и копируется файл по которому эксперт в тестере прерывает зациклованность и анализирует параметры.
Таким способом убиваем 2-х зайцев:
1. Обновляем историю катеровок по всем таймфреймам и всем нужным валютным парам, эксперт при работе может использовать другие валютные пары.
2. Гарантированно получаем все переборы оптимизации и анализируем из по окончании работы терминала-тестера.

В этом отношении я еще в прошлой нашей дискуссии писал что не вижу смысла при каждом запуске автооптимизации закачивать историю котировок.
такое решение существенно увеличивает трафик, предположим эксперт автоматически оптимизируется 1 раз в сутки и каждый раз будет закачивать поновой одну и ту-же историю..... - зачем?, кроме увеличения трафика это ничего не даст, потому что терминал во время запуска сам подкачивает недостающую историю.

Мне осталось еще реализовать функцию зациклованности оптимизации эксперта нескольких валютных пар по которым работает эксперт. Этот момент впринципе сделан был, но из-за того что оказывается была изменена структура htm отчёта оптимизатора все накрылось медным тазом и я вернулся к старому варианту и билду собственно тоже.


Насчет изменения структуры html отчета, - в ближайшее время (как только появится немного свободного времени) я с этим разберусь и если понадобится, внесу изменения в библиотеку
/ /12345678...14
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий