В примере мы говорим о конкретной описанной ситуации с ТС. И там вопрос оставлен без ответа.
Функция и возвращает то, что физически есть на счете. И она врет ровно настолько же, насколько врала бы в MT4. Т.е. нормально все.
В МТ4 функция не вернёт "может быть три", она вернёт точно два.
Вы предлагаете возвращать как физически существующие позиции - их количество, так и маркет-ордера, которые ещё не позиция. И могут никогда ей и не стать.
И я не говорю о гипотетических примерах. Я говорю о конкретной функции, которая возвращает количество позиций на счёте.
Artyom Trishkin: В МТ4 функция не вернёт "может быть три", она вернёт точно два.
Вы предлагаете возвращать как физически существующие позиции - их количество, так и маркет-ордера, которые ещё не позиция. И могут никогда ей и не стать.
Абсолютно верно!
И я не говорю о гипотетических примерах. Я говорю о конкретной функции, которая возвращает количество позиций на счёте.
Мой пример не гипотетичней Вашего с точки зрения поведения ТС.
При всем желании, не могу понять твоего желания уйти от реальной проблемы в высосанную из пальца (и даже не формализованную в этой ветке) проблему.
Продолжайте без меня.
Андрей. Реальная проблема в том, что предложенный вариант решения проблемы открытия лишней позиции сам, в свою очередь может возвращать ложь. Это не проблема? Позиций две. Один маркет-ордер. Функция возвращает три. Ордер отменяется сервером. Вот и ошибка.
Я предлагаю обсудить варианты точного возврата, а не "авось пройдёт". Я согласен с тем, что есть проблема. Но пока, имхо, метод её решения не лучше самой проблемы.
Мой пример не гипотетичней Вашего с точки зрения поведения ТС.
Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы. Пока не столкнётесь с проблемами, ею порождёнными.
Я ж не выдумываю их. Я говорю на основании опыта создания тс на заказ. И, если требуется точное количество, например, 2, то не нужно возвращать 3 пока их точно не будет 3.
Artyom Trishkin: Андрей. Реальная проблема в том, что предложенный вариант решения проблемы открытия лишней позиции сам, в свою очередь может возвращать ложь. Это не проблема? Позиций две. Один маркет-ордер. Функция возвращает три. Ордер отменяется сервером. Вот и ошибка.
Покажу даже, как выглядят такие отмененные маркет-ордера
Artyom Trishkin: Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы. Пока не столкнётесь с проблемами, ею порождёнными.
Я ж не выдумываю их. Я говорю на основании опыта создания тс на заказ. И, если требуется точное количество, например, 2, то не нужно возвращать 3 пока их точно не будет 3.
В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!
Не зря привел пример, чтобы логика стала понятной.
Отвлечемся от MT5 в сторону MT4. Торгует советник. Вдруг брокер по своей технической ошибке (не Вы) выставляет на Вашем счете позицию, которая успешно проходит фильтр советника свой-чужой - мэджик, символ и т.д. Через секунду брокер исправляет свою ошибку - удаляет (не закрывает даже) свою позицию с Вашего счета.
В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!
Не зря привел пример, чтобы логика стала понятной.
Позиций реальных две. Маркет-ордер - не позиция. Зачем его возвращать как позицию? А если его лот предельный? На основании ложного объёма, которого нет на самом деле, программа начудит, а потом будем героически обрабатыаать эти чудеса.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
В примере мы говорим о конкретной описанной ситуации с ТС. И там вопрос оставлен без ответа.
Функция и возвращает то, что физически есть на счете. И она врет ровно настолько же, насколько врала бы в MT4. Т.е. нормально все.
При всем желании, не могу понять твоего желания уйти от реальной проблемы в высосанную из пальца (и даже не формализованную в этой ветке) проблему.
Продолжайте без меня.
В МТ4 функция не вернёт "может быть три", она вернёт точно два.
Вы предлагаете возвращать как физически существующие позиции - их количество, так и маркет-ордера, которые ещё не позиция. И могут никогда ей и не стать.
Абсолютно верно!
Мой пример не гипотетичней Вашего с точки зрения поведения ТС.
При всем желании, не могу понять твоего желания уйти от реальной проблемы в высосанную из пальца (и даже не формализованную в этой ветке) проблему.
Продолжайте без меня.
Абсолютно верно!
Мой пример не гипотетичней Вашего с точки зрения поведения ТС.
Андрей. Реальная проблема в том, что предложенный вариант решения проблемы открытия лишней позиции сам, в свою очередь может возвращать ложь. Это не проблема? Позиций две. Один маркет-ордер. Функция возвращает три. Ордер отменяется сервером. Вот и ошибка.
Покажу даже, как выглядят такие отмененные маркет-ордера
Только ошибки нет.
Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы. Пока не столкнётесь с проблемами, ею порождёнными.
В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!
Не зря привел пример, чтобы логика стала понятной.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Типичные ошибки и способы их устранения при работе с торговым окружением
fxsaber, 2018.02.24 14:46
Отвлечемся от MT5 в сторону MT4. Торгует советник. Вдруг брокер по своей технической ошибке (не Вы) выставляет на Вашем счете позицию, которая успешно проходит фильтр советника свой-чужой - мэджик, символ и т.д. Через секунду брокер исправляет свою ошибку - удаляет (не закрывает даже) свою позицию с Вашего счета.
Ваша ТС сломается?
Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы.
Покажу даже, как выглядят такие отмененные маркет-ордера
Только ошибки нет.
В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!
Не зря привел пример, чтобы логика стала понятной.