Скачать MetaTrader 5

Помогите разобраться с массивами. Только начал разбираться в MQL

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
akompanietc
6
akompanietc  

задача простая... Хочу узнать Максимальную цену 5 бара из массива 20 баров. 

  http://prntscr.com/aiksqj

В чем ошибка?  

Alexey Viktorov
9276
Alexey Viktorov  
Максимальная цена пятого бара High[5]
LRA
382
LRA  

Если правильно понял, речь идет о программе:

1 ошибка, 1 предупреждение  

Ошибки и предупреждения надо устранить. Для начала форматировал бы программу так:

void OnStart()                          // Половина текста программы - должен быть комментарий. Потом легче будет вспомнить.
{                                       // Фигурные парные скобки друг под другом, все что между ними - сдвинуто вправо
  double h_price=0.0;                   // Это одинарная переменная. Значит - это не массив

  // Объявлен массив. Номера элементов 0..19. Предопределенный массив High[] теперь недоступен, скрыт. hides
  double High[20];

  // Переменной h_price присваивается значение 21-ого элемента массива High, которому значение еще не было присвоено. Да и элемента такого нет
  h_price=High[20];
  Comment("Максимальная цена", h_price[5]);     // h_price -  не массив. Транслятор ругает [5]. Для скобок нужен массив array required
}

В терминале много готовых программ. На форуме есть учебник - жми сюда.     А макс цена 5-го бара будет High[4], так как нумерация с нуля: 0, 1, 2, 3, 4

void OnStart() // Вот и вся программа. Вместо Comment написал бы Alert. Будет нагляднее...
{
  Comment("Максимальная цена = ", High[4]);
}
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий