I have tried ExitLong in both of the following ways:
ExitLong(PositionAccount.Quantity);
ExitLong(Position.Quantity);
Here is a snippet of my code:
--------------------------------------------------------------------------------------------------------------------------------
Position.Quantity = PositionAccount.Quantity; // sync the strategy quantity to the account quantity
Position.MarketPosition = PositionAccount.MarketPosition; // sync the strategy (Long, Short, Flat), to the account (Long, Short, Flat)
if(PositionAccount.MarketPosition == MarketPosition.Long) // account has an existing Long position
{
Print(" ");
Print("Account Used is: " + Account);
Print("Account " + PositionAccount.MarketPosition.ToString() + " " + PositionAccount.Quantity.ToString() );
Print("Strategy " + Position.MarketPosition.ToString() + " " + Position.Quantity.ToString() );
longProtectiveStopLevel = ((Low[1]) - (1 * TickSize));
Draw.Line(this, "tagLongProtectiveStopLine + activeBar", true, 1, longProtectiveStopLevel, 0, longProtectiveStopLevel, Brushes.Yellow, (DashStyleHelper.Solid), 5, true);
if(Close[0] <= longProtectiveStopLevel)
{
Print("Close Long Positions Here " );
ExitLong(PositionAccount.Quantity);
RemoveDrawObject("tagLongProtectiveStopLine + activeBar");
}
}

Comment