Там не то. Мне нужно определить наклон трендовой линии в градусах. И потом этот "градус" подставить в параметр текстового объекта, чтобы текст имел тот же наклон, что и трендовая линия.
==================
При масштабировании такой объект наклон не меняет. Смысл уже частично теряется в определении угла.
Я этот скрипт тоже не смотрел, пришлось глянуть. Увидел параметр OBJPROP_ANGLE для объектов OBJ_TEXT и OBJ_TRENDBYANGLE. В чем проблема?
У одного объекта получить значение через ObjectGet() и второму задать ObjectGet().
Проблема в том, что если у объекта свойство OBJPROP_ANGLE явно через ObjectSet() не прописано, то ObjectGet() дает угол равный 0.
Profi_r выше скрипт поместил. Я поэкспериментировал с этим скриптом. Не получается получить угол. Вот если задать угол для объекта через ...Set(), то ...Get() возвращает значение угла.
Изначально мы имеем трендовую, заданную двумя координатами, выраженными через цену и время. И у этой трендовой не задавался угол наклона....
Интересен текстовый объект, привязанный по наклону к трендовой. Желательно самостоятельный текстовый объект. Возможно ли дополнить язык таким объектом? У этого объекта мы задаем только одну координату, выраженную через цену и время. И прописываем название другого графичекого объекта, в нашем случае трендовой, для привязки текстового объекта к другому графическому объекту по наклону.
У трендовых есть описание. Но через описание выводить информацию не всегда бывает удобно.
ай спасибо :), брошу на график посмотрю, ни как не мог понять последовательность происходящего при старте терминала, авторизации, подкачке недостающих данных, выводил в лог и получал разные резалты, а на анализ времени не хватало, стыдно еще в прошлом году обещал доделать, да все никак руки не доходили, одно но, судя по всему ты грубо заставляешь его пересчитывать весь период, если обратил внимание, у меня там начата функция bool recount(), которой я хотел определять необходимость пересчета, затем количество баров которые на которых нужно пересчитать, ну и сомнения были насчет
в старте, про цикл думал, но вроде ограничений на использование в старте для сет_индекс_емти_валуе не видел, может быть здесь собака порылась? когда обсуждали отслеживание факта потери связи помню не совсем был согласен с тобой, теперь время покажет насколько верно твое предположение ;) еще раз спасибо!
судя по всему ты грубо заставляешь его пересчитывать весь период
Подкачка недостающих баров - явление не частое. Поэтому "обнуление" буферов в цикле и последующий пересчет всего индикатора не отнимают много времени. Я там еще включил оптимизацию пересчета при выходе цены за нулевой бар как по времени, так и по цене...
в теле модуля start() можно убрать. И наверно что-то еще можно убрать. Не стал вникать в код программы. Автору виднее.
Это единственный вариант, но как будет меняться угол при изменении масштаба? Я не знаю.
Решить проблему вывода текстовых сообщений под наклоном, как у трендовой, можно задавая вывод текстовых объектов двумя координатами. При масштабировании графика текстовый объект также будет менять наклон, как и трендовая.
если не сложно объясни пожалуйста, почему в условии
Bars-counted_bars>3
ты взял значение 3, а не 2, знаю что при появлении нового бара индикаторкаунтед уменьшается на 1, + новый бар, я думал что правильнее будет >2, есть какое-то обоснование? а так хорошая проверка на наличие обрыва связи и подкачанных данных, я проверял 1. последнее количество баров 2. время крайне левого бара на графике 3. индекс последнего рассчитанного бара на графике 4. время последнего рассчитанного бара на графике
У меня в программе Bars-counted_bars>2. У тебя поставил >3. Не сразу получалось из-за числа, записываемого в буферы в цикле. В моей программе записываю 0. В твоей программе почему-то нужно записывать -1. Думал, не получается из-за числа - 2. Поставил 3. И так и осталось. Правильно будет >2.
Небольшое добавление. Грубое обнуление индикаторных буферов в цикле - самое простое решение. Вначале тоже пытался более тонко сделать. Но попытка найти, где происходит сбой - ничего не дала. Без отладчика найти место возникновения сбоя очень сложно. Только время потеряешь.
==================
При масштабировании такой объект наклон не меняет. Смысл уже частично теряется в определении угла.
У одного объекта получить значение через ObjectGet() и второму задать ObjectGet().
Profi_r выше скрипт поместил. Я поэкспериментировал с этим скриптом. Не получается получить угол. Вот если задать угол для объекта через ...Set(), то ...Get() возвращает значение угла.
Изначально мы имеем трендовую, заданную двумя координатами, выраженными через цену и время. И у этой трендовой не задавался угол наклона....
У трендовых есть описание. Но через описание выводить информацию не всегда бывает удобно.
Это единственный вариант, но как будет меняться угол при изменении масштаба? Я не знаю.
а разве это важно после построения? на крайняк можно отслеживать пиксель на единицу измерения и менять угол
хотя если он будет "привязан" к графику по двум точкам тогда нет, а если точке и углу тогда да
ай спасибо :), брошу на график посмотрю, ни как не мог понять последовательность происходящего при старте терминала, авторизации, подкачке недостающих данных, выводил в лог и получал разные резалты, а на анализ времени не хватало, стыдно еще в прошлом году обещал доделать, да все никак руки не доходили, одно но, судя по всему ты грубо заставляешь его пересчитывать весь период, если обратил внимание, у меня там начата функция bool recount(), которой я хотел определять необходимость пересчета, затем количество баров которые на которых нужно пересчитать, ну и сомнения были насчет
//инициализация буферов индикатора SetIndexEmptyValue(0,-1); SetIndexEmptyValue(1,-1); SetIndexEmptyValue(2,-1); SetIndexEmptyValue(3,-1); SetIndexEmptyValue(4,-1); SetIndexEmptyValue(5,-1); SetIndexEmptyValue(6,-1);в старте, про цикл думал, но вроде ограничений на использование в старте для сет_индекс_емти_валуе не видел, может быть здесь собака порылась?
когда обсуждали отслеживание факта потери связи помню не совсем был согласен с тобой, теперь время покажет насколько верно твое предположение ;) еще раз спасибо!
Этот участок
//инициализация буферов индикатора SetIndexEmptyValue(0,-1); SetIndexEmptyValue(1,-1); SetIndexEmptyValue(2,-1); SetIndexEmptyValue(3,-1); SetIndexEmptyValue(4,-1); SetIndexEmptyValue(5,-1); SetIndexEmptyValue(6,-1);в теле модуля start() можно убрать. И наверно что-то еще можно убрать. Не стал вникать в код программы. Автору виднее.
Решить проблему вывода текстовых сообщений под наклоном, как у трендовой, можно задавая вывод текстовых объектов двумя координатами. При масштабировании графика текстовый объект также будет менять наклон, как и трендовая.
Простое решение.
ты взял значение 3, а не 2, знаю что при появлении нового бара индикаторкаунтед уменьшается на 1, + новый бар, я думал что правильнее будет >2, есть какое-то обоснование? а так хорошая проверка на наличие обрыва связи и подкачанных данных, я проверял
1. последнее количество баров
2. время крайне левого бара на графике
3. индекс последнего рассчитанного бара на графике
4. время последнего рассчитанного бара на графике
Правильно будет >2.
Небольшое добавление. Грубое обнуление индикаторных буферов в цикле - самое простое решение. Вначале тоже пытался более тонко сделать. Но попытка найти, где происходит сбой - ничего не дала. Без отладчика найти место возникновения сбоя очень сложно. Только время потеряешь.