Определение угла наклона трендовой линии. - страница 2

 
Там не то. Мне нужно определить наклон трендовой линии в градусах. И потом этот "градус" подставить в параметр текстового объекта, чтобы текст имел тот же наклон, что и трендовая линия.

==================

При масштабировании такой объект наклон не меняет. Смысл уже частично теряется в определении угла.
 
Я этот скрипт тоже не смотрел, пришлось глянуть. Увидел параметр OBJPROP_ANGLE для объектов OBJ_TEXT и OBJ_TRENDBYANGLE. В чем проблема?
У одного объекта получить значение через ObjectGet() и второму задать ObjectGet().

 
Проблема в том, что если у объекта свойство OBJPROP_ANGLE явно через ObjectSet() не прописано, то ObjectGet() дает угол равный 0.
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() можно убрать. И наверно что-то еще можно убрать. Не стал вникать в код программы. Автору виднее.

Это единственный вариант, но как будет меняться угол при изменении масштаба? Я не знаю.


Решить проблему вывода текстовых сообщений под наклоном, как у трендовой, можно задавая вывод текстовых объектов двумя координатами. При масштабировании графика текстовый объект также будет менять наклон, как и трендовая.

Простое решение.

 
если не сложно объясни пожалуйста, почему в условии
Bars-counted_bars>3


ты взял значение 3, а не 2, знаю что при появлении нового бара индикаторкаунтед уменьшается на 1, + новый бар, я думал что правильнее будет >2, есть какое-то обоснование? а так хорошая проверка на наличие обрыва связи и подкачанных данных, я проверял
1. последнее количество баров
2. время крайне левого бара на графике
3. индекс последнего рассчитанного бара на графике
4. время последнего рассчитанного бара на графике

 
У меня в программе Bars-counted_bars>2. У тебя поставил >3. Не сразу получалось из-за числа, записываемого в буферы в цикле. В моей программе записываю 0. В твоей программе почему-то нужно записывать -1. Думал, не получается из-за числа - 2. Поставил 3. И так и осталось.
Правильно будет >2.

Небольшое добавление. Грубое обнуление индикаторных буферов в цикле - самое простое решение. Вначале тоже пытался более тонко сделать. Но попытка найти, где происходит сбой - ничего не дала. Без отладчика найти место возникновения сбоя очень сложно. Только время потеряешь.
Причина обращения: