Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1393

[Удален]  
leonerd #:

Подскажите, пожалуйста, если я передаю объект в массив объектов (CArrayObj), который потом уничтожается (массив), как мне сохранить объект? Судя по описанию FreeMode() для массива это не совсем то.

Я хочу, чтобы после уничтожения объявленного массива объектов, не уничтожался добавленный в него элемент.

Используйте  FreeMode( false ).

 

Добрый день, помогите, пожалуйста, разобраться до конца:

в цикле доходим до 127 (01111111), прибавляем 1, должно получится (10000000), т.е. 128, но т.к. первый символ это знак, то получается минус ноль и зацикливаться должно с нуля до 127 (01111111), а по логам в журнале после 127 идет минус 128. Минус 128 должно быть (1 10000000) но первая единица не укладывается в 8 знаков и остается только (10000000) а это 128 без минуса либо минус ноль.

 
Sergey #:

Добрый день, помогите, пожалуйста, разобраться до конца:

в цикле доходим до 127 (01111111), прибавляем 1, должно получится (10000000), т.е. 128, но т.к. первый символ это знак, то получается минус ноль и зацикливаться должно с нуля до 127 (01111111), а по логам в журнале после 127 идет минус 128. Минус 128 должно быть (1 10000000) но первая единица не укладывается в 8 знаков и остается только (10000000) а это 128 без минуса либо минус ноль.

Это вы описываете не дополнительный код, а обратный прямой. Там, действительно, есть "0" и "-0", и отрицательное число выглядит точно так же, как положительное, но с ведущей "знаковой" единичкой.

 
JRandomTrader #:

Это вы описываете не дополнительный код, а обратный. Там, действительно, есть "0" и "-0", и отрицательное число выглядит точно так же, как положительное, но с ведущей "знаковой" единичкой.

По дополнительному коду:

после итерации (01111111) идет итерация (10000000) верно?

(10000000)=-127 или +128?

 

А есть ли возможность отключить всплывающую подсказку для гистограммы?

 
Sergey #:

По дополнительному коду:

после итерации (01111111) идет итерация (10000000) верно?

(10000000)=-127 или +128?

10000000 = -128

+1

10000001 = -127

...

11111111 = -1

+ 1

(1)00000000 = 0

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

Ну и как тут не вспомнить старое, ФИДОшное:

"0 программистов ругал сердитый шеф,

Потом уволил одного, и стало их FF."

https://zxpress.ru/article.php?id=16607

И да, там у меня выше надо читать не "обратный", а прямой, уже сам забыл.
Стихи - #0A Программистов. Анекдоты.
Стихи - #0A Программистов. Анекдоты.
  • zxpress.ru
Стихи - #0A Программистов. Анекдоты.
 

Добрый день. 

А можно ли узнать размерность глобально объявленного Enum?

Например 

enum ENTERmode {System1, System2 , System3 , System4 , System5 , System6 , System7}

Как мне узнать количество перечислений из середины программы?

 

Всем доброго дня.

Помогите разобраться.

 у меня три класса, в каждом есть эти дефайны

#define INDENT_LEFT     (10)
#define INDENT_TOP      (20)
#define INDENT_RIGHT    (10)
#define INDENT_BOTTOM   (15)
#define CONTROLS_GAP_X  (50)
#define CONTROLS_GAP_Y  (20)
#define BUTTON_WIDTH    (150)
#define BUTTON_HEIGHT   (20)
#define EDIT_HIGTHT     (20)
#define GROUP_WIDTH     (150)
#define LABEL_WIDTH     (70)

при сборке их в советнике выдается следующее сообщение об ошибке

macro redefinition

как исправить эту ошибку?



 
Sergey Li #:

Всем доброго дня.

Помогите разобраться.

 у меня три класса, в каждом есть эти дефайны


при сборке их в советнике выдается следующее сообщение об ошибке

macro redefinition

как исправить эту ошибку?



#ifndef X
  #define X
#endif

Например, так.

Макросы глобальны.

 

Здравствуйте, не подскажете, получаю ошибку 4014 иногда при вызове SocketCreate()...

Вызываю в сервисе. В доке как-то непонятно описано:

Функцию можно вызывать только из экспертов и скриптов, так как они работают в собственном потоке выполнения. При вызове из индикатора GetLastError() вернет ошибку 4014 – "Системная функция не разрешена для вызова".


А при вызове из сервисов как?