Добрый день. Давайте пообщаемся в сервисдеске. От вас необходимо:
- Эксперт
- Настройки оптимизации
- Логи тестера
- Название вашего торгового сервера
- Эксперт
- Настройки оптимизации
Вопрос решил, это оказался не баг, а особенность индикатора (первая прорисовка индикатора при инициализации).
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.;
Как будет правильнее: возвращать NULL или WRONG_VALUE(строка 7)?
Как правильно писать:
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 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'ов добавить в массив? Спасибо
Пытаюсь добавить input'ы в массив,
пишет
'a1' - constant expression required (4;14)
'a2' - constant expression required (4;17)
Как можно значения input'ов добавить в массив? Спасибо
Добрый день. Копируйте в массив поэлементно:
Добрый день. Копируйте в массив поэлементно:
Дык дело в том, что я так и делал, но это занимает много строчек, когда много входных параметров (их 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);}
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
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.