Хотелось бы сохранить переменные Per и N для init() и start(). Не красиво дублировать один и тот же код на вычисление Per в двух местах. Если какой нибудь выход?
В MQL, точно так же как и в языке си нельзя выполнять код на глобальном уровне. Т.е. тебе надо оформить твой цикл в виде функции. И эту функцию вызывать из нужного тебе места (например из init и start).
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
//Input parameters extern int Order=10; //Indicator buffers double IC[]; int N=0; int Per=1; while(Per*2<=Bars) { Per=Per*2; N=N+1; if(N>=Order)break; } int init() { IndicatorBuffers(1); SetIndexBuffer(0,IC); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); SetIndexShift(0,Per); IndicatorShortName("Predicted Closing Prices"); return(0); }Хотелось бы сохранить переменные Per и N для init() и start(). Не красиво дублировать один и тот же код на вычисление Per в двух местах. Если какой нибудь выход?