![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что такое ГВ?
В последнее время я делаю примерно следующее:
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){
Это перерисовывает видимую часть индикатора на каждом тике, но не бары, которые находятся вне поля зрения.
Привет, phy.....
У меня та же проблема, что и выше, мне приходится вручную менять таймфрейм, а затем я получаю статус обновления индикатора......
Поскольку я новичок в кодировании, я не знаю, где добавить волшебную линию................
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){
Plesae suggest....
Спасибо... .....lot.
Гарри.
Эй, ребята, все работает нормально. Спасибо еще раз,
Здравствуйте, brspMA,
У меня такая же проблема.
Не могли бы вы подсказать мне, куда добавить этот лайм...
Спасибо......
Дата начала нити - 2007.11.29
WHRoeder- Почему вы пишете в тему пятилетней давности?
RaptorUK - Дата начала нити - 2007.11.29
============================
Что плохого в том, чтобы отвечать на старые темы?
Google не делает различий между содержанием и хронологией (если не использовать фильтры), поэтому нет ничего плохого в том, чтобы помочь другим людям, которые натыкаются на темы через поисковые системы.
Моды ходят в школу, где их учат, как очернять и осуждать новичков?
WHRoeder - Почему вы пишете в тему пятилетней давности?
RaptorUK - Дата начала нити - 2007.11.29
============================
Что плохого в том, чтобы отвечать на старые темы?
Google не делает различий между содержанием и хронологией (если не использовать фильтры), поэтому нет ничего плохого в том, чтобы помогать другим людям, которые натыкаются на темы через поисковые системы.
Модеры ходят в школу, где их учат, как очернять и осуждать новичков?
В принципе, нет ничего плохого в том, чтобы отвечать на старые темы.
Именно такие ответы, как ваш, которые не имеют ничего общего с темой, раздражают других.
Кроме того, ответы на вопрос 5-летней давности часто не полезны, так как mql4 развивается со временем. Поднятие старой темы в начало списка часто означает, что новички читают информацию, которая больше не актуальна.
Возможно, что нам придется перерисовать индикатор, но мы не знаем, сколько баров нам придется перерисовать. Если мы создаем фрактальный индикатор, нам придется пересчитать последние три бара, потому что третий бар может стать фракталом, если следующие 2 бара слева удовлетворяют правилам. Я создал индикатор, который будет отмечать уровень поддержки или сопротивления, когда он пробит. Однако это может произойти через 10 баров или через 1000 баров. Поэтому мы не знаем, сколько баров нам нужно пересчитать. И если мы будем пересчитывать все бары на каждом тике, нам обычно придется ограничить наш индикатор последними 500 или 1000 барами.
Можно также обновить график, чтобы он пересчитал все бары нашего индикатора. Но как это сделать программно? WindowsRedraw() и ChartRedraw() не вызывают обновления индикатора. Если мы перейдем на другой таймфрейм и вернемся обратно, индикатор будет пересчитан, как описано в первом сообщении. Мы можем поместить на наш график эксперта с обработчиком CHARTEVENT_CLICK, а затем вызвать метод ChartSetSymbolPeriod(0, NULL, 0). Это установит график на фактический период символа и фактически позволит индикатору автоматически пересчитываться каждый раз, когда мы щелкаем по графику. Использование события щелчка - это только пример, и вы можете использовать его так, как хотите.
В конце кода индикатора поставьте "ChartNavigate(0,CHART_CURRENT_POS,0);"
{
...
ChartNavigate(0,CHART_CURRENT_POS,0);
return(rates_total);
}