Решил начать изучение S# c примера SampleHistoryTesting из библиотеки. Хочу его откомпилировать, запустить на исполнение. Щелкнул 2 раза на файле \stocksharp\Sources\SampleHistoryTesting\SampleHistoryTesting.csproj. Открылся проект в среде разработки Visual C#. Выбрал из меню Debug -> Start debugging. На этапе сборки (build) появились 2 ошибки:
Error 1: No overload for method 'GetMarketPrice' takes '1' arguments File: C:\projects-data\asset_management\trading\stocksharp\Sources\SampleHistoryTesting\SmaStrategy.cs Line: 89 Column: 45 Project: SampleHistoryTesting
Error 2: 'StockSharp.Algo.Logging.FileStrategyLogger' does not contain a constructor that takes '1' arguments File: C:\projects-data\asset_management\trading\stocksharp\Sources\SampleHistoryTesting\MainWindow.xaml.cs Line: 145 Column: 14 Project: SampleHistoryTesting
Наверно библиотеку не подключил? Если "да", то как подключить? Расскажите пожалуйста, как исправить ошибки?
Комментарии (30)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Какая версия библиотеки? Свежие примеры со stocksharp.codeplex.com компилятся, только что проверил.
Какие warnings \ errors выдаются на этапе компиляции?
Версия 3.2.2. Ошибки я написал выше. Это, кажется, ошибки линковщика, а не компилятора. Думаю, мне просто надо подключить диманические библиотеки. Я их нашел даже в дистрибутиве в папке References. Просто я C# сегодня начал изучать. :) Чисто теоретически понимаю, надо открыть какой-то инспектор проекта, в нем какую-то вкладку и в ней прописать путь до этих dll-ек, чтобы линкер их подхватил. Скажите, как мне это сделать?
Попробуйте перекачать архив. Только что проверил со свежескачанным - всё компилируется из коробки, без изменений всяких.
Что такое "все компилируется из коробки"? Вы какой файл открываете? Не могли бы вы описать как вы запускаете компиляцию?
запустил StockSharp.sln, нажал правой кнопкой по проекту SampleHistoryTesting -> Rebuild.
Evgeny_K Да, проблема с некомпиляцией уже несколько версий тянется. Вначале у getmarketprice количество аргументов, потом логгер усложнился. Так как вы только начали изучать, и вам нужны простые советы, измените вот что:
на
_logger = new FileStrategyLogger("log.txt");
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);
тоже работает. в C# 4.0 добавили поддержку: MSDN
У меня, оказывается стоял Visual C# 2008. Он файл StockSharp.sln вообще открывать не хотел. Сейчас поставил Visual C# 2010, и проект SampleHistoryTesting успешно откомпилировался.
Правда, при открытии солюшена были какие-то сообщения об ошибках от других проектов.
Спасибо за советы, Alexandr и hobo!
Запускаю пример SampleHistoryTesting - получаю ошибку в строке
Что-то мне в последнее время не везет со сборкой архива. Опять забыл выложить новую dll, о чем собственно ошибка и говорит.
С гидрой тоже проблемы, она собирается, но при запуске выдает такую ошибку
RTS 19:24:50.8140227 System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "LumiSoft.Net, Version=2.0.4228.25236, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Не удается найти указанный файл. Имя файла: "LumiSoft.Net, Version=2.0.4228.25236, Culture=neutral, PublicKeyToken=null" в StockSharp.Algo.History.Rts.RtsHistorySource.GetTrades(DateTime date) в StockSharp.Hydra.Rts.RtsTradeSource.Load(Security security) в D:\S#\StockSharp_3.2.8_Sources\Hydra\Plugins\Rts\RtsTradeSource.cs:строка 170 в StockSharp.Hydra.Worker.<Download>b__f(IMarketDataSource source) в D:\S#\StockSharp_3.2.8_Sources\Hydra\Hydra\Worker.cs:строка 136
Полечил тем, что вручную добавил в папку эту сборку
Это 3.2.8?
Да
Да
Разобрался. Оказывается в студии автоматический билд версий есть... Залил на бокс нужную версию. Попробуйте.
Да
Разобрался. Оказывается в студии автоматический билд версий есть... Залил на бокс нужную версию. Попробуйте.
Гидра собралась правильно, запустилась без ошибки. Вопрос, я запустил качать данные с предыдущей версией dll, новая на что-то влияет?
А по поводу примера SampleHistoryTesting - это из-за этой же dll проблемы? У меня также возникает ошибка
Запустил пример. Где-то за 15 минут он почти до конца дошел. По бару совсем чуть-чуть осталось. Ждал долго, бар так и не дошел до конца. И кнопка отчет заблокирована.
Поменял таймфрейм на 10 минут. Процесс вообще на месте стоит. Поставил 15 минут процесс пошел. Поставил 20 - опять на месте. В чем проблема?
Добрый день. запустил пример SimpleHistoryTrading выбрал файл из архива RIU9@RTS загрузка прошла быстро. Нажимаю отчет, открывает Excel , и пишет такое: "Действительный формат открываемого файла sma.xls отличается от указываемого его расширением имени файла.Перед открытием данного файла убедитесь в том , что не поврежден и получен из надежного источника.Открыть этот файл сейчас?" Я нажимаю Да, выводит такое: "в книге "sma.xls" обнаружено содержимое ,которое не удалось прочитать .Попробовать восстановить содержимое книги?Если вы доверяете источнику книги нажмите да" Я нажимаю да , мне выводит первое сообщение, нажимаю да открывается файл но данных никаких нет. Есть названия столбцов, строк Код инструмента: RIU9 Портфель: test account Общее время работы: 00:00:01 Общее время исполнения: 00:00:00 Позиция: 0 P&L: 0 Проскальзывание: 0 Задержка: 00:00:00
Что не так?
Вот это меня смущает. Что вы сделали?
прошу прощения, я запускал старую версию примера.Скачал новую 3.2.9 ,от тужа же скачал и RIU9RTS. выбираю папку с тиками за 2008_12_15 , стартую , все по нулям, ни графика ни значений, отчет нажать нельзя.
... вот это как раз неправильно. В доке написано, какую папку нужно выбирать.
А я выбирал правильно папку, согласно документация :) это уже пройденный этап :). То что не до конца доходит это я так понял ошибка в интерфейсе, потому что тестирование фактически полностью проходит.
Когда прогнаны все данные, состояние эмулятора автоматически меняется?
А вот что с таймфреймом я так и не понял. Это у меня только?
if (_trader.State == EmulationStates.Stopped)
А вот что с таймфреймом я так и не понял. Это у меня только?
У всех. Багу нашел, буду лечить.
что-то вот такое получается http://saveimg.ru/show-image.php?id=36ca21c2fd40f339276196e0874b2247
Все точно так же как у Евгения.
Запустил пример. Где-то за 15 минут он почти до конца дошел. По бару совсем чуть-чуть осталось. Ждал долго, бар так и не дошел до конца. И кнопка отчет заблокирована.
Для украинской биржи
Пишу такое пример не работает 0 данных: Id = "histiry", Code = "UXM0", Name = "UX-6.10", MinStepSize = 5, MinStepPrice = 2, Exchange = Exchange.Test,
Все разобрался😎, и пришел к одной и той же проблеме что и у Евгения, до конца не доходит, хотя все грузится и график строится.Отчет заблочен.
Кнопку Старт нажмите еще раз