Скачать MetaTrader 5

Bars

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Как подобрать необходимый сигнал и быстро подписаться на него
Riko888
113
Riko888 2013.10.14 09:09 

В справочнике написана схема определение количества  всех  баров в  истории. Но она их не определяет. А определяет как я понял количество баров на графике. Или может я что то не так делаю? Спасибо всем кто поможет разобраться в этом.


int Bars9=Bars(_Symbol,_Period);  

 Print("Номер бара - ",Bars9); 

Запросить количество всех баров в истории

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe        // периоду
   );

Anatoli Kazharski
56817
Anatoli Kazharski 2013.10.14 09:16  
Riko888:

В справочнике написана схема определение количества  всех  баров в  истории. Но она их не определяет. А определяет как я понял количество баров на графике. Или может я что то не так делаю? Спасибо всем кто поможет разобраться в этом.

В торговом терминале в главном меню Сервис > Настройки > Вкладка Графики > Выпадающий список Макс. количество баров > Unlimited.

После этого перезагрузите терминал и функция Bars() будет возвращать количество баров всей имеющейся истории, если она уже подгружена. 

Alexey Topounov
6077
Alexey Topounov 2013.10.14 09:21  
Сервис > Настройки > Вкладка Графики > Выпадающий список Макс. количество баров > Unlimited.
При таких настройках, особо затратные на ресурсы индикаторы (не имеющие ограничение на длину рассчитанной истории), могут основательно подвесить терминал!
Anatoli Kazharski
56817
Anatoli Kazharski 2013.10.14 09:33  
Alextp:
При таких настройках, особо затратные на ресурсы индикаторы (не имеющие ограничение на длину рассчитанной истории), могут основательно подвесить терминал!

Ну пусть поэкспериментирует и сам определится, в каком направлении потом двигаться.

P.S. Настоящий исследователь должен всё проверять самостоятельно! )

Riko888
113
Riko888 2013.10.14 09:52  

Получается что это ошибка описание о данной функции , в самом справочнике mql5 ?


Насколько я понимаю , то должно быть написано , примерно следующие :

Запросить количество всех баров в истории на графике.

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe        // периоду
   );

А написано  https://www.mql5.com/ru/docs/series/bars

Запросить количество всех баров в истории

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe        // периоду
   );

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
Anatoli Kazharski
56817
Anatoli Kazharski 2013.10.14 09:58  
Riko888:
Получается что это ошибка описание о данной функции , в самом справочнике mql5 ?

Читать нужно, как:

Количество баров в истории терминала по символу-периоду на данный момент.

Riko888
113
Riko888 2013.10.14 10:20  

Значит в mql4 сохраниние истории баров на графике динамическое . А терминал mql5 ,статистическое?


Пример:

mql4

Функция - Bars();

определили 100 баров на графике.      -    Появился 101 бар      - определили 101 бар


Пример:

mql5

Функция - Bars(_Symbol,_Period);

определили 100 баров на графике.      -    Появился 101 бар      - определили  100 баров на графике .

Maxim Khrolenko
7096
Maxim Khrolenko 2013.10.14 13:38  
Riko888:

Значит в mql4 сохраниние истории баров на графике динамическое . А терминал mql5 ,статистическое?

Пример:

...

Вам определение кол-ва баров случайно не для идентификации появления нового бара надо?
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
Nazariy Stapyak
1743
Nazariy Stapyak 2013.10.14 20:02  
int bars_total = (int)((SeriesInfoInteger(_Symbol, _Period, SERIES_LASTBAR_DATE) - SeriesInfoInteger(_Symbol, _Period, SERIES_SERVER_FIRSTDATE)) / (PeriodSeconds() / 60)) + 1;
Riko888
113
Riko888 2013.10.21 14:10  

Спасибо . 

Просто хотел понять как работает функция "Bars" и для чего ее разделили на 2 варианта . 

 Как работает 2-й вариант , к сожалению пока так и  не понял. Может кто то знает ,как работает  2-й вариант этой функции?

 

 Запросить количество баров на заданном интервале

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );

 

datetime date2;

 int bars=Bars(_Symbol,_Period,TimeCurrent() ,date2); ---Так не работает

 int bars=Bars(_Symbol,_Period ,date2,TimeCurrent()); ---Так не работает

 int bars=Bars(_Symbol,_Period,66,9999);---Так не работает

  int bars=Bars(_Symbol,_Period,9999,66); ---Так не работает

 


Roffild
1347
Roffild 2013.10.21 20:30  
дык, у тебя date2 не имеет значения
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий