In the state change I am using a setstoploss after checking for a bool.
if(!EnableTrailingStop)
{
SetStopLoss(CalculationMode.Ticks, StopLoss);
}
if (EnableTrailingStop)
{
if (position.MarketPosition == MarketPosition.Long)
{
SetTrailStop(CalculationMode.Price, Low[1] - (StopLoss * TickSize));
}
else if (position.MarketPosition == MarketPosition.Short)
{
SetTrailStop(CalculationMode.Price, High[1] + (StopLoss * TickSize));
}
}

Comment