Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Есть кастомный индикатор который использует одновременно несколько стохастиков на разных таймфреймах.
Проблема но при попытке использовать его индикатор падает с ошибкой
Not all data of ExtST_2_Handle is calculated (87694bars ). Error4806Однако баров было рассчитано не мало 87694 но ошибка все же падает. Проверка выглядит так:
Я предполагаю что это связанно с значением rates_total : "значение параметра соответствует количеству баров на графике, на котором он запущен." Согласно https://www.mql5.com/ru/docs/event_handlers/oncalculate (вторая перегрузка функции)
Как я могу рассчитать значение <st_number>_rates_total соответствующее таймфрейму индикатора, на основе имеющегося rates_total для каждого конкретного индикатора внутри моего?
То есть что-то вроде
int CalculateRatesTotlal(int rates_total, ENUM_TIMEFRAMES target_timeframe) { double result = (double) rates_total / ((double) TimefameAsInteger(Period()) / (double)TimefameAsInteger(target_timeframe)); return((int) result); } int TimefameAsInteger(ENUM_TIMEFRAMES src) { if(PERIOD_M1) return(1); if(PERIOD_M2) return(2); if(PERIOD_M3) return(3); if(PERIOD_M4) return(4); if(PERIOD_M5) return(5); if(PERIOD_M6) return(6); if(PERIOD_M10) return(10); if(PERIOD_M12) return(12); if(PERIOD_M15) return(15); if(PERIOD_M30) return(30); if(PERIOD_H1) return(60); if(PERIOD_H2) return(120); if(PERIOD_H3) return(180); if(PERIOD_H4) return(240); if(PERIOD_H6) return(360); if(PERIOD_H8) return(480); if(PERIOD_H12) return(720); if(PERIOD_D1) return(1440); if(PERIOD_W1) return(10080); if(PERIOD_MN1) return(302400); return(0); }В входящих параметрах у меня есть