Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В этом варианте функции вообще отсутствует функция Новый_бар();
Это самый экономящий ресурсы вариант из тех, что я предоставлял. К тому же у него есть еще преимущество: Событие нового бара сохраняется все время пока исполняется пользовательский код на событии таймера или тика.
Раньше можно было только один раз получить это событие и флаг снимался функцией Новый_бар(). Сейчас специальная функция один раз в минуту очищает массив "Cобытия_нового_бара[][]" и вызывается только после исполнения пользовательского кода.
Пользовательские функции могут напрямую обращатся к массиву и получать информацию о событии нового бара все время исполнения кода на событии таймера или тика.
Ресурсы экономятся еще больше.
Последний код так-же не работает, за 7 минут принт так и не дождался
Последний код так-же не работает, за 7 минут принт так и не дождался
Эта функция должна вызываться из OnTick или из таймера.
Возможно, есть какая то небольшая проблема, но мне пока ее не удалось локализовать. Посмотрите код сами и поищите ошибку. Он простой как 3 копейки. И с комментариями вдобавок.
Будет непонятно, - спрашивайте. Мне пора другими вещами заниматься.
В этом варианте функции вообще отсутствует функция Новый_бар();
Это самый экономящий ресурсы вариант из тех, что я предоставлял. К тому же у него есть еще преимущество: Событие нового бара сохраняется все время пока исполняется пользовательский код на событии таймера или тика.
Раньше можно было только один раз получить это событие и флаг снимался функцией Новый_бар(). Сейчас специальная функция один раз в минуту очищает массив "Cобытия_нового_бара[][]" и вызывается только после исполнения пользовательского кода.
Пользовательские функции могут напрямую обращатся к массиву и получать информацию о событии нового бара все время исполнения кода на событии таймера или тика.
Ресурсы экономятся еще больше.
Я что-то юмора не понял. А что - отладчик не понимает русского? Или это только у меня такой глюк? В латинице видит переменные, а в кириллице нет.
Пётр, а как ты тогда пользуешься отладчиком или ты им не пользуешься?
Все желающие могут поискать ошибку в коде.
Суть работы кода:
1. Объявляем глобальные массивы:
2. На инициализации устанавливаем размеры массива символов и записываем туда названия символов из обзора рынка.
3. Устанавливаем размер первого измерения массива "Количество_баров[][]", которое равно количеству символов, а второе измерение равно количеству таймфреймов. Этот массив как таблица. В нем будут записываться текущее количество баров каждого символа и каждого таймфрейма. Количество возвращается функцией iBars.
4. Устанавливаем размер первого измерения массива "События_нового_бара[][]" которое равно количеству символов, а второе измерение равно количеству таймфреймов. Этот массив как таблица. В нем будут записываться флаги событий новых баров каждого из символов на каждом из таймфреймов.
5. Внутри таймера мы отсчитываем минуту и делаем двойной (вложенный) цикл по символам (которые находятся в массиве Символы[]) и таймфреймам (которые находятся в массиве Таймфреймы[]). Вызываем функцию iBars и получаем текущее количество баров каждого символа и каждого таймфрейма из массивов Символы и Таймфреймы. Сначала мы сравниваем текущее количество баров с тем, что уже записано в массиве. Если эти значения не равны, то мы ставим флаг события нового бара в массив "События_нового_бара[][]". После этого записываем текущее количество баров на место прежнего.
Глобальный массив "События_нового_бара[][]" доступен в любой точке программы и он автоматически заполняется каждую минуту и также автоматически очищается. В тот период, когда массив заполняется, пользовательский функционал получает свежие данные о новых барах. После этого массив автоматически очищается.
Вот и все.
Эта функция должна вызываться из OnTick или из таймера.
Возможно, есть какая то небольшая проблема, но мне пока ее не удалось локализовать. Посмотрите код сами и поищите ошибку. Он простой как 3 копейки. И с комментариями вдобавок.
Будет непонятно, - спрашивайте. Мне пора другими вещами заниматься.
профессиональный ответ
Я что-то юмора не понял. А что - отладчик не понимает русского? Или это только у меня такой глюк? В латинице видит переменные, а в кириллице нет.
Пётр, а как ты тогда пользуешься отладчиком или ты им не пользуешься?
профессиональный ответ
Эта функция должна вызываться из OnTick или из таймера.
Возможно, есть какая то небольшая проблема, но мне пока ее не удалось локализовать. Посмотрите код сами и поищите ошибку. Он простой как 3 копейки. И с комментариями вдобавок.
Будет непонятно, - спрашивайте. Мне пора другими вещами заниматься.
Он настолько сложен и закручен, что в нём собака ногу сломит.
Уж извините, но к тому-же он ещё совершенно нечитаемый.
Он настолько сложен и закручен, что в нём собака ногу сломит.
Уж извините, но к тому-же он ещё совершенно нечитаемый.
Знаете поговорку про "не можешь ... не мучай..."? По моему в тему.
Знаете поговорку про "не можешь ... не мучай..."? По моему в тему.
Верно, вы так и справились с задачей окончательно, ну или Я не смог правильно запустить ваше решение.