Ошибки, баги, вопросы - страница 1887
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы, как я вижу, не проверили код, который я показал. ДАвайте так: Вы сначала проверяете, потом снова зададите вопрос.
мне не нужно его преверять, я вижу: он возвращает, то что нужно
говорил о первом варианте использования функции
мне не нужно его преверять, я вижу что он возвращает, то что нужно
говорил о первом варианте использования функции
Ну ладно, тогда так. Пойдём от хвоста.
1. PositionGetInteger:
Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции...
То есть, перед использованием PositionGetInteger нужно сначала выбрать позицию.
2. Выбираем позицию при помощи PositionGetTicket. PositionGetTicket:
Возвращаемое значение
Тикет позиции. В случае неудачного выполнения возвращает 0.
А где у Вас проверка (после цикла), что там было возвращено от PositionGetTicket? Проверки нет, а там, между прочим возвращается "ноль" - то есть PositionGetTicket сработала с ошибкой - что равнозначно выбору позиции, которой нет. Затем Вы, не проверим результат PositionGetTicket, пытаетесь получить от несуществующей позиции её свойство. А там, в свойствах нусуществующей позиции, или мусор или просто данные обнулённых структур.
Подытожу: не проверив PositionGetTicket на возврат "нуля" дальше двигаться нельзя.
Ну ладно, тогда так. Пойдём от хвоста.
1. PositionGetInteger:
Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции...
То есть, перед использованием PositionGetInteger нужно сначала выбрать позицию.
2. Выбираем позицию при помощи PositionGetTicket. PositionGetTicket:
Возвращаемое значение
Тикет позиции. В случае неудачного выполнения возвращает 0.
А где у Вас проверка (после цикла), что там было возвращено от PositionGetTicket? Проверки нет, а там, между прочим возвращается "ноль" - то есть PositionGetTicket сработала с ошибкой - что равнозначно выбору позиции, которой нет. Затем Вы, не проверим результат PositionGetTicket, пытаетесь получить от несуществующей позиции её свойство. А там, в свойствах нусуществующей позиции, или мусор или просто данные обнулённых структур.
Подытожу: не проверив PositionGetTicket на возврат "нуля" дальше двигаться нельзя.
Ну ладно, тогда так. Пойдём от хвоста.
1. PositionGetInteger:
Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции...
То есть, перед использованием PositionGetInteger нужно сначала выбрать позицию.
2. Выбираем позицию при помощи PositionGetTicket. PositionGetTicket:
Возвращаемое значение
Тикет позиции. В случае неудачного выполнения возвращает 0.
А где у Вас проверка (после цикла), что там было возвращено от PositionGetTicket? Проверки нет, а там, между прочим возвращается "ноль" - то есть PositionGetTicket сработала с ошибкой - что равнозначно выбору позиции, которой нет. Затем Вы, не проверим результат PositionGetTicket, пытаетесь получить от несуществующей позиции её свойство. А там, в свойствах нусуществующей позиции, или мусор или просто данные обнулённых структур.
Подытожу: не проверив PositionGetTicket на возврат "нуля" дальше двигаться нельзя.
можно не распинаться )
не в этом вопрос
читайте правильно: нормально ли то, что функция на разные ситуации возвращает одно значение?
это правильно, что функция так поступает?Подытожу: не проверив 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) ?