Скрипт для расчета среднего дневного диапазона?

 

Здравствуйте,

У кого-нибудь есть скрипт, который вычисляет средний дневной диапазон валюты за "n" дней?

например, за 50 дней

 

Я бы хотел увидеть это также....

 

разве это не индикатор ATR?

 

Значит, если бы я хотел увидеть его за последние 50 дней, я бы просто посмотрел на значение последнего бара для ATR(50)?

 

Ycomp, что вы имеете в виду под дневным диапазоном?

Что вы имеете в виду под дневным диапазоном? (High-Low)?

ATR - это средний истинный диапазон за последние n периодов. Однако истинный диапазон - это не High-Low за каждый день. Истинный диапазон - это максимальное значение из следующих 3:

1.CurrentHigh-CurrentLow

2.Abs(PreviousClose-CurrentHigh)

3.Abs(PreviousClose-CurrentLow)

Надеюсь, вы поняли. Теперь, пожалуйста, скажите мне, что именно вы имеете в виду под среднедневным диапазоном.

Пока.

 

#MTF_Average Range

Я прикрепил файл #MTF_Average Range.mq4.

Он даст вам средний диапазон (high low) за период, к которому он прикреплен. Если вы хотите увидеть средний диапазон для другого таймфрейма, измените входной параметр TimeFrame на любой таймфрейм, который вам нужен. (1,5,15,30,60,240,1440,10080,43200)

Значение TimeFrame должно быть больше, чем текущий таймфрейм.

keris

BTW, в отличие от других MTF версий пользовательских индикаторов, которые я делал, здесь весь код собран в одном файле.

Файлы:
 

спасибо керис я думаю это то что я искал... плюс немного больше!

 

Спасибо за объяснение, Кукуруку. Теперь я лучше понимаю. Я просто искал High-Low.

cucurucu:
Что вы имеете в виду под дневным диапазоном? (High-Low)?

ATR - это средний истинный диапазон за последние n периодов. Однако истинный диапазон - это не High-Low за каждый день. Истинный диапазон - это максимальное значение следующих трех параметров:

1.CurrentHigh-CurrentLow

2.Abs(PreviousClose-CurrentHigh)

3.Abs(PreviousClose-CurrentLow)

Надеюсь, вы поняли. Теперь, пожалуйста, скажите мне, что именно вы имеете в виду под средним дневным диапазоном.

Пока.
 

Вот простой сценарий для выполнения того, что вы хотите.

Файлы:
 

скрипт

Привет, Ник,

Ценю твою работу.

Nicholishen:
Вот простой сценарий для выполнения того, что вы хотите.

Я думаю, что в этом скрипте есть 1 ошибка:

for (int i=0;i<=PeriodsBack;i++)

должно быть:

for (int i=0;i< PeriodsBack;i++).

В вашем примере цикл for будет пройден 11 раз.

 
nohills:
Привет Ник,

Ценю вашу работу.

Мне кажется, что в этом скрипте есть 1 ошибка:

for (int i=0;i<=PeriodsBack;i++)

должно быть:

for (int i=0;i< PeriodsBack;i++).

В вашем примере цикл for пройдет 11 раз.

Спасибо за подсказку Nohills. Я хотел сделать следующее:

for (int i=1;i<=PeriodsBack;i++)

Я не хотел брать в расчет текущий бар. Спасибо!