olegeskevich:
Что сразу бросается в глаза: используйте полную версию OnCalculate - там сразу будут все OHLC массивы цен и не нужно будет делать глупость в виде iHigh вызова ...
Для примера: построение линии по 30 последним хаям в основном окне. При попытке добавить в индикаторный буфер значения, происходит ошибка(array out of range). А в аналогичном примере, но при построение в отдельном окне все нормально было. Пробовал изменить размер массива при инициализации функцией ArrayResize, тогда ошибок нет, но просто ни чего не строиться.
Vladimir Karputov:
Что сразу бросается в глаза: используйте полную версию OnCalculate - там сразу будут все OHLC массивы цен и не нужно будет делать глупость в виде iHigh вызова ...
Что сразу бросается в глаза: используйте полную версию OnCalculate - там сразу будут все OHLC массивы цен и не нужно будет делать глупость в виде iHigh вызова ...
Да мне и не нужно OHLC, это просто для примера. Вот по заранее заданному значению - то же самое array out of range
#property indicator_chart_window #property indicator_label1 "TEST Line" #property indicator_type1 DRAW_LINE #property indicator_color1 clrBlue #property indicator_style1 STYLE_SOLID #property indicator_width1 1 #property indicator_plots 1 double buffer[]; int OnInit() { SetIndexBuffer(0, buffer, INDICATOR_DATA); ArraySetAsSeries(buffer, true); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { const double testPrice = 1.1164; for (int i = 0; i < 10; i++) //построить линию на 10 барах по цене 1.1164 { buffer[i] = testPrice; //array out of range! } return(rates_total); }
Не указано свойство:
#property indicator_buffers XСкорее всего от этого.
Dmitry Fedoseev:
Не указано свойство:
Скорее всего от этого.
Не указано свойство:
Скорее всего от этого.
Спасибо!!! Точно, его добавил и все заработало
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Для примера: построение линии по 30 последним хаям в основном окне. При попытке добавить в индикаторный буфер значения, происходит ошибка(array out of range). А в аналогичном примере, но при построение в отдельном окне все нормально было. Пробовал изменить размер массива при инициализации функцией ArrayResize, тогда ошибок нет, но просто ни чего не строиться.