В программе моделированием позиции занимается класс 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:
State - публичное поле типа PositionStateType. Отображает текущее состояние позиции. Рассмотрим подробнее все варианты перечисления:
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 содержит следующие значчения:
ComissionValue – публичное поле типа decimal. Содержит значение, используемое для расчёта комиссии.
ProfitPortfolioPunkt – публичное свойство типа decimal. Возвращает количество прибыли/убытка относительно портфеля в абсолютном выражении, рассчитанное с учетом комиссии.
IsLotServer – приватный метод, определяет, поддерживает ли биржа множественное количество бумаг в одном лоте.
CommissionTotal – публичный метод, рассчитывает количество суммарной комиссии по позиции.
Lots – публичное поле типа decimal. Содержит количество бумаг инструмента в одном лоте.
PriceStepCost – публичное поле типа decimal. Содержит стоимость минимального движения цены по инструменту.
PriceStep – публичное поле типа decimal. Содержит размер минимально возможного движения цены.
PortfolioValueOnOpenPosition – публичное поле типа decimal. Содержит размер портфеля на момент создания позиции.
Комментарии