Типичные ошибки и способы их устранения при работе с торговым окружением - страница 5

 
fxsaber:

В примере мы говорим о конкретной описанной ситуации с ТС. И там вопрос оставлен без ответа.

Функция и возвращает то, что физически есть на счете. И она врет ровно настолько же, насколько врала бы в MT4. Т.е. нормально все.

В МТ4 функция не вернёт "может быть три", она вернёт точно два. 
Вы предлагаете возвращать как физически существующие позиции - их количество, так и маркет-ордера, которые ещё не позиция. И могут никогда ей и не стать.
И я не говорю о гипотетических примерах. Я говорю о конкретной функции, которая возвращает количество позиций на счёте.
 
Artyom Trishkin:

При всем желании, не могу понять твоего желания уйти от реальной проблемы в высосанную из пальца (и даже не формализованную в этой ветке) проблему.

Продолжайте без меня.

 
Artyom Trishkin:
В МТ4 функция не вернёт "может быть три", она вернёт точно два. 

Вы предлагаете возвращать как физически существующие позиции - их количество, так и маркет-ордера, которые ещё не позиция. И могут никогда ей и не стать.

Абсолютно верно!

И я не говорю о гипотетических примерах. Я говорю о конкретной функции, которая возвращает количество позиций на счёте.

Мой пример не гипотетичней Вашего с точки зрения поведения ТС.

 
Andrey Khatimlianskii:

При всем желании, не могу понять твоего желания уйти от реальной проблемы в высосанную из пальца (и даже не формализованную в этой ветке) проблему.

Продолжайте без меня.

Андрей. Реальная проблема в том, что предложенный вариант решения проблемы открытия лишней позиции сам, в свою очередь может возвращать ложь. Это не проблема? Позиций две. Один маркет-ордер. Функция возвращает три. Ордер отменяется сервером. Вот и ошибка.
Я предлагаю обсудить варианты точного возврата, а не "авось пройдёт". Я согласен с тем, что есть проблема. Но пока, имхо, метод её решения не лучше самой проблемы.
 
fxsaber:

Абсолютно верно!

Мой пример не гипотетичней Вашего с точки зрения поведения ТС.

Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы. Пока не столкнётесь с проблемами, ею порождёнными.
Я ж не выдумываю их. Я говорю на основании опыта создания тс на заказ. И, если требуется точное количество, например, 2, то не нужно возвращать 3 пока их точно не будет 3.
 
Artyom Trishkin:
Андрей. Реальная проблема в том, что предложенный вариант решения проблемы открытия лишней позиции сам, в свою очередь может возвращать ложь. Это не проблема? Позиций две. Один маркет-ордер. Функция возвращает три. Ордер отменяется сервером. Вот и ошибка.

Покажу даже, как выглядят такие отмененные маркет-ордера

Только ошибки нет.

 
Artyom Trishkin:
Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы. Пока не столкнётесь с проблемами, ею порождёнными.
Я ж не выдумываю их. Я говорю на основании опыта создания тс на заказ. И, если требуется точное количество, например, 2, то не нужно возвращать 3 пока их точно не будет 3.

В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!

Не зря привел пример, чтобы логика стала понятной.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Типичные ошибки и способы их устранения при работе с торговым окружением

fxsaber, 2018.02.24 14:46

Отвлечемся от MT5 в сторону MT4. Торгует советник. Вдруг брокер по своей технической ошибке (не Вы) выставляет на Вашем счете позицию, которая успешно проходит фильтр советника свой-чужой - мэджик, символ и т.д. Через секунду брокер исправляет свою ошибку - удаляет (не закрывает даже) свою позицию с Вашего счета.

Ваша ТС сломается?

 
Artyom Trishkin:
Похоже, что никто не желает видеть иную проблему. Всем достаточно другой проблемы.
уже обсудили. универсально не получится, т.к. одному надо одно, другому другое.
 
fxsaber:

Покажу даже, как выглядят такие отмененные маркет-ордера

Только ошибки нет.

Почему ты считаешь, что нет?
Функция вернёт не верное количество же.
Есть 2 позиции. Есть два ордера. Функция вернула 4. Тут же ордера стали отменёнными. Имеем две позиции. Но функция нам вернула 4.
Это не ошибка? Всё так и должно быть? Это верно?
Не пойму что-то я...
 
fxsaber:

В том то и дело, что когда есть две позиции и один открывающий маркет-ордер, то позиций три. Если же через мгновение брокер отменит маркет-ордер, то позиций станет две. Где ошибка?!

Не зря привел пример, чтобы логика стала понятной.

Позиций реальных две. Маркет-ордер - не позиция. Зачем его возвращать как позицию? А если его лот предельный? На основании ложного объёма, которого нет на самом деле, программа начудит, а потом будем героически обрабатыаать эти чудеса.
Причина обращения: