Интерполяция значений старшего таймфрейма на текущий

 

Здравствуйте, коллеги! Задаюсь вопросом, как на текущий график переносить значения, например ВВ с D1 ? У меня получается только ступеньками, типа каждые 24 бара ступенька, что соответствует появлению нового бара на D1. Однако, я видел реализации в виде линии, все четко там, но я не понял, там был перегруз функциями..

Заранее спасибо!

 
Temirarious:

Здравствуйте, коллеги! Задаюсь вопросом, как на текущий график переносить значения, например ВВ с D1 ? У меня получается только ступеньками, типа каждые 24 бара ступенька, что соответствует появлению нового бара на D1. Однако, я видел реализации в виде линии, все четко там, но я не понял, там был перегруз функциями..

Заранее спасибо!

проще пояснить с Sma

int dayShift = iBarShift (_Symbol,PERIOD_D1, iTime(_Symbol,_Period, i ) ); // i : индекс бара текущего таймфрейма

Sma3D1=( iClose(_Symbol,PERIOD_D1,dayShift+2)+iClose(_Symbol,PERIOD_D1,dayShift+1)+iClose(_Symbol,PERIOD_CURRENT, i ) )/3.0

ступеньки раз в день всё равно будут, но линия не будет горизонтальной ( и не будет заглядывать в будущее)

 
Temirarious:

Здравствуйте, коллеги! Задаюсь вопросом, как на текущий график переносить значения, например ВВ с D1 ? У меня получается только ступеньками, типа каждые 24 бара ступенька, что соответствует появлению нового бара на D1. Однако, я видел реализации в виде линии, все четко там, но я не понял, там был перегруз функциями..

Заранее спасибо!

Самый правильный способ - это увеличить период в PeriodSeconds(PERIOD_D1)/PeriodSeconds(_Period) раз.
Чтобы не было изменений а производительности, нужно использовать периодонезависимый расчёт. Производительность классического расчета BB является периодозавмсимой. Т.е. чем больше период, тем медленнее вычисления.
Вот пример периодонезависимого расчёта BB:
Вопросец по индикатору
Вопросец по индикатору
  • 2022.08.01
  • pips
  • www.mql5.com
Добрый день...
 
Nikolai Semko #:
Самый правильный способ - это увеличить период в PeriodSeconds(PERIOD_D1)/PeriodSeconds(_Period) раз.
Чтобы не было изменений а производительности, нужно использовать периодонезависимый расчёт. Производительность классического расчета BB является периодозавмсимой. Т.е. чем больше период, тем медленнее вычисления.
Вот пример периодонезависимого расчёта BB:

Так не выйдет :-) если просто увеличить период показания не сойдутся

 
Maxim Kuznetsov #:

Так не выйдет :-) если просто увеличить период показания не сойдутся

Не сойдутся. Но будут очень похожи и так будет корректней и информативней
Речь же шла о "интерполяции", т.е. без ступенек.
 
Maxim Kuznetsov #:

проще пояснить с Sma

int dayShift = iBarShift (_Symbol,PERIOD_D1, iTime(_Symbol,_Period, i ) ); // i : индекс бара текущего таймфрейма

Sma3D1=( iClose(_Symbol,PERIOD_D1,dayShift+2)+iClose(_Symbol,PERIOD_D1,dayShift+1)+iClose(_Symbol,PERIOD_CURRENT, i ) )/3.0

ступеньки раз в день всё равно будут, но линия не будет горизонтальной ( и не будет заглядывать в будущее)

Спасибо большое, Максим!

 
Nikolai Semko #:
Самый правильный способ - это увеличить период в PeriodSeconds(PERIOD_D1)/PeriodSeconds(_Period) раз.
Чтобы не было изменений а производительности, нужно использовать периодонезависимый расчёт. Производительность классического расчета BB является периодозавмсимой. Т.е. чем больше период, тем медленнее вычисления.
Вот пример периодонезависимого расчёта BB:

Спасибо большое, Николай!

 

https://www.mql5.com/ru/code/23311 данный индикатор Scriptor'a реализует такую интерполяцию. Просто у именно данный индикатор для меня тяжелый для переваривания.


В принципе, что Максим, что Николай, думаю меня правильно поняли, но мне интересно было, как упростить получение и корректную рисовку старшего индикатора на младшем таймфрейме(текущем)

BTF_BB
BTF_BB
  • www.mql5.com
Индикатор Bigger Time Frame Bollinger Bands
 
Temirarious #:

https://www.mql5.com/ru/code/23311 данный индикатор Scriptor'a реализует такую интерполяцию. Просто у именно данный индикатор для меня тяжелый для переваривания.


по ссылке индикатор рисует ступеньками и "подсматривает" в будущее. Поэтому на скриншоте весьма заманчиво выглядит

что самого себя не обманывать - его можно использовать только по ценам открытия.

 
Maxim Kuznetsov #:

по ссылке индикатор рисует ступеньками и "подсматривает" в будущее. Поэтому на скриншоте весьма заманчиво выглядит

что самого себя не обманывать - его можно использовать только по ценам открытия.

Как наперед смотрит? Он просто отображается в побарном стиле (ступенькой) и по временной точке привязки (линией).

 
Temirarious #:

Как наперед смотрит? Он просто отображается в побарном стиле ступенькой и по точке привязки временной линией.

просто взять цену индикатора со старшего ТФ и отобразить нельзя.
в графике - цена Close старшего таймфрейма отн.текущего находится в будущем, её как-бы ещё нет.

правильные способы на пару с Николаем предложили. Или брать цены Open