Тестер: Автоматическая оптимизация торгового робота в процессе реальной торговли - страница 7

 

Привет Всем!
Господа маленький вопросик?
Я так понял, что в терминале тестере должен стоять изначальный код советника с небольшим измененимем, введенным в соответствии с описанием данным здесь, а именно в строке
"- осталось скопировать указанный ниже код в начало функции start() вашего эксперта. В MACD Sample_1.mq4 он уже есть." Именно слова " В MACD Sample_1.mq4 он уже есть" и заставляют меня так думать. Ведь ищначально в терминал тестера заганялся именно этот эксперт. А дальнейшая доработка шла только советнике, находящегося в "терминале".
Заранее спасибо!

PS. К CDR. Спасибо, советник получил, но вопрос, в связи с вышесказанным: Какой это советник? который нужно установить в терминал, или в иерминал тестер? Кстати может и ошибка у тебя из за этого? Если не трудно ответь здесь (если автор не против), если нет отпиши на мыло. Спасибо.
Да, чуть не забыл. Есть версия, почему не вставляются данные. Когда при ручной перерптимизации мы создаем Set - Файл, он пишется в папку "тестер", а данные, вставляемые непосредственно в советник беруться из папки "presents". У меня эта папка высвечивается во всех терминалах автоматически, но она всегда пустая. Приходится переходить в папку "тестер " и оттуда брать set файл.
НО это всего-лишь предположение. Я думаю, что у автора это учтено, так как, его-же, советники нармально справляются. Но предположение есть предположение.
Успеха.

 
Ставил его и втестер и термина и по-разному пробовал... все работает за исключеним вставки данных оптимизации. Также пробовал файл. set сохранять и в preset и в tester резульат один и тот же. дождемся ответа уважаемого автора.
 
Вариантов нет!
Бум ждать.
 
Paha:
Вариантов нет!
Бум ждать.

Скинте мне на ящик -

то что у вас получилось, я исправлю ошибки и верну
 
xeon:
Paha:
Вариантов нет!
Бум ждать.

Скинте мне на ящик -

то что у вас получилось, я исправлю ошибки и верну
В присланном вами эксперте ошибок в подключении не нашел, установил у себя - все работает



Предположительная причина по которой у вас данные не записывались в советник: - вероятно вы запускали автооптимизацию в выходные
(В выходные у многих ДЦ нет котировок) .

Если вы запускали из функции init()

int init(){
    
     Tester(TestDay,NameMTS,NameFileSet,PuthTester,TimeOut,Gross_Profit,Profit_Factor,Expected_Payoff,Per1,Per2,Per3,Per4);
    return(0);
}
то библиотека запустится и запустит оптимизацию, но результат в переменные не запишется, так как запись в переменные происходит
в функции start()

int 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);
      }}}}
      x1     =GlobalVariableGet(Per1);
      x2     =GlobalVariableGet(Per2);
      x4     =GlobalVariableGet(Per3);
      sl     =GlobalVariableGet(Per4);
 
   }
   if(StartTest){                                        //Если флаг запуска тестера установлен
       if(TimeLocal()-TimeStart > TimeOut*60){            //Если с момента запуска прошло больше установленного времени ожидания тестирования
       StartTest = false;                                //Обнулим флаг
   }}


а эта функция выполняется по приходу нового тика а тиков в выходные нет.


для того что-бы проверить работоспособность автооптимизатора в выходные
можно воспользоватся этим кодом

int init(){
     //---этот код нужен только дла проверки работоспособности автооптимизатора
     Tester(TestDay,NameMTS,NameFileSet,PuthTester,TimeOut,Gross_Profit,Profit_Factor,Expected_Payoff,Per1,Per2,Per3,Per4);
      x1     =GlobalVariableGet(Per1);
      x2     =GlobalVariableGet(Per2);
      x4     =GlobalVariableGet(Per3);
      sl     =GlobalVariableGet(Per4);
     Print("x1... "+x1+" x2... "+x2+" x4... "+x4+" sl... "+sl);
     //-------------------------------------------------------------------------
return(0);
}

тоесть получать значения переменных прямо в функции init()

//-----------------------------------------------------------------------------
> И еще вопрос. почему в терминал-тестетре когда запускает выбирает
> модель - все тики?


этот режим задается в строке библиотеки автооптимизатора


   ArrayOpttim[6] = "TestModel="+0;                               //Режим моделирования

вы можете самостоятельно установить нужный режим,
подробнее почитать об этом можно в разделе справки по терминалу:
Руководство пользователя > Сервис > Конфигурация при старте

TestModel - 0, 1 или 2 в зависимости от модели тестирования
(Все тики, Контрольные точки, По ценам открытия).
В случае отсутствия этого параметра используется значение 0 (Все тики).




 

Уважаемый xeon! Имеются ли какие-то статистические данные об эффективности этого алгоритма - хотя бы в начале торговли сразу после оптимизации?

 
Mathemat:

Уважаемый xeon! Имеются ли какие-то статистические данные об эффективности этого алгоритма - хотя бы в начале торговли сразу после оптимизации?


к сожалению статистики нет. У меня пока нет возможности её наработать, так как для этого нужен свободный и постоянно подключенный к интернету компьютер.
 
Мои замечания. 1. До того как копировать необходимо задать параметры оптимизации галочками и закрыть в этом состоянии терминал, а уже потом эту папку копировать для получения " Терминал-тестера". Иначе процесс оптимизации не будет знать какие параметры ему оптимизировать (нет галочек - нет оптимизации). 2. До начала копирования заходим в листинг "MACD Sample_1.mq4" и исправляем путь к ещё не созданной папке, но в будущем уже запланированной, в которой будет располагаться "Терминал-тестер". 3. Господа Метаквотовцы исправьте ссылки к auto_optimization.mqh . Все в трех местах разные. Какие из них одинаковые, какой отличается - для версии 204 и старше?
 
А можно сделать сортировку по % соотношению прибыльных сделок?
 
Sergey_n:
А можно сделать сортировку по % соотношению прибыльных сделок?

Увы нет, в отчет количество прибыльных и убыточных сделок оптимизатором не выводится
Причина обращения: