Ошибки, баги, вопросы - страница 1887
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Подытожу: не проверив PositionGetTicket на возврат "нуля" дальше двигаться нельзя.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.05.12 11:19
логично делать проверку (PositionGetInteger(POSITION_TICKET) > 0).что функция на разные ситуации возвращает одно значение?
это правильно, что функция так поступает?Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.05.12 11:29
Да. Но и любое другое значение будет вводить в заблуждение.1. можно не распинаться )
не в этом вопрос
2. читайте правильно: нормально ли то, что функция на разные ситуации возвращает одно значение?
это правильно, что функция так поступает?1. Вы грубиян, к тому же допустивший ошибку в коде, но не желающий это признать.
2. Функция работает абсолютно правильно. Так как она (PositionGetInteger(POSITION_TYPE)) может возвращать только ДВА значения - или POSITION_TYPE_BUY или POSITION_TYPE_SELL. Но не выбрав позицию (а Вы её не выбираете - Вы не проверяете что именно было выбрано) что-то требовать от (PositionGetInteger(POSITION_TYPE)) безрассудно.
Итог: когда Ваш код написан с логической ошибкой - Вы просто не имеет права, что-то требовать от системных функций.
Итог: когда Ваш код написан с логической ошибкой - Вы просто не имеет права, что-то требовать от системных функций.
1. Вы грубиян, к тому же допустивший ошибку в коде, но не желающий это признать.
2. Функция работает абсолютно правильно. Так как она (PositionGetInteger(POSITION_TYPE)) может возвращать только ДВА значения - или POSITION_TYPE_BUY или POSITION_TYPE_SELL. Но не выбрав позицию (а Вы её не выбираете - Вы не проверяете что именно было выбрано) что-то требовать от (PositionGetInteger(POSITION_TYPE)) безрассудно.
Итог: когда Ваш код написан с логической ошибкой - Вы просто не имеет права, что-то требовать от системных функций.
Простите, я не виноват что кто-то не видит вопрос.
То что в коде преднамеренная ошибка признал.
И как её исправить знаю.
Но вопрос в другом.
Почему функция PositionGetInteger(POSITION_TYPE) в случае не корректных входных параметров возвращает значение покупки( равное 0), а не ошибки(равное 0) ?
Почему функция PositionGetInteger(POSITION_TYPE_SELL) в случае не корректных входных параметров возвращает значение покупки( равное 0), а не ошибки(равное 0) ?
Пример числа, которое она могла бы возвращать в случае ошибки?
Почему функция PositionGetInteger() в случае не корректных входных параметров возвращает значение покупки( равное 0), а не ошибки(равное 0) ?
Потому что может возвращать только ДВА значения - или POSITION_TYPE_BUY или POSITION_TYPE_SELL ибо
ENUM_POSITION_TYPE
Идентификатор
Описание
POSITION_TYPE_BUY
Покупка
POSITION_TYPE_SELL
Продажа
и других значений нет. А дальше как в фильмах "любые совпадения имён случайны"...
-1