Баг в оптимизации?

 
Запускаю оптимизацию, замечаю, что часто агенты очень долго стоят на месте (0.0%), реже они о-о-очень медленно работают, где-то 0.05% в секунду. Можно-ли это как-нибудь исправить?
Windows Technical Prewiew, build 9879, 64-bit Operating System, x64-based processor, AMD FX(tm)-8120 Eight-Core Processor, 8.00 GB RAM, клавиатура pravix, монитор benq.
Файлы:
6fh.png  170 kb
 

Добрый день. Давайте пообщаемся в сервисдеске. От вас необходимо:

  1. Эксперт
  2. Настройки оптимизации
  3. Логи тестера
  4. Название вашего торгового сервера
 


Вопрос решил, это оказался не баг, а особенность индикатора (первая прорисовка индикатора при инициализации).

1. Есть небольшой вопрос о правильности написания:

ENUM_POSITION_TYPE reversePosition(ENUM_POSITION_TYPE position)
{
        switch(position)
        {
        case POSITION_TYPE_BUY: return POSITION_TYPE_SELL;break;
        case POSITION_TYPE_SELL:return POSITION_TYPE_BUY; break;
//    default: return NULL;
//или default: return WRONG_VALUE?
        }
}

 Как будет правильнее: возвращать NULL или WRONG_VALUE(строка 7)?

2. Как правильно писать: 

input double abc=.0;
//или
input double abc=0.;
 
AshFTW:

 Как будет правильнее: возвращать NULL или WRONG_VALUE(строка 7)?

WRONG_VALUE
AshFTW:

Как правильно писать:

input double abc=0.0;
 

Почему функция iCustom выполняется так долго (около 5000/8 мс)? Пруф:

 

Таким образом, разница между выполнением OnInit и первым OnCalculate занимает 5 секунд (при 8 интераций) × 5 индикаторов = 25 секунд. Это о-о-очень много, так как это занимает от 10000 интераций 250000 секунд, что составляет почти 3 дня, когда полная оптимизация длится 78 часов (при 8 ядрах, но всё же). Буду благодарен, если прокомментируете такое долгое ожидание.

UPD: При одной интерации время обычно одинаково и крутится около 650-800 мс, в отличии от iEnvelopes, iMA, iAMA и пр.

 
Пытаюсь добавить input'ы в массив,
input int a1=40;
input int a2=20;
int onInit()
{
        int m[2] = {a1,a2};
}

пишет

'a1' - constant expression required (4;14)

'a2' - constant expression required (4;17)

 Как можно значения input'ов добавить в массив? Спасибо

 
AshFTW:
Пытаюсь добавить input'ы в массив,

пишет

'a1' - constant expression required (4;14)

'a2' - constant expression required (4;17)

 Как можно значения input'ов добавить в массив? Спасибо

Добрый день. Копируйте в массив поэлементно:

 
Tapochun:

Добрый день. Копируйте в массив поэлементно:

 Дык дело в том, что я так и делал, но это занимает много строчек, когда много входных параметров (их 32).

input m0=12;
input m1=0;
OnInit() ...
        if(m0){ArrayResize(MAPeriod,ArraySize(MAPeriod)+1); ArrayFill(MAPeriod,ArraySize(MAPeriod)-1,1,m0);}
        if(m1){ArrayResize(MAPeriod,ArraySize(MAPeriod)+1); ArrayFill(MAPeriod,ArraySize(MAPeriod)-1,1,m1);}
Причина обращения: