Не работает TakeProfitStopLossStrategy
Atom
11.02.2013
yammm


Уже в 3ий раз пишу о том что не работает TakeProfitStopLossStrategy.

[code=csharp]using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Windows; using Ecng.Collections; using Ecng.Common;

namespace StockSharp { using StockSharp.Quik; using StockSharp.Algo; using StockSharp.Algo.Candles; using StockSharp.Algo.Strategies; using StockSharp.BusinessEntities;

internal sealed class MyStrategy : Strategy
{
    private readonly MarketDepth _depth;
    
    public MyStrategy(MarketDepth marketDepth)
    {
        _depth = marketDepth;
    }

    protected override void OnStarted()
    {
        _depth
            .WhenChanged()
            .Do(ProccesDepth)
            .Apply(this);

        base.OnStarted();
    }

    protected override void OnStopping()
    {
        try
        {
            CancelActiveOrders();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Заявки в процессе отмены {0}".Put(ex));
        }

        base.OnStopping();
    }

    private void ProccesDepth()
    {
            var bids = _depth.Bids.Max().Volume;
            var asks = _depth.Asks.Max().Volume;

            bool isBuyDirection = bids > asks;

            var order = new Order
                            {
                                Price = isBuyDirection ? _depth.BestBid.Price : _depth.BestAsk.Price,
                                Direction = isBuyDirection ? OrderDirections.Buy : OrderDirections.Sell,
                                Type = OrderTypes.Limit,
                                Volume = 1,
                                Comment = "Вход",
                            };

            order
                .WhenNewTrades()
                .Do(SetProtectedOrders)
                .Apply(this);

            RegisterOrder(order);
    }

    private void SetProtectedOrders(IEnumerable<MyTrade> myTrades)
    {
        // для каждой сделки добавляем защитную пару стратегии 
        var protectiveStrategies = myTrades.Select(t =>
                                                       {
                                                           // выставляет тейк-профит в 40 пунктов 
                                                           var takeProfit = new TakeProfitStrategy(t, 50);

                                                           // выставляет стоп-лосс в 20 пунктов 
                                                           var stopLoss = new StopLossStrategy(t, 20);

                                                           return new TakeProfitStopLossStrategy(takeProfit,
                                                                                                 stopLoss);
                                                       });

        ChildStrategies.AddRange(protectiveStrategies);
    }
}

}[/code]

В коде использовался пример из документации, и не сработал :)

Вход и не сработавший 20пт стоп: [img]http://i.imgur.com/8rnyTxS.png[/img]

Позиции: [img]http://i.imgur.com/f0eOO0l.png[/img]

Ордера: [img]http://i.imgur.com/d6AhIed.png[/img]

Т.е. ордера пытаются выставится, но сразу же отменяются, и второй раз уже не работают, т.к. срабатывание единоразовое.

В то что все работает правильно, как-то не верится :)


Теги:


Спасибо:


1 2  >
esper

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


Без лога работы стратегий трудно что-либо сказать.

Спасибо:

yammm

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


При попытке выйти с тейком:

[img]http://i.imgur.com/VQzfLfd.png[/img]

Попытка выйти по стопу:

[img]http://i.imgur.com/PXpkL16.png[/img]

Поле Security при создании объектов tp & sl я не заполнял, но в этом ошибки быть не может, т.к. заполнять не обязательно судя по документации. Неверно настроены таблицы? Настройки тоже из wnd-шника c семплами.

Остается разве что издержки работы с демо.

Спасибо:

Кудрев

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


Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.

Спасибо:

yammm

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


[quote=Кудрев;24058]Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.[/quote]

Да мне в принципе не критично, всегда можно собрать свой велосипед, просто в данном случае не работает семпл из доки, а это косяк :)

Спасибо:

Mikhail Sukhov

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


[quote=Кудрев;24058]Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.[/quote]

Согласен, что-то взаимопомощь не развита среди трейдеров. Как на смартлабе так и тут, все смотрят друг на друга как на конкурентов (тот же юзер yammmm не помогает вам). Увы, но тут видимо ничего поделать нельзя.

Спасибо:

Moadip

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


[quote=yammm;24023]При попытке выйти с тейком:

[img]http://i.imgur.com/VQzfLfd.png[/img]

Попытка выйти по стопу:

[img]http://i.imgur.com/PXpkL16.png[/img]

Поле Security при создании объектов tp & sl я не заполнял, но в этом ошибки быть не может, т.к. заполнять не обязательно судя по документации. Неверно настроены таблицы? Настройки тоже из wnd-шника c семплами.

Остается разве что издержки работы с демо.[/quote]

В ошибке написано что нет информации о планках. В коде есть добавление доп. колонок [b]DdeSecurityColumns.MaxPrice[/b] и [b]DdeSecurityColumns.MinPrice[/b]? В квике, в таблице "Инструменты" есть колонки [b]Mакс. возм. цена[/b] и [b]Мин. возм. цена[/b]?

[quote]Настройки тоже из wnd-шника c семплами[/quote] В wnd минимально необходимые настройки. Есть примеры которые требуют доп. настроек квика - [b]SampleDdeExtendedInfo[/b].

[quote]Да мне в принципе не критично, всегда можно собрать свой велосипед, просто в данном случае не работает семпл из доки, а это косяк :)[/quote] Подскажите в каком стандартном примере для квика используются защитные стратегии? Если вы изменили пример и у вас что то не работает, это не косяк примера, а ваш.

Спасибо: yammm

Moadip

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


[quote=Кудрев;24058]Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.[/quote] Мне показалось или вы считаете что если задали вопрос, то должны получить на него ответ? Если не от форумян, то от создателей проекта [b]обязательно[/b]?

Если да, то почему вы так считаете?

На вопросы даются ответы, по мере возможности. Но на все ответить нереально.

Спасибо:

yammm

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


[quote=Mikhail Sukhov;24060][quote=Кудрев;24058]Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.[/quote]

Согласен, что-то взаимопомощь не развита среди трейдеров. Как на смартлабе так и тут, все смотрят друг на друга как на конкурентов (тот же юзер yammmm не помогает вам). Увы, но тут видимо ничего поделать нельзя.[/quote]

Да я бы рад, но сам пока что на неглубоком уровне понимаю.

Спасибо:

yammm

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


[quote] Подскажите в каком стандартном примере для квика используются защитные стратегии? Если вы изменили пример и у вас что то не работает, это не косяк примера, а ваш.[/quote]

Речь идет о семпле Стратегии -> Тейк-профит и стоп-лосс

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

А насчет примеров, багов, помощи и пр. Ну вот смотрите, отловил я сегодня у вас багу в Trades, при использовании квика, при входе в лонг, OrderDirection приходит нулл, полез в сорцы, нашел почему так, решил поправить. Ну а дальше что? Форума "баги в опенсорс версии" пока нет, писать сюда, хрен знает, может у вас этой баги в природе нету в комм версии, а если есть, вы ж ее фиксить будете не для Кудрева и других, а для комм пользователей. Такой вот диссонанс получается.

В любом случае я ж без наезда написал, ответили хорошо, не ответили - ничего страшного :)

Спасибо:

Mikhail Sukhov

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


[quote=yammm;24064]OrderDirection приходит нулл, полез в сорцы, нашел почему так, решил поправить. Ну а дальше что? Форума "баги в опенсорс версии" пока нет, писать сюда[/quote]

Пишите сюда.

Спасибо:
1 2  >

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

loading
clippy