Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1857

 

Добрый день

Подскажите, почему компилятор MQL4 ругается на такое объявление массива:


input int     trendSlowCountBar=9;

double  MAslowTrend [trendFastCountBar];


выдает вот такую ошибку:

'[' - invalid index value


в справочнике по языку вроде не нашел ограничений по заданию размерности... (

 
Владимир Казаков #:

Добрый день

Подскажите, почему компилятор MQL4 ругается на такое объявление массива:


input int     trendSlowCountBar=9;

double  MAslowTrend [trendFastCountBar];


выдает вот такую ошибку:

'[' - invalid index value


в справочнике по языку вроде не нашел ограничений по заданию размерности... (

Потому что размерность статических массивов нельзя задавать переменными. Вместо этого следует использовать динамический массив:

input int     trendSlowCountBar=9;

double  MAslowTrend[];

int OnInit() {
  ArrayResize(MAslowTrend, trendSlowCountBar, 0);
  ...
  return(INIT_SUCCEEDED);
}
 
Mihail Matkovskij #:

Там не округления а отсечение всего что больше 2 знаков после запятой

Это округление вниз называется.

Mihail Matkovskij #:

Зато документация знает! А вы пренебрегаете советами в документации. Как хотите. Это ваше дело. По моему всё очевидно и я не собираюсь в вами спорить по этому поводу, еще раз повторяю!

Специально для тебя на прошлой странице скрин из правки. 

 
Andrey Sokolov #:

Это округление вниз называется. 

Ну можешь называть как хочешь :)

Специально для тебя на прошлой странице скрин из правки.

Зачем мне твой скрин, если я переходил по ссылке и читал: https://docs.mql4.com/ru/trading/ordersend

Мало того цитату здесь выше приводил, где всё написано. А ты мне советуешь смотреть какой-то скрин. :)

Всё. Заканчивай эту пустую болтовню.

OrderSend - Торговые функции - Справочник MQL4
OrderSend - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSend - Торговые функции - Справочник MQL4
 

Mihail Matkovskij #:

Зачем мне твой скрин, если я переходил по ссылке и читал: https://docs.mql4.com/ru/trading/ordersend

Так почитай внимательно. Там, как я и пишу, цена открытия без какой-то нормализации.

Mihail Matkovskij #:

Ну можешь называть как хочешь :)

Называю как есть, а не "как хочешь".

 
Mihail Matkovskij #:

 Заканчивай эту пустую болтовню.

Вот это хамство на форум не неси, пожалста.

 

исторически бывали ситуации когда Ask Bid приходил ненормализованым или High/Low/Close некорректными (EMPTY_VALUE), поэтому все входящие данные должны проверяться. Могут быть рестарты компонент сервера или согласование данных между пирами. Могут быть просто ошибки. 

и при отправке торгового приказа надо прикладывать все усилия со своей стороны, чтобы он был корректным. Поэтому  ВСЕГДА  цены нормализовать по Digits, а объёмы приводить по minLot,lotStep.

 
Andrey Sokolov #:

Вот это хамство на форум не неси, пожалста.

Всё. No comments.

 
Maxim Kuznetsov #:

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

Да не переживайте вы так. Кому надо тот знает. :)

 
Mihail Matkovskij #:

Потому что размерность статических массивов нельзя задавать переменными. Вместо этого следует использовать динамический массив:

А подскажите, есть разница в скорости обработки статического массива и динамического?