Williams` Percent Range

 

Привет Всем !

вопрос простой и глупый наверное )

в советнике надо отрабоатывать значение "Williams` Percent Range"

пишу -

double LarryW=iWPR(nameSym,Period_L,28,0);

прогоняю на тестере , но значения из кода не соответствуют значениям на графике ..

что может быть ? где ошибка ?

 
Yerkin Sagandykov:

Привет Всем !

вопрос простой и глупый наверное )

в советнике надо отрабоатывать значение "Williams` Percent Range"

пишу -

double LarryW=iWPR(nameSym,Period_L,28,0);

прогоняю на тестере , но значения из кода не соответствуют значениям на графике ..

что может быть ? где ошибка ?

Это не ошибка. Вы используете значения нулевого бара, которые изменяются с каждым тиком. Если сравните данные на каждом тике (режим тестера "Все тики" и выведете на экран или в лог значение индикатора на каждом тике), то получите совпадающие значения. На графике же Вы видите только последнее известное значение, которое соответствует цене Close. 

 
Yerkin Sagandykov:

Привет Всем !

вопрос простой и глупый наверное )

в советнике надо отрабоатывать значение "Williams` Percent Range"

пишу -

double LarryW=iWPR(nameSym,Period_L,28,0);

прогоняю на тестере , но значения из кода не соответствуют значениям на графике ..

что может быть ? где ошибка ?

int LarryW - это хэндл индикатора. Нужно ещё CopyBuffer(LarryW,....) для получения значений.

Упс... Не сразу увидел, что это по четвёрке. Мой ответ верен для МТ5, а для МТ4 не знаю.

 
Ihor Herasko:

Это не ошибка. Вы используете значения нулевого бара, которые изменяются с каждым тиком. Если сравните данные на каждом тике (режим тестера "Все тики" и выведете на экран или в лог значение индикатора на каждом тике), то получите совпадающие значения. На графике же Вы видите только последнее известное значение, которое соответствует цене Close. 

тогда лучше вычилстяь не нулевой бар и минус 1  ?

double LarryW=iWPR(nameSym,Period_L,28,1)


хотя так тоже не корректно данные дает ...

 
Ihor Herasko:

Это не ошибка. Вы используете значения нулевого бара, которые изменяются с каждым тиком. Если сравните данные на каждом тике (режим тестера "Все тики" и выведете на экран или в лог значение индикатора на каждом тике), то получите совпадающие значения. На графике же Вы видите только последнее известное значение, которое соответствует цене Close. 

а как мне вычислить значнеие именно цене Close ?

и можно ли период указать не стандартный ?

 
Yerkin Sagandykov:

а как мне вычислить значнеие именно цене Close ?

и можно ли период указать не стандартный ?

не знаю, может чем поможет ?

https://www.mql5.com/ru/docs/indicators/iwpr

 
Yerkin Sagandykov:

тогда лучше вычилстяь не нулевой бар и минус 1  ?

минус - это будущее. Там данных нет.

double LarryW=iWPR(nameSym,Period_L,28,1)

хотя так тоже не корректно данные дает ...

Что именно некорректно? Должны видеть значение, отображаемое на последнем закрытом баре.

 
Yerkin Sagandykov:

а как мне вычислить значнеие именно цене Close ?

Значение на каждом баре всегда будет соответствовать цене Close.

и можно ли период указать не стандартный ?

Это какой-такой нестандартный? 3.14?

 
не могу понять - ПРОСЬБА тогда  - напишите код на MQL4  код который выводит алерт когда iWPR значения  в пределах от -49 до -51 ...