У меня хуже. (Кстате, раньше твой случай без Слип'а работал, перестал несколько недель назад)
Такая же схема перестала срабатывать без жутких слипов на других (не текущем) чартах:
void cChartReInit::Run() // Scanning all charts and reinit if button is pushed
{
for(long i=ChartNext(0);i>0;i=ChartNext(i))
{
if(!ChartGetInteger(i,CHART_WINDOW_IS_VISIBLE)) continue;
long wc = ChartGetInteger(i,CHART_WINDOWS_TOTAL);
long wi = ObjectFind(i, pButtonName);
if(--wc!=wi) { CreateReinitButton(i); ChartRedraw(i); continue;}
if(ObjectGetInteger(i,pButtonName,OBJPROP_STATE))
{
ObjectSetInteger(i,pButtonName,OBJPROP_STATE,false);
ENUM_TIMEFRAMES cp = ChartPeriod(i);
Sleep(1350); // раньше это было не нужноChartSetSymbolPeriod(i, ChartSymbol(i), ((cp==PERIOD_M1) ? PERIOD_M5 : PERIOD_M1));
Sleep(1350); // раньше это было не нужноChartSetSymbolPeriod(i, ChartSymbol(i), cp);
}
ChartRedraw(i);
} // for(Charts)
}
Кнопочная переинициализация чарта с перерасчетом всех индикаторов, а также простенький и прозрачный объектно-ориентированный пример обработки всех чартов из одного эксперта.
Можно через таймер сделать, но мне чёта не нравица фсё эта.
// Ссылко поправил. Первый раз через "мои коды" брал, сейчас через общий вход в кодобазу. // Щас работает? Или разлогиниться надо чтоб общедоступную ссыль получить?
Можно через таймер сделать, но мне чёта не нравица фсё эта.
Пробовал OnTimer прикручивать с ChartRedraw вместо переключения на другой тф - глухо, обновляет, но ошибка висит.
Покурю ещё.
upd есть подозрение, что это всё с потоками связано. Где то они не стыкуются, один висит с ошибкой, дрогой сам по себе тикает. Рассинхронизация, однако. И команды на полный перерасчет нет.
// Ссылко поправил. Первый раз через "мои коды" брал, сейчас через общий вход в кодобазу. // Щас работает? Или разлогиниться надо чтоб общедоступную ссыль получить?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Да, так и сделал, спасибо, тикает ).
А теперь попробуйте так:
А теперь попробуйте так:
Пробовал, из М1 вернуться автоматом не могу. Если перечисляю как выше
через раз, но возвращаюсь, если присваиваю сразу _Period, как упал в М1, так там и остался.
upd не спасает даже вынесенная в конец индика
хз почему затирает, разбираюсь пока.
Это костыль вместо синхронизации (на выходной, когда нет тиков). Идея как танк - есть ошибка - перекл. на М1 и вернуться.
только из М1 очень не всегда выпускает.Пробовал, из М1 вернуться автоматом не могу. Если перечисляю как выше
через раз, но возвращаюсь, если присваиваю сразу _Period, как упал в М1, так там и остался.
Твой случай лечится небольшим слипом.
У меня хуже. (Кстате, раньше твой случай без Слип'а работал, перестал несколько недель назад)
Такая же схема перестала срабатывать без жутких слипов на других (не текущем) чартах:
Код отсюда: https://www.mql5.com/ru/code/224Твой случай лечится небольшим слипом.
У меня хуже. (Кстате, раньше твой случай без Слип'а работал, перестал несколько недель назад)
Но такая же схема перестала срабатывать без жутких слипов на других (не текущем) чартах:
Код отсюда: https://www.mql5.com/ru/code/224/10323Слип же не работает в индикаторах?
Ссылка на 404 стр. кидает
Слип же не работает в индикаторах?
Ссылка на 404 стр. кидает
Мдя. :(
Попробуй какой-нить затратный цикл..
Можно через таймер сделать, но мне чёта не нравица фсё эта.
// Ссылко поправил. Первый раз через "мои коды" брал, сейчас через общий вход в кодобазу. // Щас работает? Или разлогиниться надо чтоб общедоступную ссыль получить?
Мдя. :(
Попробуй какой-нить затратный цикл..
Можно через таймер сделать, но мне чёта не нравица фсё эта.
Пробовал OnTimer прикручивать с ChartRedraw вместо переключения на другой тф - глухо, обновляет, но ошибка висит.
Покурю ещё.
upd есть подозрение, что это всё с потоками связано. Где то они не стыкуются, один висит с ошибкой, дрогой сам по себе тикает. Рассинхронизация, однако. И команды на полный перерасчет нет.
Пробовал ещё
это похоже вообще не работает. Хотя в кодобазе взял.Пробовал OnTimer прикручивать с ChartRedraw вместо переключения на другой тф - глухо, обновляет, но ошибка висит.
Покурю ещё.
...
// Ссылко поправил. Первый раз через "мои коды" брал, сейчас через общий вход в кодобазу. // Щас работает? Или разлогиниться надо чтоб общедоступную ссыль получить?