Skip to content

PositionClosedEventArgs.Position

property · PositionClosedEventArgs · cAlgo.API

DesktopCLICloud

Gets the position being closed.

Definition

public Position Position {get;}
positionClosedEventArgs.Position: Position

Returns Position

Examples

protected override void OnStart()
{
    Positions.Closed += OnPositionsClosed;
    ExecuteMarketOrder(TradeType.Buy, SymbolName, 10000, "myLabel");
}

private void OnPositionsClosed(PositionClosedEventArgs args)
{
    var position = args.Position;
    if (position.Label != "myLabel")
        return;

    var oppositeTradeType = position.TradeType == TradeType.Buy ? TradeType.Sell : TradeType.Buy;
    var tradeType = position.NetProfit > 0 ? position.TradeType : oppositeTradeType;
    ExecuteMarketOrder(tradeType, position.SymbolName, position.VolumeInUnits, position.Label);
}
def on_start(self):
    api.Positions.Closed += self.on_positions_closed
    api.ExecuteMarketOrder(TradeType.Buy, api.SymbolName, 10000, "myLabel")

def on_positions_closed(self, args):
    position = args.Position
    if position.Label != "myLabel":
        return

    oppositeTradeType = TradeType.Sell if position.TradeType == TradeType.Buy else TradeType.Buy
    tradeType = position.TradeType if position.NetProfit > 0 else oppositeTradeType
    api.ExecuteMarketOrder(tradeType, position.SymbolName, position.VolumeInUnits, position.Label)