Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 186
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как видите - ордеров десять, но их индексы на 1 меньше, так как в любом массиве счёт начинается с нуля.
OrdersTotal() равен 10, но если начнёте цикл с OrdersTotal(), то будет вылет за пределы массива - индекса ордера 10 нету - самый большой индекс 9 - поэтому OrdersTotal()-1
Спасибо ... понял ... благодарствую.
Потому, что в счёт ведётся с 0. Если у вас 10 ордеров, то считать порядковые номера следует 0..9, то есть 0..(10-1), где OrdersTotal()=10.
Просто помните об этом, когда пишете программы.
Спасибо ... понял ...
сделайте печать через Print(), и не будет вот таких вопросов, это не сложно
Спасибо ... понял ... я просто думал, что количество OrdersTotal тоже с учётом нуля ... значит ошибался, я писал так (int i=OrdersTotal(); i>-1; i--) и у меня не работало как надо.
В документации, в статье "Стили индикаторов в примерах", написано :
По умолчанию индикаторный буфер используется для хранения данных, предназначенных для отрисовки (INDICATOR_DATA).
Если для расчетов значений индикатора требуется проводить промежуточные вычисления и хранить для каждого бара вспомогательное значение, то при связывании такой массив можно объявить в качестве расчетного буфера ( INDICATOR_CALCULATIONS).
Ни в одном из 18 приведённых примеров построений в языке MQL5, нет ни одного демонстрирующего массив расчетного буфера ( INDICATOR_CALCULATIONS).Подскажите пожалуйста, где ещё можно почитать на эту тему ?
Здравствуйте!
В документации, в статье "Стили индикаторов в примерах", написано :
По умолчанию индикаторный буфер используется для хранения данных, предназначенных для отрисовки (INDICATOR_DATA).
Если для расчетов значений индикатора требуется проводить промежуточные вычисления и хранить для каждого бара вспомогательное значение, то при связывании такой массив можно объявить в качестве расчетного буфера ( INDICATOR_CALCULATIONS).
Ни в одном из 18 приведённых примеров построений в языке MQL5, нет ни одного демонстрирующего массив расчетного буфера ( INDICATOR_CALCULATIONS).Подскажите пожалуйста, где ещё можно почитать на эту тему ?
Считайте его обычным динамическим массивом для хранения данных промежуточных расчётов. Просто вам не нужно самому его контролировать и увеличивать/уменьшать его размер - за вас это будет делать терминал. Данные такого массива-буфера не будут выводиться на график - вот и вся разница между DATA и CALCULATIONS
Считайте его обычным динамическим массивом для хранения данных промежуточных расчётов. Просто вам не нужно самому его контролировать и увеличивать/уменьшать его размер - за вас это будет делать терминал. Данные такого массива-буфера не будут выводиться на график - вот и вся разница между DATA и CALCULATIONS
А где пример работающего кода, для наглядности посмотреть ?
А то, что Вы дали.... Например 87 строка : maHandle=iMA(Symbol(),0,ExtPeriod,0,MODE_EMA,PRICE_CLOSE);
Ну, в какие это ворота лезет ?