особенности работы BatchStrategy
Atom Ответить
22.12.2010


Для закрытия позиций по стопу и профиту использую 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);
}


Теги:


Спасибо:




2 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 22.12.2010
Ответить


В логе ничего не понял. А вот по коду могу сказать, что фильтр на сделки необходимо добавить https://stocksharp.ru/do...27-985a-1654e8d9cfc1.htm .

Код
// фильтруем сделки, чтобы найти те, которые произошли для заявки TargetOrder
    trades = trades.Where(t => t.Order == this.TargetOrder);
    
    // если не найдена ни одна сделка для заявки TargetOrder
    if (trades.Count() == 0)
        return;
Спасибо:

xtonic

Фотография
Дата: 23.12.2010
Ответить


Фильтрацию добавил, но вобщем ничего не поменялось.
Лог означает профит сделки, т.е. я ожидаю чтото такое:
+30
+30
-10
+30
-10
-10

т.е. видим что убыточные сделки закрываются в -10 пунктов т.е. по стоплоссу, а прибыльные
по тейкпрофиту: +30. Конечно такого ожидать можно в идеале, а на практике должны быть отклонения,
но я не думал что такие будут большие. Может это из-за повышенной волатильности инструмента такое быть, тестирую на RIH1 ?
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy