Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проблема в i? Вы хотите считать данные которые еще не загрузились. Если откроете другой график. Сперва на нем переключитесь на нужный тайм-фрейм, потом на основном (сделав паузу в несколько секунд), проблема исчезнет.
А так Вы обращаетесь к данным, а они пока только загружаются. И естественно будут проблемы.
Хотя можно сделать цикл по обработке ошибки 4066, может и поможет
Цикл проверки ошибки 4066 двумя постами выше. Не помогает.
Всем мои извинения за беспокойство и спасибо за участие. Проблема была в усталости.
Цикл поиска фрактала организован
while(FrUp == 0)
FrUp объявлена на глобальном уровне. В init() обнулял ВСЕ переменные кроме FrUp...
К сожалению как я и предположил это не помогло. Вот что я добавил в init()
datetime d[]; int err;
for(int i = 0; i <=5; i++)
{
ArrayCopySeries(d, MODE_TIME, Symbol(), Period());
err = GetLastError();
if(err > 0)
{
Print("GetLastError() == ", err);
continue;
}
else
{
Print(Period());
break;
}
}
Печатает только период.
Может я что-то не так сделал в этой проверке?
В Вашем примере если ошибка 4066 то выход из функции. И получается без разницы есть ошибка или нет выход из init() и выполнение start().
Но поскольку мне надо было сделать проверку в init() то я и сделал ожидание отсутствия ошибки.
А поставил цикл for() а не while() потому, что побоялся зациклить и повесить терминал.
Ну как-бы там ни-было, ещё раз большое спасибо за участие, проблема оказалась не там где я её искал.
И буду благодарен если, в свете моих пояснений, ответите почему так, как я использовал Ваш совет, не правильно.
Всем мои извинения за беспокойство и спасибо за участие. Проблема была в усталости.
Цикл поиска фрактала организован
while(FrUp == 0)
FrUp объявлена на глобальном уровне. В init() обнулял ВСЕ переменные кроме FrUp...
Вот как раз дело в том, что без кода помочь не могли, в основном телепатировали..
Вот как раз дело в том, что без кода помочь не могли, в основном телепатировали..
Спасибо что ответили не позже чем через год.
И ещё хочу заметить, если есть желание помочь, то не надо искать ошибки в чужом коде если об этом не просят, надо просто ответить на заданный вопрос.
А вопрос был абсолютно точно сформулирован "как выполняется ф-ия init() при переключении ТФ?"
И достаточно было ответа "Абсолютно так-же как и при запуске советника".
Дальше дискутировать по этому вопросу я не намерен. Лучше промолчите, как молчали 5 месяцев.
И достаточно было ответа "Абсолютно так-же как и при запуске советника".
Давно видел эту тему, но так и не полюбопыствовал "А какие еще были варианты выполнения функции?"
- Выполняется, но не совсем?
Спасибо что ответили не позже чем через год.
И ещё хочу заметить, если есть желание помочь, то не надо искать ошибки в чужом коде если об этом не просят, надо просто ответить на заданный вопрос.
А вопрос был абсолютно точно сформулирован "как выполняется ф-ия init() при переключении ТФ?"
И достаточно было ответа "Абсолютно так-же как и при запуске советника".
Дальше дискутировать по этому вопросу я не намерен. Лучше промолчите, как молчали 5 месяцев.
в общем то без злобы и сарказма:
а почему Вы считаете что писал именно Вам...
- писалось для для тех кто просто форум читает - не все оформляют вопрос достаточно ясно ( Вы оформили хорошо - но при этом Вас все равно не сразу поняли )
когда описываешь проблему или читаешь - автор исходит из своего восприятия читатель из своего
То что ответил через 5 месяцев - да хоть через год... облако сохранит ... кто то прочитает
насчет Лучше промолчать - Хочу и пишу - Вас не спрошу.. это форум, никто не запрещает поднять тему хоть 2006 года ... тему увидел не сразу ....
Тема мне интересная - в свое время на эти грабли наступал... проблема близка - увидел бы 5 месяцев назад - помог бы
Повторюсь по другому.
Без кода можно говорить только об общем.
Частное решение найти не удастся
Хотя, если нужно общее, то в статьях все это есть
согласен c Vinin
------
Проблема в i? Вы хотите считать данные которые еще не загрузились. Если откроете другой график. Сперва на нем переключитесь на нужный тайм-фрейм, потом на основном (сделав паузу в несколько секунд), проблема исчезнет.
А так Вы обращаетесь к данным, а они пока только загружаются. И естественно будут проблемы.
Хотя можно сделать цикл по обработке ошибки 4066, может и поможет
Это может иметь место при- если ТФ не загружен
скорее всего у автора топика ТФ зачитан - проблема как обычно в логической ошибке - ( это мы сейчас уже знаем )
Тем не менее принты из init() идут при переключении ТФ. Значит выполняется... или это не полное выполнение инициализации?
полное
---
то что init выполняется абсолютно так же - легко понять поставив Print в init()
init() индикатора и советника работают по разному. Индикатор будет проходить переинициализацию каждый раз, а советник - только при запуске.
НЕ ВЕРНО!
при переключении ТФ Init тоже будет выполнятся ... в новых версиях Init() теперь называется как OnInit()это вопрос и для меня. но я не использую принты
Давно видел эту тему, но так и не полюбопыствовал "А какие еще были варианты выполнения функции?"
- Выполняется, но не совсем?