Вопросы новичка в S#

Вопросы новичка в S# (Locked)
Atom
12/1/2010
ttt


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


<< < 34 35 36 37 38  > >>
Roman0

Avatar
Date: 6/20/2011


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

Alexander

Avatar
Date: 6/20/2011


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


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

Stanislav121

Avatar
Date: 6/22/2011


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

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.
Подскажите, пожалуйста, что с этим можно сделать.
Thanks:

vader

Avatar
Date: 6/30/2011


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

Alexander

Avatar
Date: 6/30/2011


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


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

Stanislav121

Avatar
Date: 6/30/2011


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

Alexander

Avatar
Date: 6/30/2011


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


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

vader

Avatar
Date: 6/30/2011


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


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

Да, работаю на ММВБ
Thanks:

vader

Avatar
Date: 7/1/2011


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

Alexander

Avatar
Date: 7/1/2011


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


IsMatched \ IsCanceled
Thanks: vader
<< < 34 35 36 37 38  > >>

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

loading
clippy