System.ArgumentOutOfRangeException

Индекс за пределами диапазона

  1. Papercut110

    Регистрация:
    06.12.19
    Сообщения:
    9
    Был на сайте:
    02.08.21

    Здравствуйте, столкнулся с проблемой - решил оптимизировать робота и сделал условия для входа в позицию асинхронными, через async await, всего три независимых условия, при выполнении каждого открывается независимая позиция. И всё работает, но меня засыпает следующей ошибкой

     

    Error    System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
    Имя параметра: index
       в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
       в System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
       в OsEngine.OsTrader.GlobalPosition.journal_PositionChangeEvent(Position position) в \OsEngine-master\project\OsEngine\OsTrader\GlobalPosition.cs:строка 218

    Возникла мысль, что размер коллекции grid меняется во время выполнения цикла и проге это не нравится, правильно ли я думаю и что можно с этим сделать? Очень уж не хочется от асинхронности отказываться).

     

    Papercut110
    23.12.2020 18:03
    #1
  2. Алексей Ван Команда форума

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

    Здравствуйте, столкнулся с проблемой - решил оптимизировать робота и сделал условия для входа в позицию асинхронными, через async await, всего три независимых условия, при выполнении каждого открывается независимая позиция. И всё работает, но меня засыпает следующей ошибкой

     

    Error    System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
    Имя параметра: index
       в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
       в System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
       в OsEngine.OsTrader.GlobalPosition.journal_PositionChangeEvent(Position position) в \OsEngine-master\project\OsEngine\OsTrader\GlobalPosition.cs:строка 218

    Возникла мысль, что размер коллекции grid меняется во время выполнения цикла и проге это не нравится, правильно ли я думаю и что можно с этим сделать? Очень уж не хочется от асинхронности отказываться).

     

    да. Не нравится

    Алексей Ван
    25.12.2020 09:05
    #2
  3. Papercut110

    Регистрация:
    06.12.19
    Сообщения:
    9
    Был на сайте:
    02.08.21

    Печалька конечно, попробовал залочить теперь ругается на null reference

    Papercut110
    25.12.2020 11:03
    #3