особенности работы BatchStrategy
Для закрытия позиций по стопу и профиту использую BatchStrategy, также стратегия может робота иногда закрывать
позиции сама.
Сделал все по примеру, но результат прямо скажем удивительный, возможно я выбрал слишком маленьки значения (10 пунктов stoploss и 30 - takeprofit).
Есть и позиции закрытые точно по указанным числам, но в основном отклонения довольно приличные, вот примерный список сегодняшних закрытий:
+30
+30 ок ! 2 раза закрылись по профиту, хорошо, идем далее:
-50
-55
-75
-140
-35
-5
45
95
130
5
и так далее, то есть даже незнаю что и делать.
Код у меня такой, вобщем просто взят из документации:
Код
private void OnMewMyTrades(IEnumerable<MyTrade> trades)
{
var sec = trades.First().Trade.Security;
// для каждой сделки добавляем для защиты по пакетной стратегии
foreach (var t in trades) {
var s = new BatchStrategy(BatchFinishModes.First) { IsParallel = true };
// выставляет тейк-профит в 30 пунктов
var takeProfit = new TakeProfitStrategy(t, 30.Points(sec));
// выставляет стоп-лосс в 10 пунктов
var stopLoss = new StopLossStrategy(t, 10.Points(sec));
// делаем стратегии параллельными, чтобы они не блокировали работу контролирующей BatchStrategy
takeProfit.IsParallel = stopLoss.IsParallel = true;
s.ChildStrategies.Add(takeProfit);
s.ChildStrategies.Add(stopLoss);
batch.ChildStrategies.Add(s);
//return s;
};
base.ChildStrategies.Add(batch);
}