Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 406

 
bergkamp.:
вот примерчик бы ... если просто вставить sleep в конце кода, как он будет работать ?

Если вас не волнует, что функция старт не будет запускаться после запуска функции в течении 30 секунд (а следовательно эксперт не будет производить никаких действий в течении этого времени), то пожалуйста cтавьте sleep.

 

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

 
vadynik:

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

Оптимизация требует гораздо больше времени, чем одиночный прогон теста, даже в визуальном режиме. Попробуйте увеличить шаг изменения параметров. Или перейти на тестирование по ценам открытия.
 
khorosh:

Если вас не волнует, что функция старт не будет запускаться после запуска функции в течении 30 секунд (а следовательно эксперт не будет производить никаких действий в течении этого времени), то пожалуйста cтавьте sleep.

следовательно через 30 сек функция старт и все последовательные функции запустятся заного с приходом одного тика ? и снова уйдут в спячку на 30 сек ... я ошибаюсь ? а эксперт произведет все свои действия в тот самый тик ?
 
bergkamp.:
следовательно через 30 сек функция старт и все последовательные функции запустятся заного с приходом одного тика ? и снова уйдут в спячку на 30 сек ... я ошибаюсь ?
Да пока выполняется sleep, функция start() не заканчивается, а следовательно и по новой не запускается.
 
vadynik:


Может ли оптимизатор тормозить из за графических обьектов?

И почему если стоит CLR_NONE метки все равно появляются?

При оптимизации нет графика. Вопрос: "А где, тогда, появляются метки???"
 
vadynik:


Может ли оптимизатор тормозить из за графических обьектов?

И почему если стоит CLR_NONE метки все равно появляются?


Похоже, что если в эксперте создаются графические объекты, то оптимизация такого эксперта вообще невозможна. Но точно не могу сказать. По крайней мере у меня эксперт использующий трендовые линии не оптимизируется. Насчёт меток не могу сказать, нужно весь код иметь.
 
khorosh:
Да пока выполняется sleep, функция start() не заканчивается, а следовательно и по новой не запускается.
необходим по любому запуск старт ?
 
bergkamp.:
необходим по любому запуск старт ?
Это зависит от вас надо вам это для работы эксперта или нет, я же не вижу код вашего эксперта. Если какой-нибудь пипсатор с копеечными целями, то может и надо.
 

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


//+------------------------------------------------------------------+
//|                 Закрыть все ордера                               |
//+------------------------------------------------------------------+


double ClossAllOrders ()

{
  int total = OrdersTotal();
  for(int i=total-1;i>=0;i--)
  {
    OrderSelect(i, SELECT_BY_POS);
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, Lime );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Lime );
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
    }
    
    if(result == false)
    {
      Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(500);
    }  
  }
}

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