Получение в индикаторе данных со старшего таймфрейма

Страницы: 1
RSS
Получение в индикаторе данных со старшего таймфрейма
 
Не подкскажите, как получить данные  в индикаторе с дневного или недельного таймфрейма?
 
Здравствуйте,
Индикатор работает только с тем таймфреймом который выбран на графике куда добавлен сам индикатор.
Единственный вариант, открыть еще один график с нужным таймфреймом и обратиться к нему через getCandlesByIndex
 
Есть и другой вариант.

пересчитать свечи из текущего таймфрейма в более старший внутри индикатора. При этом длительности таймфрейма должны быть кратны.
 
Меня интересуют High, Low и Close  предыдущей недели, не подскажите может уже кто решал такую проблему?
 
Для расчета этих данных совершенно не требуется информация о недельном таймфрейма.

у вас есть все на текущем таймфрейма, если он не месячный.

у каждой свечи есть время, смотрите от текущей свечи влево, находите свечу, где с енилась неделя и идите дальше до следующей смены недели. При этом рассчитайте low и high.
 
Цитата
s_mike@rambler.ru написал:
Для расчета этих данных совершенно не требуется информация о недельном таймфрейма.

у вас есть все на текущем таймфрейма, если он не месячный.

у каждой свечи есть время, смотрите от текущей свечи влево, находите свечу, где с енилась неделя и идите дальше до следующей смены недели. При этом рассчитайте low и high.
С этим разобрался, хочу отобразить экстремумы недели в виде горизонтальных линий, как сделать чтобы рисовались уровни только последней недели? У меня сейчас отрисовываются уровни всех недель.
 
Считать только на той свече, которая является последней.
 
Цитата
s_mike@rambler.ru написал:
Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
 
Цитата
Andrei написал:
Цитата
   s_mike@rambler.ru написал:
Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинается новый день на реальных торгах индикатор делает полный рестарт, вся имеющаяся на нем информация стирается и начинается новый расчет с первой свечи. Поэтому написанное вами происходить не может и вам следует поискать ошибку.
 
Цитата
Andrei написал:
Цитата
   s_mike@rambler.ru написал:
Считать только на той свече, которая является последней.
Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинаются новые торги графики не рестартуются.
Поэтому у Вас все правильно. Но если вам мешают линии ранее нарисованные, то сотрите их, либо сделайте рестарт графика а в скрипте поставьте условие рисования линий по времени и дате.
 
Цитата
Николай Камынин написал:
Цитата
Andrei написал:
 
Цитата
    s_mike@rambler.ru  написал:
Считать только на той свече, которая является последней.
 Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
когда начинаются новые торги графики не рестартуются.
Поэтому у Вас все правильно. Но если вам мешают линии ранее нарисованные, то сотрите их, либо сделайте рестарт графика а в скрипте поставьте условие рисования линий по времени и дате.
ну как же не рестартуются?

смена торгового дня всегда приводит через процедуру очистки (даже колбек даден - oncleanup).

посмотрите на досуге, как утром в момент подключения все ваши графики становятся черными, ресетятся все экранные таблицы и начинается перестроение графиков.

я вам даже индикатор напишу, вот он:

function oncalculate(i)
message(tostring(i))
end

запустите его на ночь и посмотрите, как происходит пересчет графиков и не обманывайте никого.
 
Цитата
s_mike@rambler.ru написал:
Цитата
Николай  Камынин написал:
 
Цитата
Andrei  написал:
 
Цитата
     s_mike@rambler.ru   написал:
Считать только на той свече, которая является последней.
  Я так и делаю и работает до начала нового дня, как только начинается новый день предыдущие линии остаются
 когда начинаются новые торги графики не рестартуются.
Поэтому у Вас все правильно. Но если вам мешают линии ранее нарисованные, то сотрите их, либо сделайте рестарт графика а в скрипте поставьте условие рисования линий по времени и дате.
ну как же не рестартуются?

смена торгового дня всегда приводит через процедуру очистки (даже колбек даден - oncleanup).

посмотрите на досуге, как утром в момент подключения все ваши графики становятся черными, ресетятся все экранные таблицы и начинается перестроение графиков.

я вам даже индикатор напишу, вот он:

function oncalculate(i)
message(tostring(i))
end

запустите его на ночь и посмотрите, как происходит пересчет графиков и не обманывайте никого.
откройте квик до начала торгов.
новые торги начнутся без изменения нарисованных графиков.
Но настаивать не буду, возможно Вы и правы - у вас графики стираются, но у меня - нет.
 
Вы путаете понятия "начало торгов" и "смена торговой даты". Это не одно и то же.

когда вы включаете терминал впервые утром к примеру в 9-30, у вас при подключении к серверу происходит cleanup и меняется дата. При этом  пересчитывается все и вся, включая графики.

если вы не выключите на ночь компьютер, то все равно произойдет cleanup в момент, определяемый брокером. Это можно проверить, написав простейший скрипт с колбеком oncleanup

в момент начала торгов конечно ничего подобного уже не происходит, ибо незачем.
 
s_mike@rambler.ru
не надо приписывать другим то, чем занимаетесь сами.
Вполне допускаю, что ошибся. Но хамить не имеет смысла.
Страницы: 1
Читают тему (гостей: 1)
Наверх