что быстрей работает ?

 

Для ускорения оптимизации и тестов  , как лучше организовывать  расчеты ? У меня все расчеты сделаны в виде функций: 

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),Digits());                   // лучшее предложение на покупку
   Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),Digits());                   // лучшее предложение на продажу
   Channel_Center();
   Width_Channel();
   h= NormalizeDouble(h1l1+d+Delta*MyPoint,Digits());
   l= NormalizeDouble(h1l1-d-Delta*MyPoint-(Ask-Bid)/1,Digits());
   TradeSizeOptimized();
   Check_trade();
   Graf();
  }

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

2. Кроме того столкнулся с проблемой, что в тестере в начале тест идет достаточно быстро а потом замедляется. Балланс естественно растет. С чем это может быть связано ? 

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

 
sergey1294:
Аналогичную проблему наблюдаю, причем еще с четверки. В начале тест быстро идет, а потом вплоть до зависания компа. Особенно на пргонах в 10 лет.
Проблема известная, и причины ее тоже известны. Только вот как обойти. Растет история позиций (ордеров). Хотя и история растет. Память расходуется
 
dimeon:

1. Для ускорения оптимизации и тестов  , как лучше организовывать  расчеты ? У меня все расчеты сделаны в виде функций: 

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

2. Кроме того столкнулся с проблемой, что в тестере в начале тест идет достаточно быстро а потом замедляется. Балланс естественно растет. С чем это может быть связано ? 

1. множественный вызов хоть и замедляет, но иначе потеряется читабельность кода. поэтому смысла большого вроде нет.

2. если тестер замедляется со временем, значит распределение памяти и работа с ней организована неправильно (например частые освобождения и снова выделения). проще написать простой быстрый тестер самому без данных проблем, ну а какие-то специфические моменты можно тестить на обычном, заторможенном, но зато универсальном.

 
3. Сам трейдер неэкономно работает с историей
Причина обращения: