Описание класса Position. OsEngine.

Описание класса Position. OsEngine.

В программе моделированием позиции занимается класс Position. Файл находится в каталоге OsEngine\project\OsEngine\Entity\

Рис. 1. Класс Position в структуре проекта.

Рассмотрим члены класса Position.

OpenOrders – публичное свойство типа List, закрытого типом Order. Возвращает список всех ордеров, участвовавших в открытии данной позиции.

AddNewOpenOrder – публичный метод, добавляет входящий ордер, участвовавший в открытии позиции.

CloseOrders – публичное свойство типа List, закрытого типом Order. Возвращает список всех ордеров, участвовавших в закрытии данной позиции.

MyTrades  публичное свойство типа List, закрытого типом MyTrade. Возвращает список всех сделок, принадлежащих позиции.

AddNewCloseOrder  публичный метод. Добавляет входящий ордер, участвовавший в закрытии позиции.

OpenActiv  публичное свойство типа bool. Проверяет, есть ли в позиции активные ордера на открытие.

CloseActiv  публичное свойство типа bool. Проверяет, есть ли в позиции активные ордера на закрытие.

StopOrderIsActiv – публичное поле типа bool. Флаг активности стоп-лосса для позиции.

StopOrderPrice  публичное поле типа decimal. Содержит цену уровня стоп-лосса.

StopOrderRedLine  публичное поле типа decimal. Содержит цену, при достижении которой в торговую систему будет выслан реальный ордер по цене StopOrderPrice.

ProfitOrderIsActiv – публичное поле типа bool. Флаг активности стоп-профита для позиции.

ProfitOrderPrice  публичное поле типа decimal. Содержит цену уровня стоп-профита.

ProfitOrderRedLine  публичное поле типа decimal. Содержит цену, при достижении которой в торговую систему будет выслан реальный ордер по цене ProfitOrderPrice.

Direction  публичное поле типа Side. Указывает направление позиции. Используемые значения перечисления Side:

  1. None - используется при создании объектов, когда направление не определено.
  2. Buy - покупка, длинная позиция, лонг.
  3. Sell - продажа, короткая позиция, шорт.

State - публичное поле типа PositionStateType. Отображает текущее состояние позиции. Рассмотрим подробнее все варианты перечисления:

  1. None - объект только что был создан программой, и его состояние еще не было определено.
  2. Opening - позиция находится в состоянии открытия. Данное состояние указывает на наличие активного ордера, участвующего в открытии позиции.
  3. Done - закрыта. Указывает на успешное исполнение операции.
  4. OpeningFail - ошибка открытия позиции. Устанавливается, если открывающий ордер был отменен или отвергнут торговой системой.
  5. Open - успешное открытие позиции. Следует заметить, если открывающий ордер исполнился частично, позиция все равно будет считаться открытой.
  6. Closing - находится в процессе закрытия. Данное состояние указывает на наличие активного или частично исполнившегося ордера.
  7. ClosingFail - была неудачная попытка закрытия. Необходимо принять меры для закрытия.
  8. ClosingSurplus - позиция была закрыта с переполнением, то есть исполненный объем в ордерах, закрывающих позицию, превышает аналогичный показатель в открывающих ордерах.
  9. Deleted - был запрос на удаление позиции.

Number – публичное поле типа int. Хранит уникальный в рамках программы номер.

SecurityName – публичное строковое свойство. Предоставляет доступ к полю, хранящему наименование торгового инструмента, сделки по которому совершаются в рамках этой позиции.

NameBot  публичное строковое поле. Хранит название робота, которому данная позиция принадлежит.

ProfitOperationPersent – публичное поле типа decimal. Используется для хранения результата торговли в процентном отношении к цене открытия позиции.

ProfitOperationPunkt – публичное поле типа decimal. Используется для хранения результата торговли, выражаемое в шагах цены инструмента.

Comment – публичное строковое поле. Используется для хранения дополнительной информации, задаваемой пользователем.

SignalTypeOpen – общедоступное поле типа string. Содержит описание сигнала на открытие позиции.  

SignalTypeClose – общедоступное поле типа string. Содержит описание сигнала на закрытие позиции.  

MaxVolume – публичное свойство типа decimal, доступно только для чтения. Возвращает максимальный объем, исполненный в позиции.

OpenVolume – публичное свойство типа decimal. Доступно только для чтения. Возвращает открытый объем.

WaitVolume – публичное свойство типа decimal. Доступно только для чтения. Возвращает объем, выставленный на биржу и ожидающий открытия.

EntryPrice – публичное свойство типа decimal. Рассчитывает и возвращает средневзвешенную цену всех сделок, участвовавших в открытии позиции.

ClosePrice – публичное свойство типа decimal. Рассчитывает и возвращает средневзвешенную цену всех сделок, участвовавших в закрытии позиции.

MultToJournal  мультипликатор для анализа позиции. Используется для нужд платформы. ВАЖНО. Не изменять значение.

SetOrder – публичный метод. Вычисляет необходимое состояние позиции, используя для этого входящий ордер.

CalculateProfitToPosition – закрытый метод. Вычисляет значения полей ProfitOperationPersent и ProfitOperationPunkt.

SetTrade - публичный метод. Вычисляет необходимое состояние позиции, используя для этого входящую сделку.

SetBidAsk - публичный метод. Вычисляет необходимое состояние позиции, используя для этого входящие цены лучших уровней на покупку и на продажу.

GetStringForSave - общедоступный метод, не принимающий параметров. Возвращает строку, в которую записаны все поля объекта для дальнейшего сохранения в хранилище.

SetDealFromString - общедоступный метод. Принимает строку, содержащую данные по всем полям, парсит ее и инициализирует состояние объекта.

TimeCreate – публичное свойство типа DateTime. Возвращает время создания позиции.

TimeClose - публичное свойство типа DateTime. Возвращает время закрытия позиции.

TimeOpen - публичное свойство типа DateTime. Возвращает время открытия позиции.

ProfitPortfolioPersent – публичное свойство типа decimal. Возвращает размер прибыли/убытка позиции относительно портфеля в процентах.

ComissionType – публичное поле типа ComissionType. Определяет способ расчета комиссии.

Перечисление ComissionType содержит следующие значчения:

  1. None - способ не задан.
  2. Percent - в процентном соотношении.
  3. OneLotFix - фиксированный размер на один лот.

ComissionValue  публичное поле типа decimal. Содержит значение, используемое для расчёта комиссии.

ProfitPortfolioPunkt  публичное свойство типа decimal. Возвращает количество прибыли/убытка относительно портфеля в абсолютном выражении, рассчитанное с учетом комиссии.

IsLotServer – приватный метод. Определяет, поддерживает ли биржа множественное количество бумаг в одном лоте.

CommissionTotal – публичный метод. Рассчитывает количество суммарной комиссии по позиции.

Lots – публичное поле типа decimal. Содержит количество бумаг инструмента в одном лоте.

PriceStepCost – публичное поле типа decimal. Содержит стоимость минимального движения цены по инструменту.

PriceStep – публичное поле типа decimal. Содержит размер минимально возможного движения цены.

PortfolioValueOnOpenPosition – публичное поле типа decimal. Содержит размер портфеля на момент создания позиции.

18:38
353
FAQ

Комментарии

Нет комментариев. Ваш будет первым!