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


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

Код
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пт стоп:


Позиции:


Ордера:


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

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

Теги:


Спасибо:


< 1 2 
Moadip

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


Цитата:
Форума "баги в опенсорс версии" пока нет, писать сюда, хрен знает, может у вас этой баги в природе нету в комм версии, а если есть, вы ж ее фиксить будете не для Кудрева и других, а для комм пользователей. Такой вот диссонанс получается.

Почему только для комм пользователей? Бинарники вроде никуда не делись, постоянно фиксятся найденные баги и выкладываются на codeplex.
Или все теперь на сырцы перешли?[blink]

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

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

В доке пример не конкретно для квика, а общий. То что нет этого нюанса именно для квика - допишу.
Спасибо:

Кудрев

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


Я не говорю, что обязаны ответить на вопрос. Просто если есть возможность, то хотя бы можно было сказать в каком направлений двигаться. В первом посте мне писали обращайся в техподдержку заплати и скажем ответ.
Можно просто сказать ошибка там, то там. А решение ищи сам. Или почитай, что ни будь.
Я не говорю, что вы бюрократы или еще кто ни будь. Или не надо у вас учиться. Учиться надо всегда. Но и если видишь, то и помочь можно как ни будь.
Спасибо:

VassilSanych

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


Кудрев Перейти
Я не говорю, что обязаны ответить на вопрос. Просто если есть возможность, то хотя бы можно было сказать, в каком направлении двигаться. В первом посте мне писали,- обращайся в техподдержку заплати, и скажем ответ.
Можно просто сказать - ошибка там, то там. А решение ищи сам. Или почитай, что-нибудь.
Я не говорю, что вы бюрократы или еще кто-нибудь. Или не надо у вас учиться. Учиться надо всему. Но и если видишь, то и помочь можно как-нибудь.

TakeProfitStopLossStrategy не использую.
Во-первых, она работает не профитами-стопами, а обыкновенными лимитками,
а во-вторых, это - просто адЪ, как и котирование, которое при первом же запуске насобирало у меня максимальную позу при том, что я вообще торговал одним контрактом. Хорошо - на demo.
Спасибо:

Mikhail Sukhov

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


VassilSanych Перейти

а во-вторых, это - просто адЪ, как и котирование, которое при первом же запуске насобирало у меня максимальную позу при том, что я вообще торговал одним контрактом. Хорошо - на demo.


Теперь есть сырцы, чтобы понять, почему так сработало, а у нас все норм. Котирование - чувствительный аппарат. Там с умом подходить нужно, а не просто взять и зарегать как дочернюю стратегию.
Спасибо:

VassilSanych

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


Mikhail Sukhov Перейти
Теперь есть сырцы, чтобы понять, почему так сработало, а у нас все норм. Котирование - чувствительный аппарат. Там с умом подходить нужно, а не просто взять и зарегать как дочернюю стратегию.

У меня и без этих "стандартных" стратегий StockSharp работает в 34 потока.
Так что отладка всего этого - то ещё увлекательное развлечение.

Спасибо:

Moadip

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


Кудрев Перейти
Просто если есть возможность, то хотя бы можно было сказать в каком направлений двигаться. В первом посте мне писали обращайся в техподдержку заплати и скажем ответ.
Можно просто сказать ошибка там, то там. А решение ищи сам. Или почитай, что ни будь.

Т.е. другими словами: Мне лень самому искать ответ на свой вопрос, найдите за меня.

Дюшес в своем посте дал вам ссылку на пост, где можно найти ответ. Как вы думаете откуда он ее взял? Не по памяти же.
Он нашел ее через поиск вместо вас.

Почему вы считаете что если вам неохота тратить свое время на поиск ответа, то кто то должен делать это за вас?
Лень шевелится? -> тех. поддержка.
На элементарные вопросы ответ можно найти самому. Надо только воспользоваться поиском.[mad]

Спасибо:

Кудрев

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


Moadip Перейти
Кудрев Перейти
Просто если есть возможность, то хотя бы можно было сказать в каком направлений двигаться. В первом посте мне писали обращайся в техподдержку заплати и скажем ответ.
Можно просто сказать ошибка там, то там. А решение ищи сам. Или почитай, что ни будь.

Т.е. другими словами: Мне лень самому искать ответ на свой вопрос, найдите за меня.

Дюшес в своем посте дал вам ссылку на пост, где можно найти ответ. Как вы думаете откуда он ее взял? Не по памяти же.
Он нашел ее через поиск вместо вас.

Почему вы считаете что если вам неохота тратить свое время на поиск ответа, то кто то должен делать это за вас?
Лень шевелится? -> тех. поддержка.
На элементарные вопросы ответ можно найти самому. Надо только воспользоваться поиском.[mad]



Причем тут лень. Я вот вообще не понимаю в программирований. Но охото иметь малейшее представление об этом.
Вы сразу стали во всем разбираться как будто. Тоже также по началу у кого нибудь спрашивали совета или примера.
ЕСЛИ ТЫ В ЧЕМ ТО РАЗБИРАЕШЬСЯ ЛУЧШЕ НЕ ЗНАЧИТ ЧТО ТЫ ВЫШЕ ОСТАЛЬНЫХ.
Спасибо:

Mikhail Sukhov

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


Кудрев Перейти
Я вот вообще не понимаю в программирований. Но охото иметь малейшее представление об этом.


http://stocksharp.com/do...8-afe7-d41abc4d486b.htm Как наши материалы, так и Майкрософт. Ну и Гугл, конечно. На этом форуме, чтобы он не скатился в кашу из разнородной информации, мы держим только информацию касаемо алготрейдинга и программирования под S#. Начальные вопросы обсуждаются только в специальных форумах Обучения.
Спасибо:

Moadip

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


Цитата:
ЕСЛИ ТЫ В ЧЕМ ТО РАЗБИРАЕШЬСЯ ЛУЧШЕ НЕ ЗНАЧИТ ЧТО ТЫ ВЫШЕ ОСТАЛЬНЫХ.

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

Но если вижу что человек откровенно ленится элементарно почитать форум или воспользоваться поиском, и при этом обвиняет всех, кроме себя:
Цитата:
Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.

То желание помогать пропадает.

За сиим откланиваюсь. Не вижу смысла дальше продолжать дискуссию. Удачи в освоении C# и S#.
Спасибо:

Кудрев

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


Moadip Перейти
Цитата:
ЕСЛИ ТЫ В ЧЕМ ТО РАЗБИРАЕШЬСЯ ЛУЧШЕ НЕ ЗНАЧИТ ЧТО ТЫ ВЫШЕ ОСТАЛЬНЫХ.

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

Но если вижу что человек откровенно ленится элементарно почитать форум или воспользоваться поиском, и при этом обвиняет всех, кроме себя:
Цитата:
Если не заплатишь хер кто поможет.Вот тебе и форум. Я по ихнему примеру спросил тоже никто не ответил.

То желание помогать пропадает.

За сиим откланиваюсь. Не вижу смысла дальше продолжать дискуссию. Удачи в освоении C# и S#.


Я не считаю что вы ставите себя выше остальных это просто цитата.
Про заплатить так это коментарий к первому посту.
Я никого не обвиняю.
Я не ленюсь но и многое что я читаю не могу понять и пытаюсь искать где можно но многое понаучному показано и написанно а я в этом деревяный.


ЕСЛИ Я ВАС ОСКАРБИЛ ТО ПРИНОШУ СВОИ ИЗВЕНЕНИЯ.
ПРОШУ ИЗВЕНИТЬ МЕНЯ Я БЫЛ НЕ ПРАВ.
Спасибо:
< 1 2 

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

loading
clippy