Добрый день, заинтересовала ваша программа. Сам я не программист, хоть раньше и приходилось писать программы по работе, сейчас я выпал из темы. Подскажите пожалуйста, что нужно установить на компе, чтобы запустить S#? Framework 3.5, MS Visual C++ 2005 Redistributable установлено. Но в папке Sample файл MainWindow.xaml не запускается. Как я понимаю Visual Studio 2008 необходимо для написания программ, компилирования, но не является необходимой для их запуска? Может я что- то не так делаю?
コメント (29)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
VS - это среда разработки. На ней пишется программа, и далее эта программа живет самостоятельно.
Да, нужна VS 2008. Можно использовать и 2005 но нужно аддоны устанавливать.
При запуске Ecng.Trading в VS 2008 выскакивает сообщение: "Не удается найти поставщика системы управления версиями, связанного с решением. Проекты будут считаться не подлежащими контролю версий.
Выполнить безвозвратное удаление привязок системы управления версиями из проектов?"
После чего, например, кнопка Путь у Quik (FindPath) не активна. Заранее спасибо
Посмотрите сюдаhttp://groups.google.com/group/stocksharp/t/52b3b49af72b5ee9
Здесь убрано сообщение о поставщике версий. Насчет неактивной кнопки, не совсем понял. Какой именно пример запускаете?
При подключении к квику выскакивает ошибка: Ecng.Trading.Quik.ApiException: Код ошибки Failed Сообщение Connection failed at step 3, error message was "Current version of library is not supported by Quik"
какая версия квика?
5.14.0.96
Или может каким-то образом надо библиотеку объявлять?
в квике 5.15 переписали длл и из-за этого может быть глюк, надо обновится
Да я бы рад обновиться, но у моего брокера на сервере именно эта версия квика. Может выложите dll-ку для 5.14-ого квика?
можно обновить квик в ручнуюhttp://quik.ru/user/download/quik/5.16/#v5.16
можно подсунуть древнюю дллhttp://quik.ru/depot/Trans2QuikAPI.rar, но думаю что появятся глюки в другом месте
Старая ДЛЛ-ка не пошла - пишет ошибку не может найти точку входа. На сайте квика в разделе ответы на вопросы пишется:
Установил дистрибутив новой версии, а он не соединяется с сервером брокера с ошибкой "Wrong protocol version". В чем причина? Такая диагностика возникает в случае, когда версия рабочего места клиента новее, чем версия сервера. Сервер QUIK поддерживает работу ранее выпущенных версий клиентского места, но более новые версии терминалов могут содержать изменения в протоколе обмена данными и быть несовместимы со <<старым>> сервером. Поэтому рекомендуется устанавливать новую версию клиентского терминала после обновления версии сервера.
мдя... засада откатывать версию СтокШарпа ниже 1,6http://stockmarketdotnet.blogspot.com/2010/01/stock-16.html
либо отваливать от такого брокера :) хотя можно поиграть с демо- версией другого брокера, пока этот обновится... а можно позвонить технарям и сказать "сделал мегаскоростного супербота, а у вас квик старый, придется уходить :("
а что значит в окне сообщений квика следующее: Can't accept client requests. Maximum concurrent connections number is exceeded.
ни разу не видел, но я бы поиск начал с этогоhttp://quik.ru/forum/search/
Значит, есть где-то робот, который тоже в данный момент подключен к квику. а у него ограничение, одна длл - одно подключение.
И не говорите. Самое обидное что от перехода не поменялось ровным счетом ничего (ну может стабильность)... Дык может брокер и перешел уже? Сейчас 5.16, а новая длл работает с 5.15. Но совсем новую только не нужно менять... Кстати, а что так брокер тормозит? Нехорошо.
Да, есть но это простой, не использующий АПИ. Путем записи сигналов в файл (квик потом этот файл читает). Это сообщение выскочило когда я собрал и запустил ехе-шник 1.5 версии. Ладно, попробую тот робот временно отключить
О, прогресс!!!! По крайней мере экспорт DDE запустился и другие таблицы начали открываться (портфолио, мои сделки и т.д.) Как экспорт пойдет в понедельник в боевых условиях посмотрим. Сегодня воскресенье.
Тогда следующий вопрос, а как сделать одновременно работающих двух роботов? Один ваш, а другой старый ещё дедовским способом (через чтение/запись в файл).
Квиковцы говорят что достаточно переименовать длл (что-то типа trans2quik2.dll). Только вот проблема в том, что у S# это делать нельзя, он четко заточен на стандартное имя... Можете поменять в своих исходникам название dll?
Добрый день, не стал создавать новую тему, возникли проблемы с подключением ваших примеров (как уже скомпилированных, так и при отладке сорса) к терминалу. Возникает одинаковая ошибка "Код ошибки QuikTerminalNotFound Сообщение Not found QUIK terminal in directory 'C:\Program Files\Quik_open'." Квик версии 5.15.0.69 демосчет у брокера "Открытие". Экзешник квипа лежит в папке, которую я указывал как путь. Счет (на всякий случай, вдруг демосчета не поддерживаются) пишу находящийся в таблице (Торговля->Фьючерсы->Ограничения по клиентским счетам) - "SPBFUT00291" info.wnd в квипе загрузил, хотя думаю что это никак к подключению к терминалу не относится. Так что только на вас надежда )
Включить внешние транзакции не забыли в Квике?
Да именно это и забыл, спасибо все заработало ))
Добрый день, экспорт идёт. Sample работает, с её помощью заявки выставляю, снимаю. SampleCandles тоже рисует свечки. А вот с SampleSMA проблемы. Сначала всё нормально: подключаюсь, запускаю экспорт DDE, нажимаю старт, появляется статус runned. Но при этом в окне графика ничего не рисуется. Затем, через некоторое время (по-моему 5 мин, так как такой таймфрейм), статус оказывается Stopped и выскакивает ошибка: System.ArgumentNullException:Значение не может быть неопределенным. Имя параметра: candle в SampleSMA.Sma.Add(TimeFrameCandle candle) в Sma.cs: строка 47 в SampleSMA.SmaTask.OnProcess() в SmaTask.cs:строка 62 Ошибка где-то в методе GetTimeFrameCandle, но как её исправить? Заранее спасибо Да, на всякий случай, версия Ecng 1.5 (хоть скорей всего не в этом дело)
Сделки идут в таблице "Все сделки " по фьючам RTS, LKOH, Si, SBRF, GAZR-3.10 Вывод через DDE сервер из этой таблицы идет.
Я имел ввиду, действительно ли есть дырка в данных... Смотрите, судя по Вашему логу ошибки, происошла она на этих строчках:
// получаем сформированную свечку var candle = _candleManager.GetTimeFrameCandle(base.Security, base.Interval, _nextTime - base.Interval); _nextTime += base.Interval;
// добавляем новую свечку this.LongSma.Add(candle); this.ShortSma.Add(candle);
Говорит о том, что в какой то момент не было следок для Вашего тайм фрейма вообще. Чтобы это проверить, вставтье код проверки:
var candle = _candleManager.GetTimeFrameCandle(base.Security, base.Interval, _nextTime - base.Interval);
if (candle == null) throw new InvalidOperationException("Для временной отметки {0} по инструменту {1} нет свечки для тайм-фрейма {2}", _nextTime - base.Interval, base.Security.Code, base.Interval);
Спасибо за ответ, добавил в SmaTask две строки, стало так: var candle = _candleManager.GetTimeFrameCandle(base.Security, base.Interval, _nextTime - base.Interval);
if (candle == null) throw new InvalidOperationException("Для временной отметки {0} по инструменту {1} нет свечки для тайм-фрейма {2}"); Так как пишет у оператора InvalidOperationException не может быть 4 параметров и программа не компилируется. После этого, по истечении 5 минут программа вообще вылетает, а в квике в строке сообщений появляется сообщение: DDE server 'wrapper'. Документ 'security'. Таблица 'Инструменты'. Произошла ошибка: Ошибка при передаче таблицы, вывод приостановлен. Переполнена очередь сообщений.
throw new InvalidOperationException("Для временной отметки {0} по инструменту {1} нет свечки для тайм-фрейма {2}".Put(_nextTime - base.Interval, base.Security.Code, base.Interval));
И, мне кажется, лучше начать с учебника по C#, который я указал в документации.
Уф, разобрался с SampleSMA, всё пошло. Проблема была в прилагаемом wnd файле. Он чуть отличается от того что написано в документации по настройке квик. В таблице Инструменты две колонки "Время последнего изменения" и "Время последней сделки" надо было поменять местами.