Добрейшего всем! Прошу прощения за дилетантские вопросы, помогите разобраться, пожалуйста.
Михаил, а почему Verifier ругается при проверке таблиц: "в таблице "инструменты" по ондексу 4 должна быть строка "Статус". Там и ведь и стоит строка "Статус", это ее краткое наименование. Полное наименование в Квике "Статус торговли инстументом".
Из-за этого свечи могут не строиться в SampleCandles?
И ошибка выдается "Не задана ссылка на объект" при попытке получить отчет в SampleSMA.
コメント (29)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
Такие ошибки стоит пропускать мимо, потому что Verifier не знает все тонкости названий.
Нет не влиляет. Приведите полный текст ошибки. И версию S#.
Ага, спасибо, с этим понял!
В версии 2.3 и 2.2.1 проявляется. Другие версии я не использовал, вот только ваш проект решил попробовать. Куда можно скриншот ошбики прислать? Много там букв очень.
Вы скриншот или текст? В группу в раздел Файлы, если картинка... Но лучше будет текст.
Михаил, я новичок в компах, всего 20 лет с ними, и пока для меня сложновато такой текст набрать, А скопипэйстить его не получилось. Так что залил картинку -. Link_Object.jpg называется.
Ок, понятно что эта ошибка никакого отношения к свечкам не имеет... Эта ошибка говорит о том, что стратегия еще не создана. Я думаю будет правильнее начать с примеров по C#. Язык просто, популярный, перспективный (в трейдинге уж точно). Потому как ошибки в примере находить - это некий входящий барьер для пользования S#.
Ну, да, наверное так и есть. Стараюсь, не все пока получается, но двигаюсь потихоньку. Только вот, я же запускаю екзешник из вами созданной стратегии. Папка SampleSMA из EXE каталога. Другие примеры ведь запускаются, и работают, не все правда....
Какие примеры не работают?
SampleSMA - ошибка: про которую написал. SampleCandles - ошибок не выдает никаких, свечей тоже не рисует, график чист.
А экспорт запустили?
Экспорт внешних транзакций? Если это, то да, включен, конечно. Sample ведь работает нормально, да и SampleConsole без вопросов. Я чего-то где-то не так делаю, но так слабо понимаю где это нет так, что не понимаю, что именно там не так...
Нет, экспорт данные. Тот что идет по ДДЕ. Там кнопка такая должна быть на форме.
Ага, экспорт по DDE запускается, как с помощью кнопки, так и в ручном режиме. Ошибок не выдает. Кнопки "Отменить заявки" и "Старт" не активны, никаких свечек на графике тоже не рисуется.
Просто нажимаете Ctrl+C в активном окне. Выделять ничего не надо, просто жмите Ctrl+C и вставляйте куда вам надо.
Точно, не знал: спасибо! вот уж, правда век живи, век учись.
Прощу прощения, чтоб не создавать новую тему, скажите: что сюда писать: _micex = portfolios.First(p => p.Name.Contains("NL"));
portfolios.First - номер первого портфеля? первого аккаунта? NL - что такое? номер счета?
как только уже не пробовал, не выходит каменный цветок.
Ответ в этой ветке:
http://groups.google.ru/group/stocksharp/browse_frm/thread/f51e0f6320...
Это фильтр по счету, Вы его должны изменить под себя First - это значит первый экземпляр из коллекции, удовлетворяющей указанному фильтру
О, спасибо. Только вот ссылка на ветку не открывается.
Поищите в группе по тексту "NL"
Вот в том-то и дело, что поиск - это первое, что я сделал. Символы NL - вроде как есть на демо-квике, насколько я из описания понял. Циферки от реального счета фортс у меня не подошли, а micex у меня нет. Уже все комбинации вроде перепробовал, не одной не угадал.
В примере ищется первый попавшийся портфель для мамбы. Если у Вас нет этого счета, используйте просто другой. Зачем что-то подбирать?
Михаил, тут не то, чтобы подбирать или не подбирать, я уже не понимаю, что именно туда нужно поставить.
Вот, смотрите: в моем примере у меня счета на ммвб нет, но есть фортс. Соответственно строку _micex = portfolios.First(p => p.Name.Contains("NL")); я поменял на _forts = portfolios.First(p => p.Name.Contains("SPBFUT2344a")); где SPBFUT2344a - мой аккаунт на бирже. При прверке выдается ошибка "Последовательность не содержит соответствующий элемент" с указанием на эту строчку.
Вот что в этом не правильно? или где не правильно?
string.Contains - ищет строку в строке. Такой поиск нужен для того, когда точно неизвестно название. У Вас счет точный - используйте простое равенство:
_forts = portfolios.First(p => p.Name == "SPBFUT2344a");
Это первое. Второе, а что приходит в коллекцию portfolios? Посмотрите под отладчиком? Может там просто с буквой ошибка?
Михаил, видимо второе. после подстановки строки с конкретным номером счета проблема не решилась. Отладчик пишет вот это:
System.Reflection.MethodAttributes.FamANDAssem | System.Reflection.MethodAttributes.Family | System.Reflection.MethodAttributes.Static | System.Reflection.MethodAttributes.HideBySig
в System.Linq.Enumerable.First[TSource](IEnumerable
1 source, Func2 predicate) в SampleSMA.MainWindow.<Connect_Click>b__2(IEnumerable1 portfolios) в C:\Documents and Settings\Admin\Рабочий стол\S#\Sources \SampleSMA\MainWindow.xaml.cs:строка 114 в System.Action1.Invoke(T obj) в Ecng.Common.DelegateHelper.SafeInvoke(Action1 handler, T arg) в Ecng.Trading.BusinessEntities.BaseTrader.EventsContainer2.Raise(T item)Я имед ввиду несколько другое. Просто поставить точку прерывания и посмотреть, что находится в самой переменной. Какие там портфели.
Красота, вы - гений! простите, не в силах сдержать эмоции. Уже две недели не могу разобраться с .NET , сижу и гляжу на все это как баран на новые ворота.
короче, теперь по делу: поставил точку прерывания, - графики загрузились, кнопки активировались, сейчас буду разбираться с портфелями. Правда, как их смотреть, я пока не понимаю :)
Наводите мышкой на переменную. Всплывает посказка. Или выделяете переменную и нажимаете Ctrl+Alt+Q
Странно, а почему выдает что "ClientCode = "XXX"" Это нормально, или где-то его нужно прописать?
http://stocksharp.com/doc/help/html/P_Ecng_Trading_Quik_QuikTrader_ClientCode.htm
Нужен или нет зависит от рынка и брокера.
ага, спасибо!
ладно, сейчас нужно переварить все вышесказанное. попробую запустить.