Не работает TakeProfitStopLossStrategy

Не работает TakeProfitStopLossStrategy
Atom
2/11/2013
yammm


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

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


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

Вход и не сработавший 20пт стоп:


Позиции:


Ордера:


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

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

Tags:


Thanks:


1 2  >
esper

Avatar
Date: 2/11/2013
Reply


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

yammm

Avatar
Date: 2/14/2013
Reply


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



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



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

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

Кудрев

Avatar
Date: 2/15/2013
Reply


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

yammm

Avatar
Date: 2/15/2013
Reply


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


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

Thanks:

Mikhail Sukhov

Avatar
Date: 2/15/2013
Reply


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


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

Moadip

Avatar
Date: 2/15/2013
Reply


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



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



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

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


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

Quote:
Настройки тоже из wnd-шника c семплами

В wnd минимально необходимые настройки. Есть примеры которые требуют доп. настроек квика - SampleDdeExtendedInfo.

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

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

Moadip

Avatar
Date: 2/15/2013
Reply


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

Мне показалось или вы считаете что если задали вопрос, то должны получить на него ответ?
Если не от форумян, то от создателей проекта обязательно?

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

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

Thanks:

yammm

Avatar
Date: 2/16/2013
Reply


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


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


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

Thanks:

yammm

Avatar
Date: 2/16/2013
Reply


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


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

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

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

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



Thanks:

Mikhail Sukhov

Avatar
Date: 2/16/2013
Reply


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


Пишите сюда.
Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy