Снова оптимизатор и графические объекты.

 

В теме «Оптимизатор и графические объекты» уже поднималась эта проблема, но хотелось бы к ней вернуться поскольку у меня не получается получить значение объекта описывающие линию тренда.

Рисуем объект.

Int shift =48;
Int Init_period= Period();
double Init_width=0.618;

ObjectCreate("Trent", OBJ_STDDEVCHANNEL, 0, iTime(Symbol(), Init_period, shift), Bid, Time[0], Ask);
ObjectSet("Trent", OBJPROP_DEVIATION, Init_width);
ObjectSet("Trent ", OBJPROP_COLOR, Aquamarine);
ObjectSet("Trent ", OBJPROP_RAY, true);

Считываем значение с графического объекта.

TrendPoint1 =NormalizeDouble( ObjectGet( "Trent", OBJPROP_PRICE1), Digits);
TrendPoint2 =NormalizeDouble( ObjectGet( "Trent", OBJPROP_PRICE2), Digits);

Все работает замечательно но оптимизация, у вы недоступна.
Как не рисуя реальный данный объект, просчитать его в эксперте, я имею ввиду объект описывающий именно линию тренда. Через массив, но как правильно построить алгоритм.????

Хотелось бы получить профессиональную помощь, поскольку сам любитель.

 
fandrey:

Как не рисуя реальный данный объект, просчитать его в эксперте, я имею ввиду объект описывающий именно линию тренда. Через массив, но как правильно построить алгоритм.????

Хотелось бы получить профессиональную помощь, поскольку сам любитель.



Храните нужные вам значения отдельно. Линейная интерполяция между ними делается не сложно. Другого выхода, увы, нет.
 
bstone:

Если не сложно по поводу “Линейная интерполяция между ними делается не сложно.” По подробней или для лучшего понимания примерчик.


Храните нужные вам значения отдельно. Линейная интерполяция между ними делается не сложно. Другого выхода, увы, нет.
 
Это ж геометрия пятый класс - теорема Пифагора...
Или алгебра шестой - уравнение прямой...

У тебя есть цена и номер бара для двух точек на истории. Соответственно, две опорные точки (p1,t1) и (p2,t2).
t1 и t2 - это время или номер бара, тут возможны варианты, кому как нравится. Бары несколько сложнее считать и контролировать, зато по ним линии красивше рисуются.
Наклон прямой будет (p2-p1)/(t2-t1). Значит цена в произвольный момент времени t (или на соответствующем баре) будет равна
p=p1 + (p2-p1)/(t2-t1)*(t-t1)

"Школьные годы чудестные, с дружбою, с книгою, с песнею..."
 
timbo:
Это ж геометрия пятый класс - теорема Пифагора...
Или алгебра шестой - уравнение прямой...

У тебя есть цена и номер бара для двух точек на истории. Соответственно, две опорные точки (p1,t1) и (p2,t2).
t1 и t2 - это время или номер бара, тут возможны варианты, кому как нравится. Бары несколько сложнее считать и контролировать, зато по ним линии красивше рисуются.
Наклон прямой будет (p2-p1)/(t2-t1). Значит цена в произвольный момент времени t (или на соответствующем баре) будет равна
p=p1 + (p2-p1)/(t2-t1)*(t-t1)

"Школьные годы чудестные, с дружбою, с книгою, с песнею..."
 
fandrey:

Доброго времени суток, то что вы предлагаете, подходит для определения тренда на истории. Возможно, я не правильно задал вопрос, хотя в строках кода видно что используется регрессивный объект. Я использую каналы для определения тренда который с моей точки зрения более полно отражают картину происходящего. На приведенном скрине видно разницу и точки цены которые я снимаю с объекта это А и В или С и D.

Отсюда и возник вопрос который я не понимаю или не знаю как построить алгоритм что бы можно было обрабатывать данные не создавая объект, основной камень преткновения это отклонение???.

 
Точно также рассчитай формулу для линии регрессии - наклон и опорная точка (пересечение вертикальной оси) - и пользуясь формулой вычисляй чего хочешь - цену от времени или время от цены. Забудь про встроенные в МТ каналы - сам их рассчитывай.
 

Да. Придется самому переписывать все алгоритмы расчетов встроенных в МТ объектов, если хочешь их исопльзовать при оптимизации. Я тоже считаю, что это несколько глупо.

 
bstone:

Да. Придется самому переписывать все алгоритмы расчетов встроенных в МТ объектов, если хочешь их исопльзовать при оптимизации. Я тоже считаю, что это несколько глупо.


Почему "тоже"? Кто-то ещё так считает?
Используя собственные уравнения ты понимаешь что происходит и почему, ты получаешь гибкость в настройках. Почему, например, канал стандартных отклонений строится именно на одно стадартное отклонение вверх и вниз, и что значит "выходят за граници на короткое время"? Как коротко это время?
Задавая собственные параметры уравнения ты можешь контролировать и количественно оценивать в том числе и это время.
Кроме того, рассчитанный канал может постоянно пересчитываться и уточняться с приходом новой информации, а не висеть приклееным где-то на графике.
Объекты необходимы для визуальных эффектов, у эксперта нет глаз, значит они ему не нужны - объекты для трейдера, уравнения для эксперта. Я считаю, что глупо пользоваться встроенными в МТ объектами, когда есть возможность использовать более мощный и гибкий инструмент - уравнения.
 
timbo:
Кроме того, рассчитанный канал может постоянно пересчитываться и уточняться с приходом новой информации, а не висеть приклееным где-то на графике.
Это все и многое другое можно делать со встроенными объектами в режиме тестирования. Вопрос в том, почему этого нельзя делать в режиме оптимизации.

Я считаю, что глупо пользоваться встроенными в МТ объектами, когда есть возможность использовать более мощный и гибкий инструмент - уравнения.


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

Вы забываете что не все с алгеброй и геометрией на ты, пусть даже это и 5-6 класс, у меня это было лет 30 назад, я да и многие поэтому и используют объекты встроенными в МТ и управлять ими как это принято в языках программирования невозможно, но это уже вопрос к разработчикам. Я в корне не согласен с заявлением что объекты только для красоты, они должны работать.

Я обратился на форум в проблемой и грешным делом думал что мне помогут более грамотные и продвинутые в программирование люди, поскольку сам не способен как я уже писал выше, нужна реальная помощь.

Причина обращения: