Не могу понять...© В августе 44-го - страница 2

 
Georgiy Merts:

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

Можно подставлять даже комплексные входные значения.

Единственное ограничение -  right_bar <> left_bar, эта проверка обязательно должна делаться перед вызовом функции, и если вдруг значения равны - то вместо вызова должна выполняться обработка этой исключительной ситуации.

В предложенной функции в такой ситуации возвращается цена точки на левом баре.

 
Сергей Таболин:

Артём, спасибо. Работает.

Однако саму проблему не решает. Как я понял, выдаёт результат только между двумя крайними барами? А трендовая линия рисуется "в будущее", и через, к примеру, 10 баров, по идее, можно прочитать значение объекта. А в Вашей формуле, я не пробовал, но сомневаюсь, что можно указать искомый бар с индексом [-10]... 

это существенная проблема МТ (не только его, вообще торговых терминалов, но в нём она особенно явная) - индексы баров в будущем не имеют привязок по времени. Действительно никто не знает бар D1[-3] через сколько часов/дней настенет и какое там будет время.

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

поэтому все прогнозные вещи связанные в частности с трендовыми линиями, в советниках и индикаторах, надо периодически пересчитывать при смене дня/недели.

 
Artyom Trishkin:

В предложенной функции в такой ситуации возвращается цена точки на левом баре.

Да, недосмотрел.

Ох, не нравится мне этот "оператор вопросика". Всегда превращал его в обычный if - код дает тот же самый, а читабельность возрастает существенно.

 
Georgiy Merts:

Да, недосмотрел.

Ох, не нравится мне этот "оператор вопросика". Всегда превращал его в обычный if - код дает тот же самый, а читабельность возрастает существенно.

Не знаю... Я как-то автоматически легко разбиваю подсознательно тернарные операторы на их логические составляющие.
Прям сразу вижу "если, то, иначе"
 
Georgiy Merts:

Да, недосмотрел.

Ох, не нравится мне этот "оператор вопросика". Всегда превращал его в обычный if - код дает тот же самый, а читабельность возрастает существенно.

Бывают случаи, когда только он и может помочь. В смысле, с наименьшими затратами...


А что по моему вопросу? Решится? Всё же это базовая работа с объектами...

 
Maxim Kuznetsov:

это существенная проблема МТ (не только его, вообще торговых терминалов, но в нём она особенно явная) - индексы баров в будущем не имеют привязок по времени. Действительно никто не знает бар D1[-3] через сколько часов/дней настенет и какое там будет время.

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

поэтому все прогнозные вещи связанные в частности с трендовыми линиями, в советниках и индикаторах, надо периодически пересчитывать при смене дня/недели.

Я не про будущее. Я говорил о том, что при появлении 10-го бара уже нельзя будет получить значение прямой.

Не так. При появлении нового бара, нужно пересчитывать значение прямой со смещением "привязочных" баров. А трендовая уже нарисована и перерисовывать её нет нужды, просто берёшь её значение на текущем баре. Хоть через 10, хоть через 100 баров. Главное знать её имя.

Но вот как раз и возникли проблемы. На графике, в визуальном режиме, при наведении мыши на любой участок трендовой, выскакивает подсказка с правильной ценой, а при запросе цены трендовой на конкретном баре - выдаёт только вторую цену привязки!

 
Сергей Таболин:

Я не про будущее. Я говорил о том, что при появлении 10-го бара уже нельзя будет получить значение прямой.

Не так. При появлении нового бара, нужно пересчитывать значение прямой со смещением "привязочных" баров. А трендовая уже нарисована и перерисовывать её нет нужды, просто берёшь её значение на текущем баре. Хоть через 10, хоть через 100 баров. Главное знать её имя.

вместо индекса бара используйте время (открытия), формулы это не меняет. терминал именно так и делает - это решает также проблему с отрицательными индексами, смещением серийности и пр...

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