MQL4 - automated forex trading   /  

Code Base

Code Base  Библиотеки  Автооптимизатор Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый код

Этот скрипт для
MetaTrader 4

Мобильный трейдинг!
Купите лицензию и торгуйте мобильно

Имя:
Автооптимизатор
Автор: xeon (23.04.2007 10:34)
Рейтинг: 10
Скачано: 3555
Скачать:
 auto_optimization_204.mqh (20.8 Kb) View
 auto_optimization.mqh (20.6 Kb) View

Подробная статья по использованию библиотеки автооптимизатора и принципах её работы здесь: http://articles.mql4.com/ru/336

Код для вставки в ваш советник:

//----
extern int SetHour   = 0;                 //Час старта оптимизации 
extern int SetMinute = 1;                 //Минута старта оптимизации 
int    TestDay       = 3;                 //Количество дней для оптимизации 
int    TimeOut       = 4;                 //Время ожидания окончания оптимизации в минутах
string NameMTS       = "Expert_Name";     //Имя вашего советника
string NameFileSet   = "SetFileName.set"; //Имя Set файла с установками
string PuthTester    = "PathTester";      //Путь к тестеру
//--- Последовательность фильтрации
int    Gross_Profit   = 1;                //Сортировка по Максимальной прибыли
int    Profit_Factor  = 2;                //Сортировка по Максимальной прибыльности
int    Expected_Payoff= 3;                //Сортировка по Максимальному матожиданию
//--имена переменных для оптимизации
string Per1 = "variables_1";
string Per2 = "variables_2";
string Per3 = "variables_3";
string Per4 = "variables_4";
bool StartTest=false;
datetime TimeStart;
//--- Подключение библиотеки автооптимизатора
#include <auto_optimization.mqh>
 
//----
Код для вставки в функцию start()

//----
// При тестировании и оптимизации не запускать   
if(!IsTesting() && !IsOptimization())
  {
    // Сравнение текущего часа с установленным для запуска
    if(TimeHour(TimeLocal()) == SetHour)
      {
        // Защита от повторного запуска
        if(!StartTest)
          {
            // Сравнение диапазона минут с установленной для запуска минутой
            if(TimeMinute(TimeLocal()) > SetMinute - 1)
              { 
                // диапазон нужен в случае если по каким-то причинам долго 
                // нет нового тика
                if(TimeMinute(TimeLocal()) < SetMinute + 1)
                  {
                    TimeStart = TimeLocal();
                    StartTest = true;   // Флаг запуска тестера
                    Tester(TestDay, NameMTS, NameFileSet, PuthTester, TimeOut, 
                           Gross_Profit, Profit_Factor, Expected_Payoff, Per1, 
                           Per2, Per3, Per4);
                  }
              }
          }
      }
    variables_1 = GlobalVariableGet(Per1);
    variables_2 = GlobalVariableGet(Per2);
    variables_3 = GlobalVariableGet(Per3);
    variables_4 = GlobalVariableGet(Per4);
  }
// Если флаг запуска тестера установлен
if(StartTest)
  {
    // Если с момента запуска прошло больше установленного времени ожидания 
    // тестирования
    if(TimeLocal() - TimeStart  > TimeOut*60)
      {
        StartTest = false;  // Обнулим флаг
      }
  }
//----
                        
          
 

Добавлена измененная библиотека автооптимизатора для 204 Build -а  auto_optimization_204.mqh 
Соответственно код вызова этой библиотеки будет такой

//--- Подключение библиотеки автооптимизатора
#include <auto_optimization_204.mqh>

3 комментария  Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый комментарий
sprite писал(а):


Почему-то не записываются результаты оптимизации в файл - htm ?

А сама идея - отлично !

вероятно неверно указаны настройки, сверьте с настройками описанными в статье 
23.05.2007 20:46 xeon


Почему-то не записываются результаты оптимизации в файл - htm ?

А сама идея - отлично !
22.05.2007 10:17 sprite
Great!
10.05.2007 12:24 FinGeR