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


ttt

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

Теги:


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




506 Ответов
<< < 12 13 14 15 16  > >>
Alexander

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


Yura Перейти
Здравствуйте.
Данные для тестирования на истории должны быть заранее скачаны и сохранены в специальном S# формате.
Что это за формат, я не могу разобраться как преобразовать в этот формат..хэлп.


Посмотрите на работу Hydra и на работу SampleHistoryTesting. Все исходники идут со Stock#
Спасибо:

Roman0

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


Пожалуйста, подскажите как надежно определить, что все сделки из таблицы всех сделок получены и пошли актуальные данные, если подключиться через какое-то время после начала торгов. Наверное можно получить Security.LastTrade.Time и потом сравнивать с СandleManager.Source.Trades.Last().Time в CandlesChanged и т.д., но может быть есть какие-то еще способы? Спасибо!
Спасибо:

Yura

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


Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 22.05.2011


Yura Перейти
Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!


Версия последняя?
Спасибо: Yura

Yura

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


Mikhail Sukhov Перейти
Yura Перейти
Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!


Версия последняя?

скачал 3.1.9 и все заработало, Excel файл открывается.спасибо BigGrin буду разбираться теперь с S# форматом.
Спасибо:

Yura

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


Sad Запустил SQL Server Menegement Studio Express скрипт trading вижу но запустить не могу, имя сервера нужно использовать 127.0.0.1 ? или как? Crying
Спасибо:

Yura

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


Yura Перейти
Sad Запустил SQL Server Menegement Studio Express скрипт trading вижу но запустить не могу, имя сервера нужно использовать 127.0.0.1 ? или как? Crying
к локал хосту конектится или как подскажите
Спасибо:

aspirant

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


Yura Перейти
Yura Перейти
Sad Запустил SQL Server Menegement Studio Express скрипт trading вижу но запустить не могу, имя сервера нужно использовать 127.0.0.1 ? или как? Crying
к локал хосту конектится или как подскажите


вбейте localhost или (local) или . (просто точку).
Спасибо:

aspirant

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


aspirant Перейти
Yura Перейти
Yura Перейти
Sad Запустил SQL Server Menegement Studio Express скрипт trading вижу но запустить не могу, имя сервера нужно использовать 127.0.0.1 ? или как? Crying
к локал хосту конектится или как подскажите


вбейте localhost или (local) или . (просто точку).


Поспешил, если у вас стоит sqlexpress, нужно набирать localhost\sqlexpress.
Спасибо:

Yura

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


aspirant Перейти
Yura Перейти
Yura Перейти
Sad Запустил SQL Server Menegement Studio Express скрипт trading вижу но запустить не могу, имя сервера нужно использовать 127.0.0.1 ? или как? Crying
к локал хосту конектится или как подскажите


вбейте localhost или (local) или . (просто точку).

писал по всякому..не конектится=( пишет что "не удается открыть соединение с SQL Server".
Спасибо:

esper

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


Версия SQL Server-а какая? Может быть <имя компьютера>\SQLEXPRESS2008
Спасибо:

aspirant

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


В сервисах (Administrative Tools / Services) найдите SQL Server (ХХХ) и посмотрите, запущен ли он. Статус должен быть Started. Какое название указано в скобках?
Спасибо:

Daenur

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


Какой-то медленный старт/стоп вывода по DDE...
Сделал простенький GUI на основе примеров, правлю потихоньку код. Каждый раз для проверки необходимо соединяться с КВИКом (происходит быстро) и начинать вывод по DDE (происходит очень медленно). Потом при закрытии программы происходит остановка вывода по DDE, тоже медленно. На все это бОльшая часть времени тратится. Можно как-то ускорить или это фича?
Спасибо:

l-way

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


Здравствуйте

Помогите разобраться. Использую следующий код в обработчике стратегии OnProcess:

var candlesEnum = TraderHelper.GetTimeFrameCandles(p_candleManager, Security, timeFrame, new Range<DateTime>(startCandleTime, endCandleTime));

List<TimeFrameCandle> candles = candlesEnum.ToList<TimeFrameCandle>();

На второй строке при выполнении ToList периодически вылетает ошибка "Collection was modified during an enumeration."

Подозреваю, что во время выполнения ToList происходит добавление новой свечи в другом потоке, в результате возникает ошибка. Но разве GetTimeFrameCandles возвращает не копию исходной коллекции?

Как можно побороть проблему, т.е. синхронизировать коллекцию?
Спасибо:

Stanislav121

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


Как совершить сделку Short?
В примере SampleConsole поменял Direction = OrderDirections.Buy на Direction = OrderDirections.Sell,
Но это лишь привело к завершению работы робота.
Пока что у меня получлось продать, лишь, когда что-нибудь куплено.
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 03.06.2011


l-way Перейти

var candlesEnum = TraderHelper.GetTimeFrameCandles(p_candleManager, Security, timeFrame, new Range<DateTime>(startCandleTime, endCandleTime));

List<TimeFrameCandle> candles = candlesEnum.ToList<TimeFrameCandle>();

На второй строке при выполнении ToList периодически вылетает ошибка "Collection was modified during an enumeration."


Есть такая проблема, сами напоролись. Фикс будет уже в 3.2, надеюсь на следующей неделе.
Спасибо:

l-way

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


Mikhail Sukhov Перейти


Есть такая проблема, сами напоролись. Фикс будет уже в 3.2, надеюсь на следующей неделе.


Спасибо за ответ. Буду ждать
Спасибо:

Jeta

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


Разбираюсь со своим видоизмененным примером под SimpleConsol. Фьючерсы.
Получаю :

Код

var order = new Order
{
Portfolio = _portfolio,
Price = _srm1.ShrinkPrice(_srm1.BestAsk.Price - delta, ShrinkRules.Auto),
Security = _srm1,
Volume = 1,
Direction = OrderDirections.Sell,
};
trader.RegisterOrder(order); /// Это строка 197
Console.WriteLine("Заявка {0} зарегистрирована.", order.Id);



Что я сделал не так?
Спасибо:

esper

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


Где получаете _portfolio?
Спасибо:

Jeta

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


все как в примере SimpleConsole
Спасибо:

esper

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


Jeta Перейти
все как в примере SimpleConsole

у вас на консоли есть сообщение, что найден инструмент и стакан, а то, что найден портфель - нет, может в этом дело?
Спасибо: Jeta

Jeta

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


Да, действительно сообщения нет, буду разбираться
Спасибо:

Jeta

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


Спасибо, разобрался. Причина была в том что вывод по Dde портфеля был неправильно настроен. Прочитал доку на сайте, разобрался....
Есть еще вопрос:
Отчего зависит то, что программа то работает (подключается, запускается вывод по Dde и выставляются заявки), то не работает (последнее сообщение, которое выводится, что портфель "такой-то" появился...??? (программа на основе SimpleConsole)
Спасибо:

esper

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


Jeta Перейти
Есть еще вопрос:
Отчего зависит то, что программа то работает (подключается, запускается вывод по Dde и выставляются заявки), то не работает (последнее сообщение, которое выводится, что портфель "такой-то" появился...??? (программа на основе SimpleConsole)

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

Stanislav121

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


Открыл пример SampleSMA, версия 3.1.10
Выдает ошибку при сборке в классе SmaStrategy , метод StrategyProcessResults.
ни одна из перегрузок метода GetMarketPrice не принимает 1 аргумет.
Почитал докуметацию , сделал вызов этого метода GetMarketPrice метод (Security, OrderDirections, Unit, MarketPriceTypes)
Ошибка - ни одна из перегрузок метода GetMarketPrice не принимает 4 аргумета.
Спасибо:
<< < 12 13 14 15 16  > >>

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

loading
clippy