Алгоритмы, методы решений, сравнение их производительности - страница 21

 

Если верить профилировщику, то у меня на одной и той же ТС OrderSend (пятерочный) занимает 88% времени.

Если же переводить на виртуалку, то всего 2%.

Почему такая разница, не понимаю.

 
fxsaber:

Если верить профилировщику, то у меня на одной и той же ТС OrderSend (пятерочный) занимает 88% времени.

Если же переводить на виртуалку, то всего 2%.

Почему такая разница, не понимаю.

Могу только предполагать. 

OrderSend - отправляет сообщение на сайт MQL, а виртуал не трогает  OrderSend и соответственно работает быстрее )))

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

В предидущих билдах такого нет!

 
Sergey Chalyshev:

Могу только предполагать. 

OrderSend - отправляет сообщение на сайт MQL, а виртуал не трогает  OrderSend и соответственно работает быстрее )))

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

В предидущих билдах такого нет!

Запускал профилировщик на исторических данных. Поэтому отправка куда-то исключается.

 
В новых билдах у вас грузится сам терминал при тестировании и оптимизации? В диспетчере задач terminal сколько отжирает?
 
fxsaber:

Если верить профилировщику, то у меня на одной и той же ТС OrderSend (пятерочный) занимает 88% времени.

Если же переводить на виртуалку, то всего 2%.

Почему такая разница, не понимаю.

88% от чего? Если от 2%, то все нормально. 

 
fxsaber:

Если верить профилировщику, то у меня на одной и той же ТС OrderSend (пятерочный) занимает 88% времени.

Если же переводить на виртуалку, то всего 2%.

Почему такая разница, не понимаю.

Проверка маржи и других торговых условий.

Если допилить Виртуал до состояния тестера МТ5, будет почти то же самое.

 
Ну, да, ну да. 
 
Andrey Khatimlianskii:

Проверка маржи и других торговых условий.

Если допилить Виртуал до состояния тестера МТ5, будет почти то же самое.

Режим по пипсам. Скорее всего, профилировщик врет.

 
Andrey Khatimlianskii:

Если допилить Виртуал до состояния тестера МТ5, будет почти то же самое.

если верить цифрам разница больше двух порядков

 
Andrei Trukhanovich:

если верить цифрам разница больше двух порядков

Привел цифры со своего большого советника, который гоняю в Оптимизаторе. Но, похоже, стал понимать, где тормоза. Вот простой советник.

#include <MT4Orders.mqh>

//#define VIRTUAL_TESTER // Запуск в виртуальном торговом окружении
//#include <fxsaber\Virtual\Virtual.mqh>

#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

input int Offset = 10000;
input int inFakeRange = 0;

void OnTick()
{
  static bool FirstRun = true;
  static int Sign = 1;
  
  if (FirstRun)
    FirstRun = (OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask - Offset * _Point, 0, 0, 0) == -1);
  else if (OrderSelect(0, SELECT_BY_POS))  
  {
    OrderModify(OrderTicket(), OrderOpenPrice() + Sign * _Point, 0, 0, 0);
    
    Sign = -Sign;
  }    
}

На тиках дождаться его профилировки почти невозможно - долго. Поэтому запустил в режиме Оптимизации.

optimization finished, total passes 11
optimization done in 0 minutes 55 seconds
shortest pass 0:00:04.300, longest pass 0:00:06.442, average pass 0:00:05.058


Если раскомментировать выделенные две строки и выставить входной параметр Virtual = true, то становится так.

optimization finished, total passes 11
optimization done in 0 minutes 07 seconds
shortest pass 0:00:00.355, longest pass 0:00:01.208, average pass 0:00:00.590


Разница на порядок. Профилировщик показывает разность еще больше. Все делаю только в режиме по пипсам и по реальным тикам.