Ошибки компиляции SampleHistoryTesting

Ошибки компиляции SampleHistoryTesting
Atom
6/28/2011
Evgeny_K


Решил начать изучение 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

Наверно библиотеку не подключил? Если "да", то как подключить? Расскажите пожалуйста, как исправить ошибки?




Thanks:


1 2 3  >
Alexander

Avatar
Date: 6/28/2011
Reply


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

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

Thanks: Yura

Evgeny_K

Avatar
Date: 6/28/2011
Reply


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

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

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

Thanks:

Alexander

Avatar
Date: 6/28/2011
Reply


Evgeny_K:

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

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

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

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

Thanks:

Evgeny_K

Avatar
Date: 6/28/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 6/28/2011
Reply


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

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

Thanks:

hobo

Avatar
Date: 6/28/2011
Reply


Evgeny_K Да, проблема с некомпиляцией уже несколько версий тянется. Вначале у getmarketprice количество аргументов, потом логгер усложнился. Так как вы только начали изучать, и вам нужны простые советы, измените вот что:

_logger = new FileStrategyLogger("log.txt");
```на 
```csharp
_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);
Thanks:

Alexander

Avatar
Date: 6/28/2011
Reply


hobo: Evgeny_K Да, проблема с некомпиляцией уже несколько версий тянется. Вначале у getmarketprice количество аргументов, потом логгер усложнился. Так как вы только начали изучать, и вам нужны простые советы, измените вот что:

_logger = new FileStrategyLogger("log.txt");

> ```csharp
_logger = new FileStrategyLogger("log.txt", true);

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

> на
> ```csharp
var order = base.CreateOrder(direction, base.Security.GetMarketPrice(direction, 0, MarketPriceTypes.Opposite), base.Volume);
_logger = new FileStrategyLogger("log.txt");

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

Thanks:

Evgeny_K

Avatar
Date: 6/28/2011
Reply


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

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

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

Thanks:

Евгений

Avatar
Date: 8/16/2011
Reply


Запускаю пример 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:
Thanks:

Mikhail Sukhov

Avatar
Date: 8/16/2011
Reply


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

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

Thanks: Yura
1 2 3  >

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

loading
clippy