Ошибки компиляции 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

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



Спасибо:


1 2 3  >
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
1 2 3  >

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

loading
clippy