Вопросы новичка в S# (Закрыта)
Atom
01.12.2010


ttt

Фотография
Добрый день.
Очень понравилась идея использования Вашей библиотеки для реализации роботов.
Подскажите, пожалуйста:
1) Как идентифицировать заявку?
//например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать?
Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок.
С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
2) Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
- первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
- второй: непосредственно реализует алгоритм выставления и снятия заявок.
Можно ли обойтись одним потоком?

Теги:


Спасибо: Николай_Флёров




506 Ответов
<< < 13 14 15 16 17  > >>
Roman0

Фотография
Дата: 20.06.2011


Заметил такую штуку: в версии 3.2.1 при получении свечей не с начала дня (подключился вечером) событие CandlesFinished вызывается как минимум 2 раза для свечи с одними и тем же временем (TimeFrameCandle). В версии 3.1.10 такого вроде бы не наблюдалось.
Спасибо:

Alexander

Фотография
Дата: 20.06.2011


Roman0 Перейти
Заметил такую штуку: в версии 3.2.1 при получении свечей не с начала дня (подключился вечером) событие CandlesFinished вызывается как минимум 2 раза для свечи с одними и тем же временем (TimeFrameCandle). В версии 3.1.10 такого вроде бы не наблюдалось.


В версии 3.2.2 уже исправлено. Сегодня-завтра выложим
Спасибо:

Stanislav121

Фотография
Дата: 22.06.2011


Здравствуйте.
такой код почему-то делает на одну покупку больше чем надо
Код

while (true)
			{
				curLotBuyNow = (MainWindow.Instance.Trader.GetPosition(_portfolio, _security).CurrentValue - _valueOnStart);
				MessageBox.Show("curLotBuyNow= "+curLotBuyNow+"nLot= "+nLot);
				if (curLotBuyNow == nLot){break;}
								
				var order = new Order
				{
					Portfolio = _portfolio,
					Volume = (int) vol, 
					Price = this.PriceOfOrder.Text.To<decimal>(),
					Security = _security,
					Direction =  this.IsBuy.IsChecked == true ? OrderDirections.Buy : OrderDirections.Sell,
				};
				
				MainWindow.Instance.Trader.RegisterOrder(order);
				
				while(order.State != OrderStates.Done)
				{}
				
			}

nLot - объем который нужно купить
Для того чтобы покупал точное количество пршлось вставить
Thread.Sleep(500);
в конец цикла.
Видимо, иначе не успеваем получить информацию о сделке
Почему? мы же получаем OrderStates.Done
Если работать без Thread.Sleep(500) то, curLotBuyNow после первой покупки равно 0 и в течение всего цикла это значение отстает от истинного на 1.
Подскажите, пожалуйста, что с этим можно сделать.
Спасибо:

vader

Фотография
Дата: 30.06.2011


Я начал разбиратся в вашей библиотеке, и тестирую работоспособность в Quik-Junior и у меня почему-то проблемы с получением информации по портфелю.
Размер денежных средств на счету и Размер денежных средств на начало торговой сессии равны нулю, а на запрос информации о бирже (_portfolio.Exchange) он ничего не выводит.
Это происходит из-за того, что счет виртуальный? или по какой-то другой причине?
Спасибо:

Alexander

Фотография
Дата: 30.06.2011


vader Перейти
Я начал разбиратся в вашей библиотеке, и тестирую работоспособность в Quik-Junior и у меня почему-то проблемы с получением информации по портфелю.
Размер денежных средств на счету и Размер денежных средств на начало торговой сессии равны нулю, а на запрос информации о бирже (_portfolio.Exchange) он ничего не выводит.
Это происходит из-за того, что счет виртуальный? или по какой-то другой причине?


Если ММВБ - проблема известна, сейчас как раз ей занимаюсь, надеюсь что в 3.2.3 будет фикс.
Спасибо:

Stanislav121

Фотография
Дата: 30.06.2011


Не очень понятно, что дает использование класса Strategy/
разве нельзя написать нормальню логику без него?
Спасибо:

Alexander

Фотография
Дата: 30.06.2011


Stanislav121 Перейти
Не очень понятно, что дает использование класса Strategy/
разве нельзя написать нормальню логику без него?


Как будете описывать логику 10 стратегий без класса Strategy?
Цикличность стратегии будете ручками делать? :)
Спасибо:

vader

Фотография
Дата: 30.06.2011


Alexander Перейти
vader Перейти
Я начал разбиратся в вашей библиотеке, и тестирую работоспособность в Quik-Junior и у меня почему-то проблемы с получением информации по портфелю.
Размер денежных средств на счету и Размер денежных средств на начало торговой сессии равны нулю, а на запрос информации о бирже (_portfolio.Exchange) он ничего не выводит.
Это происходит из-за того, что счет виртуальный? или по какой-то другой причине?


Если ММВБ - проблема известна, сейчас как раз ей занимаюсь, надеюсь что в 3.2.3 будет фикс.

Да, работаю на ММВБ
Спасибо:

vader

Фотография
Дата: 01.07.2011


есть ли возможность отличить исполненную завяку от снятой?
Потому что status == done может означать как исполнение так и снятие заявки.
Спасибо:

Alexander

Фотография
Дата: 01.07.2011


vader Перейти
есть ли возможность отличить исполненную завяку от снятой?
Потому что status == done может означать как исполнение так и снятие заявки.


IsMatched \ IsCanceled
Спасибо: vader

vader

Фотография
Дата: 05.07.2011


Как получить все свои заявки?
Посмотрел в QuikTrader , Portfolio не нашел ничего, что пригодилсь бы для этого.
Спасибо:

esper

Фотография
Программист
Дата: 05.07.2011


vader Перейти
Как получить все свои заявки?
Посмотрел в QuikTrader , Portfolio не нашел ничего, что пригодилсь бы для этого.


QuikTrader.OrdersConfused
Спасибо:

Maxim K.

Фотография
Дата: 05.07.2011


Нужно еще вроде StockSharp.Algo подцепить чтобы видно было.
Спасибо:

vader

Фотография
Дата: 06.07.2011


esper, извините, не туда посмотрел.
QuikTrader.Orders - я думал там сделки всех пользователей.
Спасибо:

vader

Фотография
Дата: 06.07.2011


такую вещь заметил.
Если сделать RegisterOrder(order) и сразу вывести MessageBox.Show(order.Time.ToString());
то время регистрации заявки на бирже будет нулевой датой. С чем это связано и как это можно обойти?
Спасибо:

Alexander

Фотография
Дата: 06.07.2011


vader Перейти
такую вещь заметил.
Если сделать RegisterOrder(order) и сразу вывести MessageBox.Show(order.Time.ToString());
то время регистрации заявки на бирже будет нулевой датой. С чем это связано и как это можно обойти?


Время присваивается биржей. Заявка не успела дойти, оттого такая реакция.
Обойти можно дождавшись события что заявка дошла и зарегистрирована на бирже.
Спасибо:

vader

Фотография
Дата: 06.07.2011


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

vader

Фотография
Дата: 07.07.2011


Как получить лимит на РТС ,а то по запросу _portfolio.CurrentAmount.Value выдает Тек. чист. поз.
Спасибо:

Alexander

Фотография
Дата: 07.07.2011


vader Перейти
Как получить лимит на РТС ,а то по запросу _portfolio.CurrentAmount.Value выдает Тек. чист. поз.


BeginAmount
Спасибо:

vader

Фотография
Дата: 07.07.2011


Alexander Перейти
vader Перейти
Как получить лимит на РТС ,а то по запросу _portfolio.CurrentAmount.Value выдает Тек. чист. поз.


BeginAmount

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

Alexander

Фотография
Дата: 07.07.2011


vader Перейти
Alexander Перейти
vader Перейти
Как получить лимит на РТС ,а то по запросу _portfolio.CurrentAmount.Value выдает Тек. чист. поз.


BeginAmount

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


Он выдаёт не предыд. лимит откр. поз. а лимит откр. поз.
Я это изменял в версии 3.2.2
Это как раз то о чём вы спрашивали в первом сообщении.

Если всё же надо план. чист. поз. - выводите как дополнительный столбец и получайте через ExtensionInfo
Спасибо:

vader

Фотография
Дата: 08.07.2011


Где можно посмотреть, какие исключения могут кидать методы StockSharp?
Спасибо:

Yura

Фотография
Дата: 10.07.2011


Можно ли изменить источник маркет-данных для гидры?чтоб из базы данных например брала значения и преобразовывала в стокшарп формат
Спасибо:

Yura

Фотография
Дата: 10.07.2011


либо как мне использовать исторические данные с 2006 года например? =(Ответьте прошу я в тупике((
Спасибо:

Yura

Фотография
Дата: 10.07.2011


Yura Перейти
либо как мне использовать исторические данные с 2006 года например? если они в txt формате с сайта биржи скачаны =(

Спасибо:
<< < 13 14 15 16 17  > >>

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

loading
clippy