Pipsoed 0 Share Posted April 7, 2004 Добрый день у меня ли проблема? Конструкция такова дословно: For q1=4 to 8 Begin For U1=1 to 5 Begin For E1=1 to 10 Begin For q2=8 to 20 Begin For U2=1 to 5 Begin For E2=1 to 10 Begin BANDHigh1=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_HIGH,sdvig); BANDMain1=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_MAIN,sdvig); BANDLow1=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_LOW,sdvig); // BANDHigh1Pre=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_HIGH,sdvig1); BANDMain1Pre=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_MAIN,sdvig1); BANDLow1Pre=iBandsEx(Q1,U1,E1,PRICE_CLOSE,MODE_LOW,sdvig1); // BANDHigh2=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_HIGH,sdvig); BANDMain2=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_MAIN,sdvig); BANDLow2=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_LOW,sdvig); // BANDHigh2Pre=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_HIGH,sdvig1); BANDMain2Pre=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_MAIN,sdvig1); BANDLow2Pre=iBandsEx(Q2,U2,E2,PRICE_CLOSE,MODE_LOW,sdvig1); EnD; EnD; EnD; EnD; EnD; EnD; Почему то не идёт обработка первых верхних двух FOR они застывают на начальной позиции Q1=4 U1=1 Тоесть сразу все шесть циклов не работают а всего 4. Должно ли так быть? или так и есть в MT? И то эти работающие 4 не работают как нужно, а всего лишь два! //***///****////*****/////******//////******** //***///****////*****/////******//////******** Link to post Share on other sites
stringo 0 Share Posted April 8, 2004 а Вы логи смотрите? у Вас должно быть написано loop detected. Попытайтесь ради примера прокрутить 120 тысяч циклов (это у Вас столько) из одного фора со всеми вызовами индикаторов и посмотрите сколько раз у Вас выполнится цикл. === С уважением, Станислав Стариков. MetaQuotes Software Corp. С уважением, Станислав Стариков. MetaQuotes Software Corp. Link to post Share on other sites
Pipsoed 0 Author Share Posted April 8, 2004 Мдя живёт ещё в моем теле душа ламмерская. Дак вот, инициализировать, как я понял, нужно из примера по LOOP detected эти самые переменные q1,u1,e1 Это во избежание тиковых данных в устойчивые переменные. Попробывал эксперт однако заработал быстрее, но проблема осталась! Зачем он мне повторяет инициализацию снова, если тело основного цикла, эти циклы в себе не содержит? //***///****////*****/////******//////******** //***///****////*****/////******//////******** Link to post Share on other sites
stringo 0 Share Posted April 8, 2004 на нашей странице особенности написания экспертов рассмотрена подобная ситуация. процитирую начало абзаца === Бывают ситуации, когда необходимо произвести большую подготовительную работу перед началом работы эксперта. Настолько большую, что эксперт принудительно завершается с ошибкой loop detected. (Необходимо отметить, что эксперт запускается с каждым ценовым тиком и не имеет права работать долго). Однако, подготовительную работу, например инициализацию какого-либо массива можно произвести в несколько приемов. === правда рассмотрен простейший случай с одним циклом. Вам же вместо одного initvalue надо будет завести 8 таких. === С уважением, Станислав Стариков. MetaQuotes Software Corp. С уважением, Станислав Стариков. MetaQuotes Software Corp. Link to post Share on other sites
Recommended Posts