Стоп заявка
Atom
13.06.2011
patermind


Добрый день. Сейчас фиксирую прибыль вот таким образом, просто выставляя лимитную заяку выше текущей цены цены на 30 рублей:
Цитата:
var order3 = new Order
{
Portfolio = _portfolio,
Price = _instrument0.ShrinkPrice(_instrument0.BestAsk.Price+30),
Security = _instrument0,
Volume = 5,
Direction = OrderDirections.Buy,
};
trader.RegisterOrder(order3);

Но бывает так, что нужно в районе 30-ти рублей начать следить за ценой. Далее, например, при достижении 35 рублей при откате назад более чем на 3 рубля(до 32 рублей) выбросить лимитированную заявку с ценой 31,8. Т.е. эдакий трейлинг-стоп. Как это можно реализовать? Стратегии не используются.

Заранее спасибо!

Теги:


Спасибо:


< 1 2 3  >
patermind

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


need help for get balance! )))
Спасибо:

Alexander

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


patermind
need help for get balance! )))


Привидите скриншот таблицы из квика и все распечатку всех порфтелей которые приходят в квик
Спасибо:

patermind

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


Скриншот сделаю сегодня вечером и сразу выложу. А как вывести в консоль все портфели? У меня, если бы это получилось, наверное я бы смог выбрать с нужным балансом.
Спасибо:

Alexander

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


patermind
Скриншот сделаю сегодня вечером и сразу выложу. А как вывести в консоль все портфели? У меня, если бы это получилось, наверное я бы смог выбрать с нужным балансом.


подписываетесь на NewPortfolios, приходит коллекция портфелей. Для каждого печатаете всё что необходимо
Спасибо:

patermind

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


Alexander
patermind
Скриншот сделаю сегодня вечером и сразу выложу. А как вывести в консоль все портфели? У меня, если бы это получилось, наверное я бы смог выбрать с нужным балансом.


подписываетесь на NewPortfolios, приходит коллекция портфелей. Для каждого печатаете всё что необходимо


Выглядит примерно вот так, как и в документации -
Код

trader.NewPortfolios += portfolios =>
{
    if (_portfolio == null)
    {
        // находим sberbank и присваиваем ее переменной sber
        _portfolio = portfolios.FirstOrDefault(p => p.Name == account);

        if (_portfolio != null)
        {
            Console.WriteLine("Портфель {0} появился.", account);

            // если инструмент и стакан уже появились,
            // то извещаем об этом основной поток для выставления заявки
            if (_sber != null && _depth != null)
                waitHandle.Set();
        }
    }
};


куда здесь и что именно нужно добавить, чтобы вывелись все портфели?
Спасибо:

Alexander

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


patermind

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


Код

trader.NewPortfolios += portfolios =>
{
//тут перебираем всю коллекцию portfolios с помощью foreach и выводим его поля
    if (_portfolio == null)
    {
//блаблабла
    }
};
Спасибо:

patermind

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


а что написать, чтобы все портфели вывелись?
Спасибо:

Alexander

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


patermind
а что написать, чтобы все портфели вывелись?


ну это уже чистый C#, тут секретов вроде и вопросов быть не должно
Код
var portfolioString = "";
        foreach (var portfolio in portfolios)
        {
            portfolioString += portfolio.Name + " : " + portfolio.Exchange + " : " + portfolio.BeginAmount + " : " +
                               portfolio.CurrentAmount + " : " + portfolio.Commission + " : " + portfolio.Leverage + 
                               Environment.NewLine;
            portfolioString +=
        }


покажите строку portfolioString
Спасибо:

patermind

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


Благодарю!
Цитата:

L01-00000F00 : : 0 RUB : 0 RUB : 0 : 0;


вот такое вывел в лог.
Цитата:
portfolioString += portfolio.Name + " : " + portfolio.Exchange + " : " + portfolio.BeginAmount + " : " + portfolio.CurrentAmount + " : " + portfolio.Commission + " : " + portfolio.Leverage + ";\r\n";


т.е. нету там ничего, я так понимаю.
Спасибо:

Alexander

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


patermind
Благодарю!
Цитата:

L01-00000F00 : : 0 RUB : 0 RUB : 0 : 0;


вот такое вывел в лог.
Цитата:
portfolioString += portfolio.Name + " : " + portfolio.Exchange + " : " + portfolio.BeginAmount + " : " + portfolio.CurrentAmount + " : " + portfolio.Commission + " : " + portfolio.Leverage + ";\r\n";


т.е. нету там ничего, я так понимаю.



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

ещё так скриншота портфелей и не увидел :)
Спасибо:
< 1 2 3  >

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

loading
clippy