Вопросы новичка в 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