Код: Выделить всё
if (condition)
{
ExecuteMarketOrder(TradeType.Buy, _symbol.Name, _symbol.QuantityToVolumeInUnits(PositionQuantity), positionLabel, stopLossPriceBuy, null);
}
else if (condition2)
{
ExecuteMarketOrder(TradeType.Sell, _symbol.Name, _symbol.QuantityToVolumeInUnits(PositionQuantity), positionLabel, stopLossPriceSell, null);
}

Примечание: рассчитанный SL верен и установлен при исполнении, но позиция имеет другое значение, как показано на скриншоте из журнала выше. Проблема в том, что cTrader игнорирует ранее установленный SL и сам заменяет его другим. Я пробовал разные способы исправить это, но пока безуспешно.
Позиция:

Я выделил желтым SL, который был установлен при исполнении позиции, и SL, который фактически имеет позиция. Видите ли, после этого заказ не был изменен (это могло бы изменить SL).
Это ошибка или что? Может кто-нибудь увидеть, в чем там проблема? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/758 ... -stop-loss
Мобильная версия