Вопросы новичка в MQL5. Профи не проходите мимо. - страница 2

 
Figar0:

При модели "все тики" тиков всего в 14 раз больше чем  при модели "цены открытия" на Н4.  Либо я шизанутый, либо одно из двух... Получается модели "цены открытия" просто нет?

Посмотрите статью Основы тестирования в MetaTrader 5:

Только цены открытия

В режим тестирования "Только цены открытия" генерация тиков производится по такому же алгоритму, как и для режима "1 minute OHLC". Различие заключается только в том, что функция OnTick() в этом режиме запускается только на ценах Open тестируемого периода.

Например, производится тестирование советника на EURUSD H1 в режиме "Только цены открытия". Это означает, что общее количество тиков (контрольных точек) будет таким же, как и в режиме  "1 minute OHLC", но вызов обработчика OnTick() производится только на открытии часового бара. На остальных ("скрытых" от эксперта) тиках происходят проверки, необходимые для корректного тестирования:

  • вычисление маржевых требований;
  • срабатывание Stop Loss и Take Profit;
  • срабатывание отложенных ордеров;
  • удаление отложенных ордеров с истекшим временем.

Если нет открытых позиций или отложенных ордеров, то необходимости в данных проверках на  скрытых тиках нет и прирост скорости может оказаться существенным. Данный режим "Только цены открытия" хорошо подходит для тестирования стратегий, которые совершают сделки только на открытии бара и не используют отложенные ордера, а также не используют ордера StopLoss,. TakeProfit. Для класса таких стратегий сохраняется вся необходимая точность тестирования.

 
Rosh:

Посмотрите статью Основы тестирования в MetaTrader 5:

Понятно почему, не понятно как быть? Как я сразу и сказал - печаль) тестер МТ5 в моем примере медленее тестера МТ4 в 70 раз. Там где у меня в МТ4 были сутки тут будет 10 недель? Классно я решил ускорится) Хорошо что начал с малого, а не все добро в МТ5 перевел для проверки)

Простите конечно мой сарказм, я понимаю что тестер МТ5 имеет массу преимуществ перед МТ4, но все это перечеркивается быстродействием.

Может стоит ввести модель аналогичную "ценам открытия" из МТ4? Пусть она будет неточная, пусть она будет выделена жирно красным с кучей предупреждений, но пусть она будет немедленее чем в МТ4. Точность генерации тестирующей последовательности в МТ5, например, абсолютно не нужна советникам  работающим по открытию бара и без ТП и СЛ.

 
Figar0:

Понятно почему, не понятно как быть? Как я сразу и сказал - печаль) тестер МТ5 в моем примере медленее тестера МТ4 в 70 раз. Там где у меня в МТ4 были сутки тут будет 10 недель? Классно я решил ускорится) Хорошо что начал с малого, а не все добро в МТ5 перевел для проверки)

Простите конечно мой сарказм, я понимаю что тестер МТ5 имеет массу преимуществ перед МТ4, но все это перечеркивается быстродействием.

Может стоит ввести модель аналогичную "ценам открытия" из МТ4? Пусть она будет неточная, пусть она будет выделена жирно красным с кучей предупреждений, но пусть она будет немедленее чем в МТ4. Точность генерации тестирующей последовательности в МТ5, например, абсолютно не нужна советникам  работающим по открытию бара и без ТП и СЛ.

Если вы хотите быстро по ценам открытия, просто пропишите фильтр в коде чтоб не было расчёта при условии пока не появится новый бар, сама генерация тиков занимает минимум времени, конкретно 3-х летняя история на любом ТФ (по ценам открытия) занимает 7-15 секунд.
 
Urain:
Если вы хотите быстро по ценам открытия, просто пропишите фильтр в коде чтоб не было расчёта при условии пока не появится новый бар, сама генерация тиков занимает минимум времени, конкретно 3-х летняя история на любом ТФ (по ценам открытия) занимает 7-15 секунд.
Какой такой фильтр?) У меня в начале Ontick() стоит проверка на новый бар. Но у меня и с этим фильтром оптимизация сопостовимых советников в МТ5 в 70!!! раз медленее чем МТ4, и это не разу не смешно... Может я в этом куске кода (проверка на новый бар) что накосячил, взгляните пожалуйста, код страницей ранее. Или может это только у меня так? тревогу никто кроме меня не бьет. Может мне попробовать переустановить МТ5 например?
 
Figar0:
Какой такой фильтр?) У меня в начале Ontick() стоит проверка на новый бар. Но у меня и с этим фильтром оптимизация сопостовимых советников в МТ5 в 70!!! раз медленее чем МТ4, и это не разу не смешно... Может я в этом куске кода (проверка на новый бар) что накосячил, взгляните пожалуйста, код страницей ранее. Или может это только у меня так? тревогу никто кроме меня не бьет. Может мне попробовать переустановить МТ5 например?

 Создание переменной на каждом тике, создание динамичного массива на каждом тике, обращение к функции копирования, две проверки.

К чему такие сложности?

объявляете глобально переменную хранения количества баров на предыдущем запросе, и проверяете изменилось ли количество баров, всё.

int prevbars;

int OnInit()
  {
   prevbars=-100;// любое число которое не может вернуть Bars()  
   // ...
   return(0);
  }

void OnTick()
  {
   if(prevbars!=Bars(_Symbol,_Period))
     {
      prevbars=Bars(_Symbol,_Period);
      // ...
     }
  }

если нужна ещё проверка подгружены данные, то размещаете эту проверку внутри защищённой зоны.

 
Urain:

 Создание переменной на каждом тике, создание динамичного массива на каждом тике, обращение к функции копирования, две проверки.

К чему такие сложности?

объявляете глобально переменную хранения количества баров на предыдущем запросе, и проверяете изменилось ли количество баров, всё.

если нужна ещё проверка подгружены данные, то размещаете эту проверку внутри защищённой зоны.

Спасибо. Вот только Вы действительно думаете что это коренным образом способно изменить ситуацию?) Проверил, так копеейки, может просто в пределах погрешности...  Все дело в гигантской разнице объема генерируемых тиков модели "По ценам открытия" в МТ4 2К и МТ 1200К, никакая мультиядерность и облачность не поможет.  Даже не знаю имеет ли эта модель "право" называться по ценам открытия, это что типа модель "1 тик из 14" судя по соотношению. Чем провинилась модель "По ценам открытия" из МТ4 я так и не понял. Спросом она точно пользовалась, чего ее было не оставить в ее виде из МТ4? 

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

Кстати, кто нибудь знает  куда спряталась любимая галка "Пропусть бесполезные результаты"? Чего то не нашел.... Тоже впала в немилость?)

 
Figar0:

Спросом она точно пользовалась

... пользуется и будет пользоваться.

Подождем, пока файлы истории, хотя бы минутной, расковыряют.

 
TheXpert:

... пользуется и будет пользоваться.

Подождем, пока файлы истории, хотя бы минутной, расковыряют.

Да понятно, извернемся как-нибудь, просто хотелось без кустарщины... Вроде как и разработчики не против сделать удобную и функциональную => следовательно популярную у трейдеров => популярную у дц платформу. Но иногда мне кажется им просто не хватает взгляда с другой стороны). То категорический отказ в возможности задавать спреды (в результате  4кой в выходные без TakeMySpread и пользоваться нельзя), теперь вот ввод инновационного облака, агентов для ускорения работы и в результате замедление в 70 раз...  Не понимаю.
 
Разработчикам нужно всё таки добавить ещё один вариант для выбора. То есть старый вариант "По ценам открытия". Для многих идей его вполне достаточно. Я в MT4 добивался идентичных результатов во всех режимах. Облако станет тогда супер-облаком, если тестировать в старом варианте.))
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
joo:

Я бы добавил тот же режим "по ценам открытия" но с возможностью выбора субтаймфрейма. Допустим, выбрали ТФ тестирования Н1, значит доступны для выбора режимы моделирования движения цены по М1, М2, М5, М10 ..... М30. Тогда можно будет очень гибко выбирать между "скорость и точность" (если это не пипсовщики, то большинство предпочтет "скорость").

Отличное дополнение! А ещё рэндж бары в тестер... Но это уже другая история.)))