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

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


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

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


<< < 46 47 48 49 50  > >>
Alexander

Avatar
Date: 8/25/2011


l-way: Здравствуйте

Есть ли ограничение на число экспортируемых стаканов? У меня больше 7 не работает

ProcessDataError что говорит? В Квике стаканы открываются после 7го?

Thanks:

Maxim K.

Avatar
Date: 8/25/2011


Mikhail Sukhov:

Maxim K.: Возник такой вопрос: поддерживает ли библиотека транзакции,связанные с внебиржевыми заявками (NEW_NEG_DEAL и подобные) ? Если нет, то вопрос такой - на каком этапе происходит подключение TRANS2QUIK.DLL ?

http://stocksharp.com/doc/html/0b0bd6e0-7ddf-407d-9e03-a218796163af.htm То есть нужно, например, регистрировать заявку как обычную, но потом в FormatTransaction переставлять Action, ClassCode, и т.д. на нужное ? Или я не так понял ?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/25/2011


Maxim K.: То есть нужно, например, регистрировать заявку как обычную, но потом в FormatTransaction переставлять Action, ClassCode, и т.д. на нужное ? Или я не так понял ?

Да.

Thanks:

l-way

Avatar
Date: 8/25/2011


Alexander:

l-way: Здравствуйте

Есть ли ограничение на число экспортируемых стаканов? У меня больше 7 не работает

ProcessDataError что говорит? В Квике стаканы открываются после 7го?

Вылетает ArgumentException на методе QuikTrader.RegisterQuotes(security). Текст ошибки: Окно с заголовком "RSU1@RTS" не было найдено. При этом стакан в квик открывается. Запускал несколько раз. Из них пару раз ошибка сработала не после 7, а на 3 и 4 стакане. То есть дело не в ограничение.

Я RegisterQuotes запускаю в OnNewSecurities. Может быть в этом дело?

Thanks:

l-way

Avatar
Date: 8/25/2011


В квике при этом в окне сообщений появляется следующие сообщения:

"DDE сервер wrapper. Документ 'стакан[SRU1@RTS]'.Таблица 'SRU1@RTS'. Произошла ошибка: Ошибка при передаче таблицы, вывод приостановлен. Исчерпано время для обмена данными: сервер слишком перегружен."

"DDE сервер 'wrapper'.Документ 'все сделки[]'. Таблица 'Все сделки'. Произошла ошибка: Ошибка при передаче таблицы, неверные параметры."

Verifier пишет -все нормально.

Thanks:

RomSunZ

Avatar
Date: 8/25/2011


Здраствуйте. Помогите разобраться с AmCharts. Я в примере SampleCandles поменял xaml код графика, взяв его из примера SampleAlfaCandles. Далее добавил функцию в окне графика:


        public void DrawCandles(IEnumerable<Candle> candles)
        {
            _candles.AddRange(candles);
            stockChart1.DataSets[0].ItemsSource = _candles;
        }

В обработчике событий NewCandles и CandlesChanged в главном окне прописал


		private void DrawCandles1(CandleToken token, IEnumerable<Candle> candles)
		{
			this.GuiAsync(() =>
			{
				var wnd = _chartWindows.TryGetValue(token);
                                if (wnd != null)
                                wnd.DrawCandles(candles);
			});
		}

Все остальное оставил как было. После запуска экспорта и открытия графика у меня сразу отрисовывется несколько свечек (видимо которые приходят по DDE от момента вызова _chartWindows.Show() до первого вызова DrawCandles), а потом добавление новых на график не идет. События обрабатываются нормально, количество элементов в _candles увеличивается, но новые свечки на графике не появляются. Подскажите, что нужно добавить, чтобы график обновлялся с приходом новых данных?

Нашел ответ на форуме amCharts: You can manually call DataSet.ProcessDataBoundItems() method to force processing of bound data items.

Thanks:

Maxim K.

Avatar
Date: 8/26/2011


Можно ли как-нибудь средствами библиотеки получать информацию об отправленной транзакции ? Какой-нибудь аналог TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK ?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/26/2011


Maxim K.: Можно ли как-нибудь средствами библиотеки получать информацию об отправленной транзакции ? Какой-нибудь аналог TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK ?

Вы думаете в терминал Квика, где сделано процедурно. А нужно думать в терминал ООП. ITrader.OrdersChaged ITrader.OrdersFailed.

Thanks:

Maxim K.

Avatar
Date: 8/26/2011


Mikhail Sukhov:

Maxim K.: Можно ли как-нибудь средствами библиотеки получать информацию об отправленной транзакции ? Какой-нибудь аналог TRANS2QUIK_TRANSACTIONS_REPLY_CALLBACK ?

Вы думаете в терминал Квика, где сделано процедурно. А нужно думать в терминал ООП. ITrader.OrdersChaged ITrader.OrdersFailed. Просто s#, на сколько я понимаю, на данный момент не предоставляет функционала для работы с РПС. Сейчас, чтобы поставить заявку РПС, я отправляю их как обычные, в FormatTransaction отслеживаю их и меняю Action на нужное. Но дело в том, что я не знаю как получить результат транзакции - была она принята, исполнена, отвергнута или что-нибудь еще с ней случилось, а мне нужно получать эту информацию.

upd: правильно ли я понимаю, что OrdersChanged следит за таблицей "Заявки", а OrdersFailed делает как раз то что мне нужно - анализирует результат транзакции ?

Thanks:

Mikhail Sukhov

Avatar
Date: 8/26/2011


Maxim K.: Просто s#, на сколько я понимаю, на данный момент не предоставляет функционала для работы с РПС. Сейчас, чтобы поставить заявку РПС, я отправляю их как обычные, в FormatTransaction отслеживаю их и меняю Action на нужное. Но дело в том, что я не знаю как получить результат транзакции - была она принята, исполнена, отвергнута или что-нибудь еще с ней случилось, а мне нужно получать эту информацию.

Все как с обычными заявками.

Thanks: Maxim K.
<< < 46 47 48 49 50  > >>

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

loading
clippy