Ошибки, баги, вопросы - страница 1489

 
Artyom Trishkin:
Но ведь в учебнике Ковалёва всё же работает. Что мешает скопировать с него правильно и подкорректировать под новые требования?
Артем, а что за учебник Ковалева ?
 
Mike:
Артем, а что за учебник Ковалева ?
То место, откуда взят был код в сообщении, на которое я отвечал. На mql4.com учебник.
 
Artyom Trishkin:
То место, откуда взят был код в сообщении, на которое я отвечал. На mql4.com учебник.
Он у меня есть локально ... оказывается :)
 
Renat Fatkhullin:

Да, фактически мы отключили сброс кешей по FileFlush, так как им почти никто не умеет пользоваться, убивает диск и производительность нашей системы.

Мы реализовали очень эффективную буферизацию и сами решаем когда сбрасывать кеши. Цель - производительность и реализация собственных задач платформы.

Если реально хотите сбрасывать данные на диск, то закрывайте файл.

Внесли бы в документацию, чтобы людям не тратить время... ведь там об этом ни слова.
 
Думаю вот на ОЗУ сделать RAM диск, чтоб на нём установить МТ4/МТ5 для оптимизации. Если кто-нибудь тоже такое сделал, то может ли поделиться опытом - увеличивается ли скорость оптимизации?
 
Maxim Khrolenko:
Думаю вот на ОЗУ сделать RAM диск, чтоб на нём установить МТ4/МТ5 для оптимизации. Если кто-нибудь тоже такое сделал, то может ли поделиться опытом - увеличивается ли скорость оптимизации?
Самое быстрое - установить метак и винду на SSD-диске
 
new-rena:
Самое быстрое - установить метак и винду на SSD-диске

у меня друг долго спорил, что ССД не эффективен и это типо в пустую трата денег - я взял и попробвоал года 3-4 назад - тепреь не знаю как без ССД винду держать? 

у самого ССД и винда и терминалы на нем - надо бы как то сравнить скорость на ндд и ссд. хм, интересно  

 
Во время оптимизации/тестирования, МТ5 использует исторические данные котировок записанные на диске. И вот задаюсь вопросом, эти данные (1) постоянно считываются с диска и это является узким горлышком оптимизации/тестирования или (2) они все загружаются в ОЗУ и скорость зависит от процессора. Если 2 это правда, тогда нет смысла оптимизировать/тестировать на RAM диске.
 
Vladislav Andruschenko:

у меня друг долго спорил, что ССД не эффективен и это типо в пустую трата денег - я взял и попробвоал года 3-4 назад - тепреь не знаю как без ССД винду держать

у самого ССД и винда и терминалы на нем - надо бы как то сравнить скорость на ндд и ссд. хм, интересно  

естественно быстрее.

при выборе SSD уделять внимание на цифру, показывающую скорость записи, чем больше, тем быстрее будет работать.

выигрыш по скорость оценить опять же можно через коэффициент равный отношению скоростей записи SSD и HDD

также при использовании SSD желательно отключить в настройках Windows виртуальную память, расположенную на HDD

 

в общем результаты не однозначны, тест грубый - на быструю руку.:

скрипт просто выводит время и цену на тестере:

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
int timestart=0; 
int ticknumber=0; // номер тика 
double PriceBID=0;// Цена тика БИД 
double PriceASK=0; // Цена тика АСК 
int TimemsTick=0; // Время тика в мс 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   datetime Time[];
   ArraySetAsSeries(Time,true);
   CopyTime(_Symbol,_Period,0,1,Time);
   timestart=(int)Time[0]; // начнем отсчет с нового бара, чтобы все советники на всех терминалах стартовали одинаково.!  
   return(INIT_SUCCEEDED);
  }
void OnTick()
  {
   datetime Time[];
   ArraySetAsSeries(Time,true);
   CopyTime(_Symbol,_Period,0,1,Time);
   if(timestart!=(int)Time[0])
     {
      if(TimemsTick==0)TimemsTick=(int)GetTickCount();
      ticknumber++;
      MqlTick last_tick;
      SymbolInfoTick(_Symbol,last_tick);
      double Bid=last_tick.bid;

      SymbolInfoTick(_Symbol,last_tick);
      double Ask=last_tick.ask;
      PriceBID=Bid;
      PriceASK=Ask;
      Comment("\n\n\n\n Номер тика="+ticknumber+"\nPriceBID="+PriceBID+"\nPriceASK="+PriceASK+"\nTimeTickinms="+(GetTickCount()-TimemsTick));
      Print("Номер тика="+ticknumber+" PriceBID="+PriceBID+" PriceASK="+PriceASK+" TimeTickinms="+(GetTickCount()-TimemsTick));
     }
   return;
  } 
//+------------------------------------------------------------------+

 два терминала :

 

 

итак запускаем  ПОЧТИ ОДНОВРЕМЕННО:

и сразу пошел отсчет времени теста

 

 

через пару минут ССД вырывается вперед:

 

 

спустя еще минуту уже счет почти сравнялся HDD вырывается вперед:

 

 

перейдем к оптимизации:

запускаю оптимизацию по тейку например:

 

 

HDD справился быстрее

 

 

но результаты как то разнятся, иногда ССД быстрее на новом прогоне по другому параметру, иногда обычный Винт.

 

Но вот самым быстрым оказался : АГЕНТЫ :-) так что пару баксов на быстрый прогон оптимизатора - за это стоит переплатить:

 

Причина обращения: