Бета-тестирование MetaTrader 5 началось! - страница 76

 
stringo писал(а) >>

А когда это было тем же самым? Операция отрицания имеет более высокий приоритет, чем операция сравнения. Для расставления своих приоритетов используйте скобки

if(!(handle>0))

Да, конечно. Имел ввиду, что в MQL4 if( !handle>0 ) было совсем не то, что в MQL5 и при переводе надо учитывать.

Вот такой скрипт в двух языках выдает разный рез-т.

int hh=-1;
if(!hh>0) Print("!hh>0"); else Print("else");
 
snik_666 >>:

скажите а почему при компиляции C:\Program Files\MetaTrader 5\MQL5\include\Trade\Trade.mqh

ошибки ?


Потому что были изменения в языке:

Rosh >>:

Справка по MQL5 обновлена.

  • Добавились функции SymbolInfoTick() и ZeroMemory();
  • Добавлена структура MqlTick;
  • Добавилось перечисление ENUM_FILE_POSITION;
  • Добавились свойства
    * DEAL_MAGIC
    * DEAL_COMMENT
    * POSITION_MAGIC
    * POSITION_COMMENT;
  • Изменилось свойство ORDER_EXPERT на ORDER_MAGIC;
  • Изменилось поле в структуре MqlTradeRequest expert на magic;
  • Добавлено описание функции OnTrade();
  • Добавлены новые коды ошибок


 
Rosh писал(а) >>

Спасибо за сообщение, исправим.

Спасибо, нельзя-ли пока вносятся исправления, увидеть что такое ENUM_TRADING_OPERATION

 
zigan >>:

Да, конечно. Имел ввиду, что в MQL4 if( !handle>0 ) было совсем не то, что в MQL5 и при переводе надо учитывать.

Вот такой скрипт в двух языках выдает разный рез-т.

В разделе "Справочник MQL5/Основы языка/Операции и выражения/Приоритеты и порядок операций " сказано:

Для каждой группы операций в таблице приоритет одинаков. Чем выше приоритет группы операций, тем выше она расположена в таблице. Порядок выполнения определяет группировку операций и операндов.

Внимание: Приоритет выполнения операций в языке MQL5 соответствует приоритету, принятому в языке С++, и отличается от приоритета, заданного в языке MQL4.

Операция

Описание

Порядок выполнения

()

[]

.

Вызов функции

Выделение элемента массива

Выделение элемента структуры

Слева направо

!

~

++

--

(тип)

sizeof

Логическое отрицание

Побитовое отрицание (complement)
Изменение знака
Увеличение на единицу (increment)
Уменьшение на единицу (decrement)
Преобразование типа

Определение размера в байтах

Справа налево

*

/

%

Умножение

Деление

Деление по модулю

Слева направо

+

Сложение

Вычитание

Слева направо

<<

>>

Сдвиг влево
Сдвиг вправо

Слева направо

<

<=

>

>=

Меньше, чем

Меньше или равно
Больше, чем
Больше или равно

Слева направо

==

!=

Равно

Не равно

Слева направо

&

Побитовая операция И

Слева направо

^

Побитовая операция исключающее ИЛИ (eXclude OR)

Слева направо

|

Побитовая операция ИЛИ

Слева направо

&&

Логическая операция И

Слева направо

||

Логическая операция ИЛИ

Слева направо

?:

Условная операция

Справа налево

=

*=

/=

%=

+=

-=

<<=

>>=

&=

^=

|=

Присваивание

Умножение с присваиванием
Деление с присваиванием

Деление по модулю с присваиванием
Сложение с присваиванием

Вычитание с присваиванием
Сдвиг влево с присваиванием

Сдвиг вправо с присваиванием
Побитовое И с присваиванием
Исключающее ИЛИ с присваиванием

Побитовое ИЛИ с присваиванием

Справа налево

,

Запятая

Слева направо

Для изменения порядка выполнения операций применяются круглые скобки, которые имеют высший приоритет.

 
Rosh >>:

Потому что были изменения в языке:


Оно типа со следующим билдом пропадет ?

 
snik_666 >>:

Оно типа со следующим билдом пропадет ?

Не понял вопроса, что за "оно" и почему пропадет?

 
Rosh >>:

Не понял вопроса, что за "оно" и почему пропадет?

ОНО-Имею ввиду ошибки при компиляции, которые я так понимаю должны отсутствовать.

я спросил ошибки компиляции C:\Program Files\MetaTrader 5\MQL5\include\Trade\Trade.mqh

вы ответили Потому что были изменения в языке:

я и спрашиваю со следующим билдом пропадет ? или как то по другому решиться ?

 
snik_666 >>:

ОНО-Имею ввиду ошибки при компиляции, которые я так понимаю должны отсутствовать.

я спросил ошибки компиляции C:\Program Files\MetaTrader 5\MQL5\include\Trade\Trade.mqh

вы ответили Потому что были изменения в языке:

я и спрашиваю со следующим билдом пропадет ? или как то по другому решиться ?

Либо Вы вручную приводите коды, которые не компилируются, к текущему состоянию языка MQL5, либо скачиваете свежий дистрибутив терминала MetaTrader 5 с исправленными примерами и разворачиваете его заново.


Ссылка на скачивание указана в первом сообщении этой ветки - https://forum.mql4.com/ru/26549

 

1. Нажимаем F11 - вылезает "Full Chart", а надо бы "Full Screen".

2. Настраиваю окно F10, и ставлю в самый верх экрана, при повторном вызове F10 настройки окна сбиваются.

 
Rosh >>:

Либо Вы вручную приводите коды, которые не компилируются, к текущему состоянию языка MQL5, либо скачиваете свежий дистрибутив терминала MetaTrader 5 с исправленными примерами и разворачиваете его заново.

скачал, снес старый поставил новый он кстати 208 рестарт на 211


справка обновилась по крайне мере находит новую ф-ю ZeroMemory() а вот компиляция C:\Program Files\MetaTrader 5\MQL5\include\Trade\Trade.mqh

все равно

'Trade.mqh'	Trade.mqh	1	1
'expert' - struct member is undefined	Trade.mqh	166	14
conversion possible loss of data	Trade.mqh	166	26
'expert' - struct member is undefined	Trade.mqh	262	14
conversion possible loss of data	Trade.mqh	262	26
'expert' - struct member is undefined	Trade.mqh	311	14
'expert' - struct member is undefined	Trade.mqh	332	39
no executable file produced		1	1
5 error(s), 2 warning(s)		1	1

я что-то не так делаю ?