Форум устарел! Поддержка тут: https://t.me/osengine_official_support
Актуальные гайды здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php
Помогите, пожалуйста, составить оператор
Доброго)) Для закрытия позиций использую стандартные приемы - лимитным ордером и стоп-ордером (_tab.CloseAtLimit и _tab.CloseAtStop). Но в блоке успешного закрытия позиции (void _tab_PositionClosingSuccesEvent(Position position)) понадобилось создать условный переход, в зависимости от типа приказа, которым закрывалась позиция. Типа if( позиция закрыта = ордером AtStop ) { действие при закрытии позиции AtStop}. Помогите, пожалуйста, состряпать)) оператор в круглых скобках if.
На сколько я понял, если поза закрывается по лимиту - то закрывается в плюс, если по стопу то в минус?
Цитата: Lexuz77
На сколько я понял, если поза закрывается по лимиту - то закрывается в плюс, если по стопу то в минус?
Да по всякому может быть. Не в этом дело. Была позиция. Она закрылась. Соответственно обрабатывается событие void _tab_PositionClosingSuccesEvent(Position position). И в этом событии (ну может это и можно как-нить по-другому делать - я начинающий, я пока только так смог захотеть и попытаться реализовать) нужно попытаться вытянуть из системы тип ордера, которым закрывалась позиция - лимитным или СТОПом. И в зависимости от этого задать дальнейшие действия.
Цитата: Holdboy
Цитата: Lexuz77
На сколько я понял, если поза закрывается по лимиту - то закрывается в плюс, если по стопу то в минус?
Да по всякому может быть. Не в этом дело. Была позиция. Она закрылась. Соответственно обрабатывается событие void _tab_PositionClosingSuccesEvent(Position position). И в этом событии (ну может это и можно как-нить по-другому делать - я начинающий, я пока только так смог захотеть и попытаться реализовать) нужно попытаться вытянуть из системы тип ордера, которым закрывалась позиция - лимитным или СТОПом. И в зависимости от этого задать дальнейшие действия.
берём позицию которая закрылась и пришла по событию. Запрашиваем у неё последний ордер на закрытие(массив CloseOrders). У этого ордера запрашиваем флаг IsStopOrProfit. И если он активен - поза закрылась по стопу или профиту.
if(position.CloseOrders[position.CloseOrders.Count - 1].IsStopOrProfit == true)
{
// позиция закрыта по стопу или профиту
}
else
{
// позиция закрыта как-то иначе.
}
ООО «ВАН ТЕХНОЛОГИИ»т: +7 953 769 56 45
* Торговля на финансовых рынках связана с риском, который лежит на Вас.
* Ничто из написанного на сайте o-s-a.net не является рекомендацией.
* Если Вы этого не понимаете, не читайте этот сайт, ничего не покупайте.