Code: Select all
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);
}

Hinweis: Der berechnete SL ist korrekt und wird bei der Ausführung festgelegt, aber die Position hat einen anderen Wert, wie im Screenshot des Protokolls oben gezeigt. Das Problem besteht darin, dass cTrader den zuvor festgelegten SL ignoriert und ihn selbst durch einen anderen ersetzt. Ich habe verschiedene Möglichkeiten ausprobiert, das Problem zu beheben, aber bisher kein Erfolg.
Die Position:

Ich habe den SL, der bei der Ausführung der Position festgelegt wurde, und den SL, den die Position tatsächlich hat, mit Gelb hervorgehoben. Sehen Sie, dass es danach keine Änderung der Bestellung gab (das hätte die SL ändern können).
Ist es ein Fehler oder was? Kann jemand sehen, wo das Problem liegt? Danke!
Mobile version