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


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

Теги:


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


<< < 34 35 36 37 38  > >>
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
<< < 34 35 36 37 38  > >>

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

loading
clippy