Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
long - тип переменной, но повторяю, что это не правильно.
Все правильно. PositionGetInteger() возвращает тип long. Нафиг надо заморачиваться такими длинными типами типа ENUM_POSITION_TYPE.
В любом случае выполняет одно приведения типа. Так лучше писать короче.
Насоветуют здесь новичкам...
Nextor257:
...
Зачем перед POSITION_TYPE_BUY указано (long) ?
...
Это изменение типа переменой на лету.
Все правильно. PositionGetInteger() возвращает тип long. Нафиг надо заморачиваться такими длинными типами типа ENUM_POSITION_TYPE.
В любом случае выполняет одно приведения типа. Так лучше писать короче.
Насоветуют здесь новичкам...
Не правильно, потому что потом идёт сравнение:
И POSITION_TYPE не long, а
ENUM_POSITION_TYPE
Идентификатор
Описание
POSITION_TYPE_BUY
Покупка
POSITION_TYPE_SELL
Продажа
Не правильно, потому что потом идёт сравнение:
И POSITION_TYPE не long, а
ENUM_POSITION_TYPE
Идентификатор
Описание
POSITION_TYPE_BUY
Покупка
POSITION_TYPE_SELL
Продажа
Дааа.. увас ооочень глубокие познания в программировании.
По видимому, у Вас, вообще никаких познаний нет - одни амбиции!
ENUM_POSITION_PROPERTY_INTEGER
Идентификатор
Описание
Тип
POSITION_TIME
Время открытия позиции
datetime
POSITION_TIME_MSC
Время открытия позиции в миллисекундах с 01.01.1970
long
POSITION_TIME_UPDATE
Время изменения позиции в секундах с 01.01.1970
long
POSITION_TIME_UPDATE_MSC
Время изменения позиции в миллисекундах с 01.01.1970
long
POSITION_TYPE
Тип позиции
ENUM_POSITION_TYPE
POSITION_MAGIC
Magic number для позиции (смотри ORDER_MAGIC)
long
POSITION_IDENTIFIER
Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.
long
По видимому у Вас, вообще никаких познаний нет - одни амбиции!
ENUM_POSITION_PROPERTY_INTEGER
Идентификатор
Описание
Тип
POSITION_TIME
Время открытия позиции
datetime
POSITION_TIME_MSC
Время открытия позиции в миллисекундах с 01.01.1970
long
POSITION_TIME_UPDATE
Время изменения позиции в секундах с 01.01.1970
long
POSITION_TIME_UPDATE_MSC
Время изменения позиции в миллисекундах с 01.01.1970
long
POSITION_TYPE
Тип позиции
ENUM_POSITION_TYPE
POSITION_MAGIC
Magic number для позиции (смотри ORDER_MAGIC)
long
POSITION_IDENTIFIER
Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.
long
Для функции PositionGetDouble()
Этот тот случай, про который в народе говорят "смотрит в книгу, видит фигу".
Для начала попробуйте откомпилировать:
Будет предупреждение.
Не может одна функция в разных случаях выдавать разные типы, в любом случае будет long. А вы поверили, что одна и та же функция возвращает разные типы? Да... суевериями на этом форуме уже никто не удивит, это нормально...
ENUM_POSITION_TYPE в колонке типа означает, что все возможные возвращаемые значения есть в соответствующем энумераторе.
Еще бы внимания побольше не помешало, приведенная табличка относится к PositionGetInteger(), а PositionGetDouble() написанное снизу вообще не при делах.
Интересно кто видит "фигу"....
Я написал так:
Это изменение типа переменой на лету.
Интересно кто видит "фигу"....
Я написал так:
ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE(PositionGetInteger(POSITION_TYPE));
Зачем писать ENUM_POSITION_TYPE перед PositionGetInteger? Ведь в соответствии с вашим поверьем функция PositionGetInteger с идентификатором POSITION_TYPE и так возвращает тип ENUM_POSITION_TYPE.
Зачем писать ENUM_POSITION_TYPE перед PositionGetInteger? Ведь в соответствии с вашим поверьем функция PositionGetInteger с идентификатором POSITION_TYPE и так возвращает тип ENUM_POSITION_TYPE.
Вы же ГУРУ в программировании - сами и ответьте....
И это не моё "поверье", а документация...
Но я думаю, что функция PositionGetInteger() всегда возвращает значение типа LONG, и не важно что было "внутри" INTRGER или LONG.
Разработчики это сделали для того, чтобы не писать две функции.
Поэтому, чтобы получить тип позиции (а оно INTEGER) правильно делать так, как я написал: