Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Автооптимизатор - библиотека для MetaTrader 4

Просмотров:
11522
Рейтинг:
(19)
Опубликован:
2007.04.23 08:34
Обновлен:
2016.03.25 14:08
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

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

//----
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>

s_wininet s_wininet

Пример использования wininet.dll для загрузки веб-страницы.

Arbitrage Arbitrage

Тактика мультивалютного арбитража.

awo Holidays awo Holidays

Советник awo Holidays сообщает статус следующего дня: рабочий день, выходной или праздник.

Movment Movment

Индикатор направления движения и откатов.