Форум устарел! Поддержка тут: https://t.me/osengine_official_support

Актуальные гайды здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php

Проверка на наличие неисполненных ордеров

вопрос новичка

  1. Tumbler

    Регистрация:
    16.07.18
    Сообщения:
    39
    Был на сайте:
    08.08.21

     1. Подскажите, как проверить наличие неисполненных лимитных ордеров?

     2. Если лимитный ордер на открытие позиции выставлен, но не исполнен (даже частично), создается ли новая позиция?

    Tumbler
    11.05.2020 10:00
    #1
  2. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1175
    Был на сайте:
    05.10.24
    Цитата: Tumbler

     1. Подскажите, как проверить наличие неисполненных лимитных ордеров?

     2. Если лимитный ордер на открытие позиции выставлен, но не исполнен (даже частично), создается ли новая позиция?

    В настроках робота есть кнопка Position support. Нажмёте на неё. Там будет настройка времени жизни ордеров на открытие, закрытие.

    Если ордер не открылся за N секунд - программа его отзовёт. И позиция утилизируется

    Алексей Ван
    11.05.2020 12:55
    #2
  3. Tumbler

    Регистрация:
    16.07.18
    Сообщения:
    39
    Был на сайте:
    08.08.21

    Предположим ситуацию, на резком движении робот пытается открыть позицию через tab.BuyAtLimit(Lot, Price + Slippage), из-за того, что проскальзывание на скачке цены оказалось большим чем заложено в роботе (Slippage), осталась висеть неисполненная лимитка. N - секунд для отзыва лимитки еще не прошло, но условие для открытия позиции остается истиным, и робот будет опять пытаться открыть позицию.

    Защитит ли условие if (OpenPositions == null || OpenPositions.Count == 0) от такой ситуации, или необходимо дополнительное  условие которое будет проверять или удалять неисполненные лимитки, перед tab.BuyAtLimit() ?

    Tumbler
    11.05.2020 13:38
    #3
  4. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1175
    Был на сайте:
    05.10.24
    Цитата: Tumbler

     

    Защитит ли условие if (OpenPositions == null || OpenPositions.Count == 0) от такой ситуации, или необходимо дополнительное  условие которое будет проверять или удалять неисполненные лимитки, перед tab.BuyAtLimit() ?

    Защитит. 

    Алексей Ван
    11.05.2020 14:32
    #4