Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 101

 
MikeZv:

Спасибо,Николай...
Я брал и с той и с другой линии. 
Потом я объединил их в одну (оставил один буфер). Тот же результат.


 вот скрипт который показывает что все работает верно.

результат распечатки 2017.11.04 01:15:45.359 check EURUSD,H1: 1.163966063602423  2147483647.0


В индикаторе есть переменная draw_begin=500, т.е. количество свечек с конца (с самой свежей свечи), на которых рисуется график.
А когда мы извлекаем значение индикатора способом iCustom(), вот эти 500 штук с какой свечи отсчитываются ?
Почему это важно - draw_begin используется не только для рисования, но и участвует в расчете индикатора  ...

 отсчитывается от 0 бара текущего графика. то есть если при значении 500, считать 600ый бар, то результата не будет 

Файлы:
check.mq4  2 kb
 
Nikolay Ivanov:

 вот скрипт который показывает что все работает верно.

результат распечатки 2017.11.04 01:15:45.359 check EURUSD,H1: 1.163966063602423  2147483647.0



Спасибо за ответ, Николай!
При накладывании скрипта на график EURUSD D1 у  меня выводит

2017.11.04 12:54:37.009 check EURUSD,Daily: 2147483647.0  1.103082155651458

----------------------------------------------------------------------------------
А если в тестировании из эксперта читаем iCustom(), при этом не открыт ни один график, с какой свечи будет считаться индикатор (к вопросу о draw_begin)?
А если я тестирую за 2010 год, то таким индикатором пользоваться нельзя ?

 
MikeZv:


А если в тестировании из эксперта читаем iCustom(), при этом не открыт ни один график, с какой свечи будет считаться индикатор (к вопросу о draw_begin)?
А если я тестирую за 2010 год, то таким индикатором пользоваться нельзя ?


  Все будет в порядке, 0 бар хоть в тестере, хоть в реале, хоть с графиком, хоть без него. От него и будет считаться 

 
Nikolay Ivanov:

  Все будет в порядке, 0 бар хоть в тестере, хоть в реале, хоть с графиком, хоть без него. От него и будет считаться 


Значит нулевой бар - это последний закачанный (содержащийся в архиве) ?

 
MikeZv:   Значит нулевой бар - это последний закачанный (содержащийся в архиве) ?

Тестер в заданном диапазоне просматривает историю. Последний просмотренный бар и будет в данный момент нулевым. Следующие бары как бы пока отсутствуют. Потом берется следующий бар истории, который становится нулевым. И так ДО КОНЦА ЗАДАННОГО ДИАПАЗОНА тестирования. Полная имитация реальной торговли

 
STARIJ:

Тестер в заданном диапазоне просматривает историю. Последний просмотренный бар и будет в данный момент нулевым. Следующие бары как бы пока отсутствуют. Потом берется следующий бар истории, который становится нулевым. И так ДО КОНЦА ЗАДАННОГО ДИАПАЗОНА тестирования. Полная имитация реальной торговли


STARIJ, спасибо за ответ.
Значит нулевой бар в тестере, это тот, который считается в данный момент и он все время сдвигается к последнему, который есть в архиве.
Т.е. если задан период отрисовки 500 свечей D1, то это в любом случае ( в тестере) - за два года до каждой рассматриваемой свечи.
Я правильно понял ?

 
MikeZv:

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

Нулевой бар - последний доступный в данный момент. И движется он в сторону конца архива ДО КОНЦА ЗАДАННОГО ИНТЕРВАЛА ТЕСТИРОВАНИЯ


Т.е. если задан период отрисовки 500 свечей D1, то это в любом случае ( в тестере) - за два года до каждой рассматриваемой свечи.
Я правильно понял ?

А эту часть трудно понять

При чем здесь 2 года? Нулевой бар - это рассматриваемый в данный момент, это САМЫЙ ПОСЛЕДНИЙ ИЗ РАССМОТРЕННЫХ. Далее бары как бы отсутствуют. Но проходит период (в самом деле это происходит намного быстрее, ведь следующий бар уже готов, сейчас мы его возьмем, только надо закончить требуемые вычисления) и в рассмотрение вводится следующий бар. Теперь он последний, теперь он нулевой. Но проходит период, и в рассмотрение вводится следующий бар. Теперь он последний, теперь он нулевой. И так далее до конца всего заданного диапазона тестирования.

 
STARIJ:

При чем здесь 2 года? Нулевой бар - это рассматриваемый в данный момент, это САМЫЙ ПОСЛЕДНИЙ ИЗ РАССМОТРЕННЫХ. Далее бары как бы отсутствуют. Но проходит период (в самом деле это происходит намного быстрее, ведь следующий бар уже готов, сейчас мы его возьмем, только надо закончить требуемые вычисления) и в рассмотрение вводится следующий бар. Теперь он последний, теперь он нулевой. Но проходит период, и в рассмотрение вводится следующий бар. Теперь он последний, теперь он нулевой. И так далее до конца всего заданного диапазона тестирования.

Наверное проще сформулировать так "Где в текущий момент цена Бид и Аск - это и есть нулевой бар"

 
Vitaly Muzichenko:

Наверное проще сформулировать так "Где в текущий момент цена Бид и Аск - это и есть нулевой бар"

Цена на графике по вертикальной оси снизу вверх, а время и нумерация баров - по горизонтальной оси вправо

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

 
STARIJ:

Цена на графике по вертикальной оси снизу вверх, а время и нумерация баров - по горизонтальной оси вправо

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

Ну, а Я что написал?

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