Ошибки компиляции SampleHistoryTesting
Atom Ответить
28.06.2011


Решил начать изучение 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 Ответов
1 2  >
Alexander

Фотография
Дата: 28.06.2011
Ответить


Какая версия библиотеки? Свежие примеры со stocksharp.codeplex.com компилятся, только что проверил.

Какие warnings \ errors выдаются на этапе компиляции?
Спасибо: Yura

Evgeny_K

Фотография
Дата: 28.06.2011
Ответить


Alexander Перейти
Какая версия библиотеки? Свежие примеры со stocksharp.codeplex.com компилятся, только что проверил.

Какие warnings \ errors выдаются на этапе компиляции?


Версия 3.2.2. Ошибки я написал выше. Это, кажется, ошибки линковщика, а не компилятора. Думаю, мне просто надо подключить диманические библиотеки. Я их нашел даже в дистрибутиве в папке References. Просто я C# сегодня начал изучать. :) Чисто теоретически понимаю, надо открыть какой-то инспектор проекта, в нем какую-то вкладку и в ней прописать путь до этих dll-ек, чтобы линкер их подхватил. Скажите, как мне это сделать?
Автор топика
Спасибо:

Alexander

Фотография
Дата: 28.06.2011
Ответить


Evgeny_K Перейти
Alexander Перейти
Какая версия библиотеки? Свежие примеры со stocksharp.codeplex.com компилятся, только что проверил.

Какие warnings \ errors выдаются на этапе компиляции?


Версия 3.2.2. Ошибки я написал выше. Это, кажется, ошибки линковщика, а не компилятора. Думаю, мне просто надо подключить диманические библиотеки. Я их нашел даже в дистрибутиве в папке References. Просто я C# сегодня начал изучать. :) Чисто теоретически понимаю, надо открыть какой-то инспектор проекта, в нем какую-то вкладку и в ней прописать путь до этих dll-ек, чтобы линкер их подхватил. Скажите, как мне это сделать?



Попробуйте перекачать архив. Только что проверил со свежескачанным - всё компилируется из коробки, без изменений всяких.
Спасибо:

Evgeny_K

Фотография
Дата: 28.06.2011
Ответить


Что такое "все компилируется из коробки"? Вы какой файл открываете? Не могли бы вы описать как вы запускаете компиляцию?
Автор топика
Спасибо:

Alexander

Фотография
Дата: 28.06.2011
Ответить


Evgeny_K Перейти
Что такое "все компилируется из коробки"? Вы какой файл открываете? Не могли бы вы описать как вы запускаете компиляцию?


запустил StockSharp.sln, нажал правой кнопкой по проекту SampleHistoryTesting -> Rebuild.
Спасибо:

hobo

Фотография
Дата: 28.06.2011
Ответить


Evgeny_K
Да, проблема с некомпиляцией уже несколько версий тянется. Вначале у getmarketprice количество аргументов, потом логгер усложнился.
Так как вы только начали изучать, и вам нужны простые советы, измените вот что:
Код
_logger = new FileStrategyLogger("log.txt");
на
Код
_logger = new FileStrategyLogger("log.txt", true);


Код
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);

на
Код
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction, 0, MarketPriceTypes.Opposite), base.Volume);
Спасибо:

Alexander

Фотография
Дата: 28.06.2011
Ответить


hobo Перейти
Evgeny_K
Да, проблема с некомпиляцией уже несколько версий тянется. Вначале у getmarketprice количество аргументов, потом логгер усложнился.
Так как вы только начали изучать, и вам нужны простые советы, измените вот что:
Код
_logger = new FileStrategyLogger("log.txt");
на
Код
_logger = new FileStrategyLogger("log.txt", true);


Код
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction), base.Volume);

на
Код
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction, 0, MarketPriceTypes.Opposite), base.Volume);



Код
_logger = new FileStrategyLogger("log.txt");

тоже работает.
в C# 4.0 добавили поддержку: MSDN
Спасибо:

Evgeny_K

Фотография
Дата: 28.06.2011
Ответить


У меня, оказывается стоял Visual C# 2008. Он файл StockSharp.sln вообще открывать не хотел. Сейчас поставил Visual C# 2010, и проект SampleHistoryTesting успешно откомпилировался.

Правда, при открытии солюшена были какие-то сообщения об ошибках от других проектов.

Спасибо за советы, Alexandr и hobo!
Автор топика
Спасибо:

Евгений

Фотография
Дата: 16.08.2011
Ответить


Запускаю пример SampleHistoryTesting - получаю ошибку в строке

Код
_curveItems = this.Curve.CreateCurve(_strategy.Name, Colors.DarkGreen);
Версия 3.2.8, в 3.2.7 тоже самое, а вот к примеру в 3.2.5 запустился без ошибки.

Цитата:
System.MissingMethodException не обработано пользовательским кодом
Message=Метод не найден: "System.Drawing.Color Ecng.Xaml.XamlHelper.ToWin(System.Windows.Media.Color)".
Source=StockSharp.Xaml
StackTrace:
в StockSharp.Xaml.EquityCurveChart.CreateCurve(String title, Color color)
в SampleHistoryTesting.MainWindow.StartBtn_Click(Object sender, RoutedEventArgs e) в D:\S#\StockSharp_3.2.8_Sources\Samples\Testing\SampleHistoryTesting\MainWindow.xaml.cs:строка 138
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.Controls.Button.OnClick()
в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
в System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
в System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
в System.Windows.Input.InputManager.ProcessStagingArea()
в System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
в System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
InnerException:
Спасибо:

Mikhail Sukhov

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


Евгений Перейти
Запускаю пример SampleHistoryTesting - получаю ошибку в строке


Что-то мне в последнее время не везет со сборкой архива. Опять забыл выложить новую dll, о чем собственно ошибка и говорит.
Спасибо: Yura

Евгений

Фотография
Дата: 16.08.2011
Ответить


С гидрой тоже проблемы, она собирается, но при запуске выдает такую ошибку


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

Полечил тем, что вручную добавил в папку эту сборку
Спасибо:

Mikhail Sukhov

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


Евгений Перейти
С гидрой тоже проблемы, она собирается, но при запуске выдает такую ошибку


Это 3.2.8?
Спасибо:

Евгений

Фотография
Дата: 16.08.2011
Ответить


Цитата:
Это 3.2.8?


Да
Спасибо:

Mikhail Sukhov

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


Евгений Перейти
Цитата:
Это 3.2.8?


Да


Разобрался. Оказывается в студии автоматический билд версий есть... Залил на бокс нужную версию. Попробуйте.
Спасибо: Yura

Евгений

Фотография
Дата: 16.08.2011
Ответить


Mikhail Sukhov Перейти
Евгений Перейти
Цитата:
Это 3.2.8?


Да


Разобрался. Оказывается в студии автоматический билд версий есть... Залил на бокс нужную версию. Попробуйте.


Гидра собралась правильно, запустилась без ошибки. Вопрос, я запустил качать данные с предыдущей версией dll, новая на что-то влияет?

А по поводу примера SampleHistoryTesting - это из-за этой же dll проблемы? У меня также возникает ошибка
Спасибо:

Евгений

Фотография
Дата: 18.08.2011
Ответить


Запустил пример. Где-то за 15 минут он почти до конца дошел. По бару совсем чуть-чуть осталось. Ждал долго, бар так и не дошел до конца. И кнопка отчет заблокирована.
Спасибо:

Евгений

Фотография
Дата: 18.08.2011
Ответить


Поменял таймфрейм на 10 минут. Процесс вообще на месте стоит. Поставил 15 минут процесс пошел. Поставил 20 - опять на месте. В чем проблема?
Спасибо:

Yura

Фотография
Дата: 19.08.2011
Ответить


Добрый день.
запустил пример 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

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

Mikhail Sukhov

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


Yura Перейти
Добрый день.
запустил пример SimpleHistoryTrading выбрал файл из архива RIU9@RTS


Вот это меня смущает. Что вы сделали?
Спасибо: Yura

Yura

Фотография
Дата: 19.08.2011
Ответить


прошу прощения, я запускал старую версию примера.Скачал новую 3.2.9 ,от тужа же скачал и RIU9RTS. выбираю папку с тиками за 2008_12_15 , стартую , все по нулям, ни графика ни значений, отчет нажать нельзя.
Спасибо:

Yura

Фотография
Дата: 19.08.2011
Ответить


что-то вот такое получается http://saveimg.ru/show-image.ph...fd40f339276196e0874b2247
Спасибо:

Yura

Фотография
Дата: 19.08.2011
Ответить


Все точно так же как у Евгения.
Спасибо:

Yura

Фотография
Дата: 19.08.2011
Ответить


Запустил пример. Где-то за 15 минут он почти до конца дошел. По бару совсем чуть-чуть осталось. Ждал долго, бар так и не дошел до конца. И кнопка отчет заблокирована.
Спасибо:

Mikhail Sukhov

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


Yura Перейти
выбираю папку с тиками за 2008_12_15


... вот это как раз неправильно. В доке написано, какую папку нужно выбирать.
Спасибо:

Евгений

Фотография
Дата: 19.08.2011
Ответить


Mikhail Sukhov Перейти
Yura Перейти
выбираю папку с тиками за 2008_12_15


... вот это как раз неправильно. В доке написано, какую папку нужно выбирать.


А я выбирал правильно папку, согласно документация :) это уже пройденный этап :). То что не до конца доходит это я так понял ошибка в интерфейсе, потому что тестирование фактически полностью проходит.

Код
if (_trader.State == EmulationStates.Stopped)


Когда прогнаны все данные, состояние эмулятора автоматически меняется?

А вот что с таймфреймом я так и не понял. Это у меня только?

Цитата:
Поменял таймфрейм на 10 минут. Процесс вообще на месте стоит. Поставил 15 минут процесс пошел. Поставил 20 - опять на месте.

Спасибо:
1 2  >

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

loading
clippy