Привет Всем!
В этой теме мы будем размещать логи чата активной Техподдержки в Телеграм.
Активная Техподдержка - это услуга, которая доступна всем пользователям платформы StockSharp и предназначена для тех, кто хочет быстро решить возникший вопрос или найти ошибку в собственном роботе. Наши специалисты разберут ситуацию и помогут найти оптимальное решение.
Услугу активной Техподдержки можно получить в подарок вместе с Полным или Расширенным курсом обучения либо приобрести отдельно.
Для покупателей курса, даже после истечения вашего срока Техподдержки, логи чата остаются доступны в нашей группе обучения.
По всем вопросам приобретения обучающих курсов либо активной Техподдержки обращайтесь в
Скайп: AlgoTradingRus E-mail: lesson@stocksharp.com
Comentários (100)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
Активная техподдержка 26 ноября 2014 года.
Денис (rtDen) , [26.11.14 07:43] Добрый день! QuikLua. Всплыл очень неприятный баг, не пришла одна моя в сделка в событие NewMyTrades. Первый раз такое случилось в прошлую пятницу, воторой раз вчера. Перезапуск робота не помог, опять пришли все сделки кроме одной. Помог перезапуск квика. Сегодня буду попробовать воспроизвести баг с включенными S#-логами (пока есть только мои логи, но думаю они мало информативны в этом вопросе). Кто-нибудь сталкивался с таким? Для текущей архитектуры моего робота это очень неприятный, прямо-таки критичный баг. Хотелось бы разобраться с этим как можно быстрее. quik 6.15.2.9 s# 4.2.35
Денис (rtDen) , [26.11.14 10:38] Прроблема воспроизвелась
Денис (rtDen) , [26.11.14 10:38] собрал логи
Денис (rtDen) , [26.11.14 10:38] готов отправить
Yury Basangov, [26.11.14 10:52] Денис, можете выложить прямо сюда.
Yury Basangov, [26.11.14 10:52] Там же нет секретной информации?
Денис (rtDen) , [26.11.14 10:53] Дополнение, сделки не было не только в NewMyTrades но и в Connector.MyTrades
Денис (rtDen) , [26.11.14 10:53] там есть номера счетов
Денис (rtDen) , [26.11.14 10:53] ну в принципе не думаю, что это сильно секретная информация..
Денис (rtDen) , [26.11.14 10:54] [bug_log.zip] // файл логов не выкладываем.
Mikhail , [26.11.14 14:04] а не пришли все сделки? или какая то конкретная?
Денис (rtDen) , [26.11.14 14:05] какая то-то конкретная
Mikhail , [26.11.14 14:08] log2014_11_26_12_20.txt - какая здесь не пришла?
Денис (rtDen) , [26.11.14 14:11] хм... а я вот не записал номера тех, которые не пришли
Денис (rtDen) , [26.11.14 14:11] просто смотрел, что в роботе их 6, а в квике 8
Mikhail , [26.11.14 14:21] можете сказать какие не пришли?
Mikhail , [26.11.14 14:22] хотя вроде и так видно
Денис (rtDen) , [26.11.14 14:23] нет, не могу, не вижу в логах какие пришли а какие нет
Денис (rtDen) , [26.11.14 14:23] если нужно, могу воспроизвести еще раз
Денис (rtDen) , [26.11.14 14:23] и новые логи прислать
Денис (rtDen) , [26.11.14 14:24] повторю, что не пришло 2 сделки из 8ми, после перезапуска квика появились все
Mikhail , [26.11.14 15:12] без дебага не понять. когда в луа включили дебаг то ошибки уже не было
Денис (rtDen) , [26.11.14 15:14] ясно, я сейчас посовершал сделки, пока воспроизвести баг не получается, буду пробовать еще
Денис (rtDen) , [26.11.14 15:14] дебаг включен
Денис (rtDen) , [26.11.14 15:56] По закону подлости при включеном дебаге баг не воспроизводится... под сотню сделок уже наделал
Денис (rtDen) , [26.11.14 15:56] продолжу завтра
Активная техподдержка 27 ноября 2014 года.
Денис (rtDen) , [27.11.14 14:04] [logs.ZIP]
Денис (rtDen) , [27.11.14 14:04] Михаил, вот лог, одна сделка пришла, вторая - нет
Mikhail , [27.11.14 15:28] спасибо. вроде бы определили проблему
Денис (rtDen) , [27.11.14 15:30] отлично
Денис (rtDen) , [27.11.14 15:30] спасибо за оперативность
Новый релиз S#.API с пофикшенным багом: http://stocksharp.com/posts/m/32185/
Активная техподдержка 29 ноября 2014
Александр Игнатенко, [29.11.14 14:39] почему-то не отрабатывает правило WhenCandlesFinished в стратегии (тестирование на исторических данных). При этом в основной программе график со свечками отрисовывается. Что может быть?
Александр Игнатенко, [29.11.14 14:39] код переопределения события:
Александр Игнатенко, [29.11.14 14:39] protected override void OnStarted() { CancelOrdersWhenStopping = false;
//Подписываемся на правило события окончания cвечей _candleSeries.WhenCandlesFinished() .Do(ProcessCandle) .Apply(this);
this.WhenPnLLess(new Unit(5M, UnitTypes.Percent)). Do(() => { if (IsDebug) return;
if (Position != 0) { Sides direction = Position.GetDirection().GetValueOrDefault().Invert(); var order = this.CreateOrder(direction, Security.BestAsk.Price*(1 + PercentOffsetAtr*(direction == Sides.Sell ? -1 : 1)));
RegisterOrder(order); }
Stop(); }).Once().Apply(this);
//Вызываем базовый метод base.OnStarted(); }
Mikhail , [29.11.14 15:02] А график рисуется из события?
Александр Игнатенко, [29.11.14 15:03] в смысле трейды? не рисует. сейчас зале в лог увидел такую ошибку:
Александр Игнатенко, [29.11.14 15:03] 2014/09/17 11:05:00.000|Error |TCS_RIZ4@FORTS_test account|System.MissingMethodException: Метод не найден: "System.DateTime StockSharp.BusinessEntities.Order.get_LastChangeTime()". в IamRobot4.MyStrategy.TwoCandlesStrategy.ProcessCandle(Candle candle) в StockSharp.Algo.MarketRule
2.#=qtVMXOXyFjjKN5pMiWSoWzraQy5hxmszCBudcGYUdYiI=() в StockSharp.Algo.MarketRuleHelper.ActiveRule(IMarketRuleContainer container, IMarketRule rule, Func1 process) в StockSharp.Algo.Strategies.Strategy.#=qHcmZ6fiTw8lVKDdF0lDQXxss5YO0A7DJYs49mRlWApLunAYPmsdDibb9tI88DnrCyVyng150NodiMeZA4AhJGw==(IMarketRule #=q4eWnlgsuN4TIqyzzbx4$2A==, Func`1 #=q89VeOgQGv4uObVtn5kCiTA==)Александр Игнатенко, [29.11.14 15:04] хочу перезалить API, дальше буду разбираться с LastChangeTime
Александр Игнатенко, [29.11.14 15:05] или может подскажешь как лучше достать время создания (или изменения) ордера
Mikhail , [29.11.14 16:16] Часть сборок одной версии часть другой
Mikhail , [29.11.14 16:17] Обновите референсы все единой версией какой то одной
Александр Игнатенко, [29.11.14 18:54] ок, помогло, спасибо
Активная техподдержка 02 декабря 2014 г.
Александр Игнатенко, [30.11.14 09:50] GetAveragePrice() выдает 0 в правиле order.WhenMatched().Do(o => decimal avgPrice = o.GetAveragePrice()). Это ошибка или нет? тестирую робота на исторических данных
Mikhail , [02.12.14 08:51] нет. сделки приходят позднее
Александр Игнатенко, [02.12.14 15:40] а как можно получить цену активации stoplossstrategy? необходимо для сравнения с текущей ценой и дальнейшим переносом в безубыток
Mikhail , [02.12.14 17:50] цену активации или цену сделок? если последнее, то подписаться на событие NewMyTrades и ждать все сделки.
Mikhail , [02.12.14 17:50] если первое, то там есть свойство такое - ActivationPrice
Александр Игнатенко, [02.12.14 18:16] я имею ввиду цену активации. сегодня утром пробовал его использовать, но оно было равно 0. это из-за того, что не пришли сделки в стратегию?
Александр Игнатенко, [02.12.14 23:55] Подскажите плиз, как исправить следующую ошибку:
Александр Игнатенко, [02.12.14 23:55] 2014/09/24 14:25:00.000| |SLS_RIZ4@FORTS_test account|Стратегия запущена. [0,1]. Позиция 0. 2014/09/24 14:25:00.000| |SLS_RIZ4@FORTS_test account|Защита позиции Buy/117385,00 с объемом 2. Уровень=160, Скользящий=False, Маркет-заявки=False, Котирование=False, Проскальзывание=0 2014/09/24 14:25:00.000| |HistoryEmulationConnector|Инструмент RIZ4@FORTS зарегистрирован на получение рыночных данных для Trades. 2014/09/24 14:25:00.000| |SLS_RIZ4@FORTS_test account|Котирование на Sell объема 2. 2014/09/24 14:25:00.000| |HistoryEmulationConnector|Инструмент RIZ4@FORTS зарегистрирован на получение рыночных данных для MarketDepth. 2014/09/24 23:45:02.000| |Эмулятор |Loading 25.09.2014 0:00:00 Events: 505732 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Защита активирована. Закрытие позиции по 71180. 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Цена текущей NULL и лучшей 71180. 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Лучший бид 117220,00 и лучший аск 117240,00. 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Регистрация новой Limit (0x247FF1F) заявки на Sell с ценой 71180 и объемом 1. 2014/09/25 18:55:58.000| |HistoryEmulationConnector|RegisterOrder: 0/ Продажа Цена=71180 Объем=1 Сост=None Бал=0 2014/09/25 18:55:58.000| |HistoryEmulationConnector|New order: 6/ Продажа Цена=71180 Объем=1 Сост=Pending Бал=1 2014/12/02 23:38:05.976| |#=qhaDw3u2OKwPRZ4GTeEcYhloszQZeybELWSJLOr8_KqA=|Заявка 6 не зарегистрирована. Причина 'Сейчас эта сессия не идет.'. 2014/09/25 18:55:58.000|Error |HistoryEmulationConnector|OrderFailed 6/ Продажа Цена=71180 Объем=1 Сост=Failed Бал=1 System.InvalidOperationException: Сейчас эта сессия не идет. 2014/09/25 18:55:58.000|Error |TCS_RIZ4@FORTS_test account|Заявка 6 (0x247FF1F) не была зарегистрирована по причине 'Сейчас эта сессия не идет.'. 2014/09/25 18:55:58.000|Error |SLS_RIZ4@FORTS_test account|Заявка 6 (0x247FF1F) не была зарегистрирована по причине 'Сейчас эта сессия не идет.'. 2014/09/25 18:55:58.000|Error |SLS_RIZ4@FORTS_test account|Заявка 6 (0x247FF1F) не была зарегистрирована по причине 'Сейчас эта сессия не идет.'. 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Текущее кол-во ошибок 1. Максимальное 100. 2014/09/25 18:55:58.000| |SLS_RIZ4@FORTS_test account|Заявка 6 (0x247FF1F) больше не активна.
Активная техподдержка 03 декабря 2014 г.
Mikhail , [03.12.14 11:28] а где ошибка? не понял вопроса
Александр Игнатенко, [03.12.14 11:35] 2014/09/25 18:55:58.000|Error |TCS_RIZ4@FORTS_test account|Заявка 6 (0x247FF1F) не была зарегистрирована по причине 'Сейчас эта сессия не идет.'
Александр Игнатенко, [03.12.14 11:36] стратегия stoploss не срабатывает, выдает эту ошибку, позиции остаются открытыми (тестирую на исторических данных)
Александр Игнатенко, [03.12.14 16:52] Коллеги, может нужна еще какая-нибудь информация ао ошибке, скажите, я пришлю
Mikhail , [03.12.14 17:00] Так правильно же пишет
Mikhail , [03.12.14 17:00] Сессия то не круглосуточная
Александр Игнатенко, [03.12.14 17:13] Ее можно расширить на несколько дней?
Mikhail , [03.12.14 17:15] Рис работает до 18 45
Mikhail , [03.12.14 17:15] Нет торгов в 18 55
Александр Игнатенко, [03.12.14 17:23] И еще один вопрос. После включения stoplossstrategy в дочерние стратегии, ActivePrice у меня выдает null и isActivated = false. Если это корректно, то можно как-нибудь получить цену активации stoploss стратегии?
Mikhail , [03.12.14 18:04] включение стратегии и активация стопа - это же разные вещи
Mikhail , [03.12.14 18:05] включенная стратегия мониторит когда нужно активировать стоп
Mikhail , [03.12.14 18:05] стоп может быть вообще не активирован
Александр Игнатенко, [03.12.14 18:07] Т.е. во включенной стратегии мы не сможем увидеть уровень стопа, значит пойдем другим путем. Спасибо за ответы
Активная техподдержка 04 декабря 2014 г.
Yury Basangov, [04.12.14 11:39] Всем привет! Небольшое сообщение. По вопросам технической поддержки можно и нужно обращаться к Дмитрий Пименову. Прошу любить и жаловать.
Дмитрий Пименов, [04.12.14 11:44] Привет!
Денис (rtDen) , [04.12.14 15:46] Добрый день!
Дмитрий Пименов, [04.12.14 15:46] добрый!
Денис (rtDen) , [04.12.14 15:46] Столкнулся с одним багом (события обновления стакана в роботе вызываются реже, чем стакан обновляется в квике), но в процессе его фиксации всплыл другой. В свойство инструмента bestBid попадают значения из ask'ов. Вот небольшой код стратегии: http://pastebin.com/AER0tJSm Т.е. просто по изменению стакана в лог пишутся BestBid и BestAsk
Денис (rtDen) , [04.12.14 15:47] Вот пара скриншотов с записанного видео:
Денис (rtDen) , [04.12.14 15:47] [screen1.png]
Денис (rtDen) , [04.12.14 15:47] [screen2.png]
Денис (rtDen) , [04.12.14 15:48] [_report.zip]
Денис (rtDen) , [04.12.14 15:48] В архиве видео, скрины и логи луа и робота
Mikhail , [04.12.14 16:06] А на sample такое же поведение?
Денис (rtDen) , [04.12.14 16:07] не смотрел, попробую чуть попозже
Денис (rtDen) , [04.12.14 18:29] [screen3.png]
Денис (rtDen) , [04.12.14 18:30] похоже что сортировка не в ту сторону идет
Денис (rtDen) , [04.12.14 18:30] но это переодически, то верно то неверно
Денис (rtDen) , [04.12.14 18:33] а хотя не то что периодически, просто в аске и в биде одинаковые заявки
Денис (rtDen) , [04.12.14 18:35] S#:4.2.43
Денис (rtDen) , [04.12.14 18:36] Quik: 6.14.0.12
Активная техподдержка 05-07 декабря 2014 г.
Денис (rtDen) , [05.12.14 16:02] Приветствую всех! Михаил, есть какие-нибудь продвижения по вчерашней проблеме?
Mikhail , [05.12.14 16:15] добрый день. пока в процессе
Денис (rtDen) , [05.12.14 16:22] Добрый. понял
Александр Игнатенко, [06.12.14 09:30] Всем привет. Тестированию стратегию на исторических данных. При выставлении ордера вылетает ошибка "Сейчас эта сессия не идет." Причина - время выставления заявки по-каким-то причинам отличается от времени свечи на 1 час. Из-за время выставления ордера попадает на время перерыва. Что можно сделать, подскажите плиз?
Mikhail , [06.12.14 09:34] Добрый. Данные свои или что выложены в архиве?
Александр Игнатенко, [06.12.14 10:35] Свои
Mikhail , [06.12.14 11:00] можете прислать архив с данными и мини пример воспроизведения ошибки?
Александр Игнатенко, [07.12.14 06:47] После некоторых исправлений, ошибку восстановить не получается. Как только вернется, сразу пришлю
Активная техподдержка 08 - 14 декабря 2014
Александр Игнатенко, [08.12.14 23:40] Тестирование на исторических данных. На графике первая свеча приходит в 10.00, вторая - 11.00. Наверно связано с временными зонами, но как их выровнять?
Mikhail, [09.12.14 13:43] можете все таки прислать архив с данными? на чем тестируете
Александр Игнатенко, [11.12.14 06:08] [ Document : IamRobot4.rar ]
Александр Игнатенко, [11.12.14 06:08] посмотри opentime первой и второй свечи
Сергей Гаврилов, [11.12.14 19:24] Александр, в твоем архиве данные записаны со сдвигом UTC +4 (до перехода на зимнее время?), а должно быть UTC +3.
Александр Игнатенко, [11.12.14 20:49] это я понял, но гидра не позволяет ( или я не знаю об этом) сменить часовой пояс при загрузке данных, и в настройках эмулятора коннектора я тоже не смог найти возможность смены часового пояса. Возможно ли все-таки как-то синхронизировать эмулятор с данными?
Сергей Гаврилов, [11.12.14 20:52] А у тебя какой пояс?
Александр Игнатенко, [11.12.14 20:52] +3
Сергей Гаврилов, [11.12.14 20:53] +3 к Москве или +3 UTC?
Александр Игнатенко, [11.12.14 20:57] к UTC
Сергей Гаврилов, [11.12.14 21:02] А когда ты эти данные качал?
Александр Игнатенко, [11.12.14 21:44] В ноябре. , дату не помню
Александр Игнатенко, [13.12.14 07:42] как SmartComу указать на 64-битную версию? информация в справке устарела
Сергей Гаврилов, [13.12.14 20:40] Установить нужную версию SmartCOM можно при помощи свойства SmartTrader.Version, а нужный Wrapper (SmartCom3Wrapper32 или SmartCom3Wrapper64) будет выбран автоматически в зависимости от разрядности процесса.
Александр Игнатенко, [14.12.14 09:17] что-то не хочет он автоматически выбирать, при этом половина примеров работает, а половина - нет (при установленной 64-й разрядной версии)
Mikhail, [14.12.14 11:36] а какие именно примеры не работают?
Mikhail, [14.12.14 11:36] и в чем заключается их неработоспособность?
Mikhail, [14.12.14 11:37] по истории. а чем она была закачена? гидрой? какой источник был выбран? финам?
Александр Игнатенко, [14.12.14 14:57] SampleSmart подключился, а SmapleSmartCnadles и SmapleSmartSMA - нет.
Александр Игнатенко, [14.12.14 15:38] Не удалось получить фабрику класса COM для компонента с CLSID {99F5EA2E-0636-49BE-8100-8AE309B03331} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Александр Игнатенко, [14.12.14 15:38] такую ошибку выдает
Александр Игнатенко, [14.12.14 15:39] по истории. Была закачена Гидрой, источник - финам
Сергей Гаврилов, [14.12.14 15:39] В каком примере?
Александр Игнатенко, [14.12.14 15:44] Ошибку выдает? SmapleSmartCnadles и SmapleSmartSMA, плюс в моем роботе
Сергей Гаврилов, [14.12.14 15:45] По пунктам: 1.Cартком установлен?
Сергей Гаврилов, [14.12.14 15:46] Если да, то какая версия..
Александр Игнатенко, [14.12.14 15:46] в примере SampleSmart , smartcom отрабатывает и если подключаться на прямую через Smartcom (без S#), то тоже отрабатывает
Александр Игнатенко, [14.12.14 15:49] версия SmartCOM 3.0.137
Александр Игнатенко, [14.12.14 15:49] x64
Сергей Гаврилов, [14.12.14 15:49] Я понял, 64?
Александр Игнатенко, [14.12.14 15:50] устанавливал x86, подключается нормально
Сергей Гаврилов, [14.12.14 15:50] Ок.. сейчас проверю..
Сергей Гаврилов, [14.12.14 15:54] Счет демо?
Александр Игнатенко, [14.12.14 15:54] нет, реальеый
Александр Игнатенко, [14.12.14 15:55] на срочный рынок - 2 счета
Александр Игнатенко, [14.12.14 16:06] еще вопрос. smartcom некорректно выдает 5-минутные свечи. В свое время ошибку они признали, но на корректировку забили, прошло уже несколько месяцев. S# сам формирует свечи? Интересует формирование в реальном времени и по истории
Mikhail, [14.12.14 16:10] по истории. была реально проблема именно с источником в финам в гидре и именно со свечками (любой тф). новую версию выложим как можно быстрее, но историю нужно будет заново перекачать.
Александр Игнатенко, [14.12.14 16:11] ок, спасибо, ждем
Александр Игнатенко, [14.12.14 16:16] могли бы еще глянуть пример коннекта к SmartCom'у. Не могу понять что не так
Александр Игнатенко, [14.12.14 16:16] [ Document : StockSharp.TraderConnection.rar ]
Александр Игнатенко, [14.12.14 16:17] как и писал выдает ошибку на версии x64
Сергей Гаврилов, [14.12.14 17:05] А ты галку Prefer 32-bit в свойствах проекта, закладка Build пробовал убирать?
Сергей Гаврилов, [14.12.14 17:41] Проверил эту ситуацию на 64-битной OS.. Нужно убрать убрать галку Prefer 32-bit (русс: Предпочтительно: 32-разрядн.)
Александр Игнатенко, [15.12.14 05:14] да, заработало. спасибо
Активная техподдержка 15 - 21 декабря 2014
Владимир Куриленко, [16.12.14 20:25] Вопрос про обучающие примеры. Они буду адаптироваться с выходом нового API?
Сергей Гаврилов, [16.12.14 20:31] Да.
Владимир Куриленко, [16.12.14 20:31] Там reference еще от 2.10 версии, совсем много несовместимостей
Сергей Гаврилов, [16.12.14 20:35] Работа по этой теме начата.
Денис (rtDen), [17.12.14 10:46] Приветствую всех!
Денис (rtDen), [17.12.14 10:46] Потихоньку просматриваю уроки. Во втором уроке описывются свойства MarketDepth.Latency, Trade.Latency - сейчас их нет, их перенесли куда-то или вообще убрали? И как они действуют (действовали)?
Сергей Гаврилов, [17.12.14 20:24] Latency - время задержки, т.е. разница во времени, когда это событие (сделка, изменение стакана и т.п.) случились на бирже и когда соответствующее событие отобразилось в программе на Вашем компьютере. В последней версии этого свойства нет, но есть свойства LastChangeTime и LocalTime..
Mikhail, [17.12.14 20:51] да, есть сервеное время (если транслирует источник) и локальное время. разница собственно задержка
Денис (rtDen), [18.12.14 08:28] Списабио за ответ, просто из документации неясно было, что LastChangeTime - это время от источника.
Денис (rtDen), [18.12.14 08:28] Следующие воросы: Методы MarketDepth AddAsk, AddBid, Remove, Update - они для чего нужны? Для моделирования большей частью, т.е. для ручного создания стакана и наполнения его данными?
Денис (rtDen), [18.12.14 09:23] Порция вопросов про MarketRule: Для хорошего понимания как это работает и как этим пользоваться, хочу знать внутренний механизм правил.
Денис (rtDen), [18.12.14 10:55] 6) IMarketRule.IsActive - оно когда true? в течении выполнения метода в Do?
Сергей Гаврилов, [18.12.14 18:34] Методы MarketDepth AddAsk, AddBid, Remove, Update - они для чего нужны? Для моделирования большей частью, т.е. для ручного создания стакана и наполнения его данными? Да.
При помощи AND/Or вы можете объединить несколько правил. В первом случае Do сработает, если произошли все события правил, во втором, если любое из событий. Чисто для примера ... Do сработает, если свечка изменилась и ее объем > 100.
_series.WhenCandlesChanged().And(_series.WhenCurrentCandleTotalVolumeMore(100)).Do(() => { //... ;}).Apply(this);
Сергей Гаврилов, [18.12.14 18:36] 4) Когда в стратегии у правила пишем Apply(this) - зачем передается стратегия? Чтобы правило было привязано к стратегии, (включалось/выключалось при вкл/выкл стратегии) или на что-то еще влияет? Да. Правило добавляется в список Rules стратегии...
Сергей Гаврилов, [18.12.14 19:22] 3) Как работает Sync в правилах? Весь метод в Do полностью оборачивается в sync? Да.
Сергей Гаврилов, [18.12.14 19:50] "Событие правила будет вызываться..." - не событие, а действие в Do()...
Сергей Гаврилов, [18.12.14 20:01] "В какой момент проверяется условие" - перед вызовом Do..
Денис (rtDen), [19.12.14 07:53]
Сергей Гаврилов, [19.12.14 12:47] 1.Методы AND/OR возвращают объединенное правило. В IMarketRule определено свойство Container, который хранится в своем списке правила, входящие в объединение. При активации любого из составляющих правил контейнер проверяет флаг IsActive всех составляющих правил и в соответствии с логикой AND или OR активирует объединенное правило. Интервал любой..
Сергей Гаврилов, [19.12.14 13:02] 5 вопрос: гарантирует, события идут в одном потоке..
Денис (rtDen), [19.12.14 13:17] понятно. Спасибо за ответы
Сергей Гаврилов, [19.12.14 13:20] " Т.е. правило активно, в момент вызова Do проверяется условие, и если оно true то правило отключается?" - Да.
Yury Basangov, [19.12.14 15:33] Мария сбросьте код примера
Мария Крень, [19.12.14 15:33] что именно?
Yury Basangov, [19.12.14 15:34] Решила перейти на новую версию stocksharp - 4.2.43. И возникла проблема. При запуске примера и моего робота портфели не подгружаются, с инструментами и всем остальным все в порядке. Т.е. когда в примере запускаю окно выставления заявки, то клиентский счет не отображается. Версия Квик самая последняя. На форумах подходящего мне решения не было. Подскажите пожалуйста, с чем это может быть связано?
Мария Крень, [19.12.14 15:34] Весь код? Или только MainWindow.xaml.cs
Yury Basangov, [19.12.14 15:34] Примера в котором портфель не подгружается
Мария Крень, [19.12.14 15:35] Вам в архиве или как?
Yury Basangov, [19.12.14 15:35] Если там секретные вещи можете обращаться напрямую к Сергею Гаврилову.
Мария Крень, [19.12.14 15:35] Вообще-то это пример со стокшарпа
Мария Крень, [19.12.14 15:35] он не работает
Yury Basangov, [19.12.14 15:35] Сорри
Мария Крень, [19.12.14 15:36] А мой код автоматически тоже не работает
Yury Basangov, [19.12.14 15:36] Минуту, сейчас посмотрим
Сергей Гаврилов, [19.12.14 15:52] Мария, добрый день! Какой конкретно пример не работает..
Мария Крень, [19.12.14 15:52] Samplr
Мария Крень, [19.12.14 15:52] Sample
Мария Крень, [19.12.14 15:53] Здравствуйте.
Мария Крень, [19.12.14 15:53] Если подробнее, то Quik->Sample
Сергей Гаврилов, [19.12.14 16:02] Вы подключаетесь через Lua или DDE?
Мария Крень, [19.12.14 16:02] Через Lua ошибку кидает
Мария Крень, [19.12.14 16:02] Через DDE.
Сергей Гаврилов, [19.12.14 16:03] Какой текст ошибки через LUA, скопируйте или скрин сделайте..
Мария Крень, [19.12.14 16:04] секунду
Мария Крень, [19.12.14 16:05] [ Document : Безымянный.png ]
Сергей Гаврилов, [19.12.14 16:09] У вас скорее всего скрипт для Lua не включен..
Мария Крень, [19.12.14 16:10] А как это сделать?
Сергей Гаврилов, [19.12.14 16:10] Секунду...
Сергей Гаврилов, [19.12.14 16:14] В Квике выбираете Таблицы->Lua->Доступные скрипты
Мария Крень, [19.12.14 16:15] Доступных скриптов нет
Сергей Гаврилов, [19.12.14 16:16] Файс скрипта лежит в папке Referenсes
Мария Крень, [19.12.14 16:16] В Quik Junior->References?
Сергей Гаврилов, [19.12.14 16:16] это папка StockSharp
Мария Крень, [19.12.14 16:17] Ясно
Сергей Гаврилов, [19.12.14 16:17] файл StockSharp.Quik.lua
Мария Крень, [19.12.14 16:17] Нашла.
Мария Крень, [19.12.14 16:17] Unknown error. Possible unhandled exception.
Мария Крень, [19.12.14 16:18] При запуске выдает
Сергей Гаврилов, [19.12.14 16:19] версия quik какая у вас?
Мария Крень, [19.12.14 16:20] 6.16.0.42
Сергей Гаврилов, [19.12.14 16:27] Там нет никакой еще кнопки с дополнительным описанием ошибки?
Мария Крень, [19.12.14 16:27] Нету
Сергей Гаврилов, [19.12.14 16:29] Вы в предыдущей версии StockSharp робота через DDE запускали?
Мария Крень, [19.12.14 16:29] Да.
Мария Крень, [19.12.14 16:29] Предыдущая была совсем старая версия. Но все работало.
Сергей Гаврилов, [19.12.14 16:30] А с этой версией квика старый StockSharp работал?
Мария Крень, [19.12.14 16:30] Нет, начиная с 6.8 не работал
Mikhail, [19.12.14 16:34] на форуме подробная инструкция по настройке квик + луа. даже один пользователь записал видео
Mikhail, [19.12.14 16:34] в группе в контакте ссылка
Мария Крень, [19.12.14 16:35] Я видела. Но почему через ДДЕ не работает?
Мария Крень, [19.12.14 16:36] У меня один раз вчера сработали портфели. Но робот выдал ошибку по деривативам при выставлении заявки
Сергей Гаврилов, [19.12.14 16:45] Попробуйте перезагрузить Квик, убрать все таблицы и снова запустить скрипт Lua...
Мария Крень, [19.12.14 16:47] Не помогло
Сергей Гаврилов, [19.12.14 16:47] Та же ошибка?
Мария Крень, [19.12.14 16:48] Сейчас, поставлю настрою Lua, как на форуме написано.
Мария Крень, [19.12.14 16:48] Да, та же.
Mikhail, [19.12.14 16:52] а C++ runtime устанавливали?
Мария Крень, [19.12.14 16:53] Сейчас посмотрю.
Mikhail, [19.12.14 16:53] всмысле?
Мария Крень, [19.12.14 16:53] Я не помню
Mikhail, [19.12.14 16:53] вы по инструкции настраиваете квик?
Mikhail, [19.12.14 16:54] давайте я еще раз скопирую свое сообщение
Mikhail, [19.12.14 16:54] на форуме подробная инструкция по настройке квик + луа. даже один пользователь записал видео
Мария Крень, [19.12.14 16:55] У меня просто раньше стоял.
Мария Крень, [19.12.14 16:56] может быть конечно надо переставить...
Mikhail, [19.12.14 16:56] лучше будет если вы настроите в соотвествии с инструкцией
Мария Крень, [19.12.14 16:59] Да, я так и сделаю.
Мария Крень, [19.12.14 16:59] Но я все же не понимаю, как это влияет на подключение через ДДЕ
Сергей Гаврилов, [19.12.14 17:03] Через Lua удобнее работать, лучше подключаться через него..
Мария Крень, [19.12.14 17:03] ) Я понимаю.
Мария Крень, [19.12.14 17:03] Но вопрос другой был.
Сергей Гаврилов, [19.12.14 17:05] "портфели не подгружаются" ?
Мария Крень, [19.12.14 17:05] Но раньше-то подгружались...
Мария Крень, [19.12.14 17:12] Переставила Квик. Скачала и установила C++ runtime.
Мария Крень, [19.12.14 17:12] [ Photo ]
Мария Крень, [19.12.14 17:14] Все необходимые сборки лежат в папке References
Сергей Гаврилов, [19.12.14 17:21] Вы этот quik c сайта quik брали?
Мария Крень, [19.12.14 17:21] да
Сергей Гаврилов, [19.12.14 17:22] Тогда, небольшой тайм аут.. Я эту версию сейчас проверю..
Мария Крень, [19.12.14 17:23] Ок.
Активная техподдержка 22 декабря - 28 декабря 2014 г.
Mikhail, [19.12.14 18:23] версия рантайма 64 или 32 бита?
Мария Крень, [19.12.14 18:24] 32, как у вас и написано качать
Мария Крень, [19.12.14 18:24] vcredist_x86.exe
Mikhail, [19.12.14 18:25] ок. а в логе луа что-то есть?
Mikhail, [19.12.14 18:25] рядом со скриптом должен создаться файл
Мария Крень, [19.12.14 18:28] [ Document : StockSharp.QuikLua.FatalError.log ]
Mikhail, [19.12.14 18:29] самая распространенная ошибка. в видео показано как сделать анблок на архив
Mikhail, [19.12.14 18:29] топ 1 вопрос последние несколько лет
Мария Крень, [19.12.14 18:30] Ок, у меня не все архивы блокирует. Редкая ошибка
Mikhail, [19.12.14 18:36] Все архивы стокшарп начиная с 2009 года блокируются. Потому что в них лежат dll.
Мария Крень, [19.12.14 18:36] Ок
Mikhail, [19.12.14 18:37] Но это не так важно. Лучше еще раз пройтись по инструкции. Вдруг какие то другие места пропущены.
Мария Крень, [19.12.14 18:48] Скрипт запустился, но с ошибкой.
Мария Крень, [19.12.14 18:48] Но пример работает.
Мария Крень, [19.12.14 18:48] Портфели подгрузились.
Мария Крень, [19.12.14 18:49] P.S. Вывод через dde по прежнему не работает.
Мария Крень, [19.12.14 18:49] Подключение т.е.
Сергей Гаврилов, [19.12.14 19:18] Для Вас принципиально, чтобы DDE тоже работало?
Мария Крень, [19.12.14 19:19] Нет, просто стоит его тогда вообще убрать.
Сергей Гаврилов, [19.12.14 19:21] Старая и новая технологии какое-то время все равно пересекаются.. Сразу убрать нельзя..
Мария Крень, [19.12.14 19:21] Понятно
Мария Крень, [19.12.14 19:33] Такой вопрос. Почему может не подхватытваться LastTrade по инструменту. Инструмент получаю так: Trader.NewSecurities += securities => { foreach (var instr in securities) { if (instr.Code == "LKOH" && instr.Class == "QJSIM") _securitiesWindow.Securities.Add(instr); } };
Мария Крень, [19.12.14 19:33] В квике заявки делала для этого инструмента.
Сергей Гаврилов, [19.12.14 19:35] Это из того же примера?
Мария Крень, [19.12.14 19:36] нет, я писала
Мария Крень, [19.12.14 19:37] код из примера все брал(при галочке подхватывать все инструменты) и ни одного, если убрать галочку
Мария Крень, [19.12.14 19:37] хотя в таблице инструменты инструмент был
Сергей Гаврилов, [19.12.14 19:40] Тогда весь код прикрепите...
Мария Крень, [19.12.14 19:46] Там коннект такой же, как в примере
Мария Крень, [19.12.14 19:46] поменяла только эту строчку
Мария Крень, [19.12.14 19:46] кстати, сейчас в примере посмотрю
Мария Крень, [19.12.14 19:46] в примере тоже не определилось
Мария Крень, [19.12.14 19:49] Заявка выставляется из примера. Но последнюю сделку не отображаеь.
Мария Крень, [19.12.14 19:51] Мои сделки тоже отображает.
Сергей Гаврилов, [19.12.14 20:03] Уточните вопрос. После того как переписали код в Окне SecuritiesWindow перестала отображаться информация по инструменту?
Сергей Гаврилов, [19.12.14 20:28] Из какой версии StockSharp вы используете пример? В последней версии используется контрол SecurityPicker: _securitiesWindow.SecurityPicker.Securities.AddRange(securities);
Мария Крень, [19.12.14 23:55] Беру пример из StockSharp — Sample. Версии 4.2.43.(Ничего не меняя) Запускаю на квике, в таблице инструментов у которого 1 инструмент. Запускаю без галочки показать все инструменты. В итоге никакой инструмент не отображается. Если запускаю с галочкой, то отображаются все инструменты, но без последней цены и времени последней сделки.
Если через, то ДДЕ показывает все как надо.
Мария Крень, [19.12.14 23:56] Естественно мой код с изменениями тоже не будет работать.Я сделала и с SecurityPicker: и без него и разницы не почувствовала.
Мария Крень, [20.12.14 01:23] [ Document : StockSharp.QuikLua.log ]
Сергей Гаврилов, [20.12.14 13:18] "Если запускаю с галочкой, то отображаются все инструменты, но без последней цены и времени последней сделки." - кнопку "Level1.." нажимали?
Мария Крень, [20.12.14 13:21] да, ничего не происходит. Ну и стакан тоже не грузит
Мария Крень, [20.12.14 13:29] [ Document : StockSharp.QuikLua.log ]
Сергей Гаврилов, [20.12.14 14:00] В последнем логе Вы вызывали Level1 для AESL, попробуте тоже самое сделать для SBER
Сергей Гаврилов, [20.12.14 14:01] AESL - не активная акция
Мария Крень, [20.12.14 14:03] да, сработало. Спасибо.
Сергей Гаврилов, [20.12.14 14:03] Ок.
Мария Крень, [20.12.14 16:49] Еще вопрос, как из списка портфелей получить нужный? (раньше это было portfolio[1] например). (Portfolio)_portfoliosWindow.PortfolioGrid.Portfolios.FirstOr(null) — так теперь могу получить первый.
Мария Крень, [20.12.14 16:50] А остальные как? (Portfolio)_portfoliosWindow.PortfolioGrid.Portfolios[1] так ошибка
Мария Крень, [20.12.14 16:51] _portfoliosWindow.Portfolios[1] — так раньше было
Мария Крень, [20.12.14 17:57] А с инструментами все как раньше работает...
Мария Крень, [20.12.14 17:58] _securitiesWindow.SecurityPicker.Securities[0]
Мария Крень, [20.12.14 20:08] Я так поняла, что многие методы из выпажающего списка не реализованы?
Сергей Гаврилов, [20.12.14 20:38] var port = (Portfolio)_portfoliosWindow.PortfolioGrid.Portfolios.FirstOr(null);
Сергей Гаврилов, [20.12.14 20:39] Но нужно добавить using Ecng.Collections;
Сергей Гаврилов, [20.12.14 21:57] Здесь специальный тип коллекции используется, чтобы иерархическую структуру отобразить. Этот тип индексацию (Ilist) не поддерживает. Но можно например вот так сделать интерфейс Ilist yt
Сергей Гаврилов, [20.12.14 21:58] var port = (Portfolio)_portfoliosWindow.PortfolioGrid.Portfolios.TakeEvery(1).FirstOr(null); Только индекс не с 0, а с 1 должен начинаться.. Здесь будет получен 1-й портфель..
Сергей Гаврилов, [20.12.14 21:59] Может быть лучше свою коллекцию с портфелями создать..
Сергей Гаврилов, [20.12.14 22:04] "методы из выпадающего списка не реализованы" - какой список Вы имели ввиду?
Мария Крень, [22.12.14 11:58] Что нужно поменять в скрипте, чтобы запустить робот с рабочего квика?
Мария Крень, [22.12.14 11:58] в скрипте lua
Мария Крень, [22.12.14 11:59] Я меняю Fix Server... это правильно?
Сергей Гаврилов, [22.12.14 12:13] да ничего менять не нужно
Мария Крень, [22.12.14 12:13] Я с нескольких квиков сразу работаю
Мария Крень, [22.12.14 12:13] а один и тот же скрипт, если fix server не поменять не запускается
Мария Крень, [22.12.14 12:15] А подскажите по какой причине может фьючерс заявка не выставляется?
Мария Крень, [22.12.14 12:16] просто обычная по срочной московской ставится и все ок
Мария Крень, [22.12.14 12:16] а фьючерс не хочет
Сергей Гаврилов, [22.12.14 12:17] лог надо посмотреть..
Мария Крень, [22.12.14 12:18] у lua?
Сергей Гаврилов, [22.12.14 12:19] да
Мария Крень, [22.12.14 12:20] [ Document : StockSharp.QuikLua.log ]
Мария Крень, [22.12.14 12:23] так разобралась
Мария Крень, [22.12.14 12:23] с ошибкой
Мария Крень, [22.12.14 12:23] сейчас посмотрю выставит или нет
Сергей Гаврилов, [22.12.14 12:24] И чего было?
Мария Крень, [22.12.14 12:24] дробь цена
Мария Крень, [22.12.14 12:24] тип привела
Сергей Гаврилов, [22.12.14 12:25] а свои логи пишите?
Мария Крень, [22.12.14 12:25] да
Сергей Гаврилов, [22.12.14 12:37] Для округления цены, вот такой метод можно использовать, что Security.ShrinkPrice(Decimal)
Сергей Гаврилов, [22.12.14 14:08] Вам удалось второй Квик подключить?
Мария Крень, [22.12.14 15:53] да, и 3 -й и 4-й
Сергей Гаврилов, [22.12.14 15:54] 😊
Мария Крень, [22.12.14 15:54] Да, хотела задать вопрос про метод округления.
Мария Крень, [22.12.14 15:54] Как он работает?
Сергей Гаврилов, [22.12.14 15:55] Округляет цену до минимального шага цены для инструмента
Мария Крень, [22.12.14 15:55] О, тогда то, что нужно.
Мария Крень, [22.12.14 15:55] Возвращаясь к вопросу о портфелях.
Мария Крень, [22.12.14 15:56] Я сделала альтернативное обращение с combobox через foreach
Мария Крень, [22.12.14 15:57] Но меня печалит то, что как раньше обычное обращение не работает. Почему такая странная конструкция?
Мария Крень, [22.12.14 15:57] почему тип так поменяли, что нельзя просто обращаться к портфелю как к элементу?
Мария Крень, [22.12.14 15:57] [0], [1]
Мария Крень, [22.12.14 15:59] Еще такаое заметила, сегодня, когда коннектилась к разным квикам заценила время подгрузки инструментов. У втб терпимо, а воту элтры и бкс .... пришлось огромную задержку ставить
Сергей Гаврилов, [22.12.14 16:02] Эта коллеция специально для байдинга со иерархической структурой данных в этом контороле
Мария Крень, [22.12.14 16:03] Понятно. Ну если для байдинга, то ок. Вот события стали лучше срабатывать(быстрее), это мне понравилось.
Сергей Гаврилов, [22.12.14 16:03] Это от сервера зависит.
Мария Крень, [22.12.14 20:45] какая библиотека нужна для shrinkprice? Подскажите пожалуйста
Мария Крень, [22.12.14 20:47] нашла
Сергей Гаврилов, [22.12.14 20:51] StockSharp.Algo
Мария Крень, [22.12.14 20:51] )) Да просто после работы плохо думается, метод у цены искала)
Сергей Гаврилов, [22.12.14 20:52] У Вас какая студия стоит?
Мария Крень, [22.12.14 20:52] 12
Сергей Гаврилов, [22.12.14 20:56] В 13 есть поиск в Object Browser. Любой метод можно найти.. Может и в 12 есть
Мария Крень, [22.12.14 20:56] нет
Мария Крень, [22.12.14 20:56] только в 13
Сергей Гаврилов, [22.12.14 20:56] Тогда увы..
Мария Крень, [22.12.14 20:56] собственно это и было улучшением главным с 12 на 13)
Мария Крень, [22.12.14 20:56] да я мб как-нибудь поставлю 13)))
Мария Крень, [22.12.14 20:57] просто недавно 12 поставила, Аркадий и так еле принял это
Мария Крень, [22.12.14 21:00] А как быстро цену подгружать?
Мария Крень, [22.12.14 21:00] А то получается, что он грузит цену, начиная с начала дня
Мария Крень, [22.12.14 21:01] и это оооочень долго
Сергей Гаврилов, [22.12.14 22:34] А на таблицу "Все сделки" фильтр ставите?
Мария Крень, [22.12.14 22:34] какой надо
Сергей Гаврилов, [22.12.14 22:35] На бумагу..
Мария Крень, [22.12.14 22:35] на инструмент савлю
Мария Крень, [22.12.14 22:35] ставлю
Сергей Гаврилов, [22.12.14 22:35] Да наинструмент..
Мария Крень, [22.12.14 22:35] да, конечно
Сергей Гаврилов, [22.12.14 22:36] Технология в Квик на таблицах построена..
Мария Крень, [22.12.14 22:36] просто через дде загрузка в разы быстрее была....
Мария Крень, [22.12.14 22:36] я не понимаю в чем теперь дело
Мария Крень, [22.12.14 22:36] я конечно подумаю, можт плохо что-то написала
Алексей (kvazar) Украинцев, [23.12.14 11:39] Добрый день, все сначала, пример QuikSample подключение к луа http://gyazo.com/c4761b781c19c70170fe59fa836d5638
Денис (rtDen), [23.12.14 11:47] а lua-скрипт запущен в квике?
Алексей (kvazar) Украинцев, [23.12.14 12:51] при запуске выдает Unknown error. Possible unhandled exception.
Алексей (kvazar) Украинцев, [23.12.14 13:16] Спасибо, запустился, пришлось еще раз разблокировать архив
Денис (rtDen), [23.12.14 15:48] 2014/12/23 16:45:19.979|Error |QuikTrader|OrderFailed 60248194/ Покупка Цена=80000 Объем=1 Сост=Failed Бал=1 System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: key в System.Collections.Generic.Dictionary
2.FindEntry(TKey key) в System.Collections.Generic.Dictionary2.TryGetValue(TKey key, TValue& value) в Ecng.Collections.SynchronizedDictionary2.TryGetValue(TKey key, TValue& value) в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary2 dictionary, TKey key, Func2 handler, Boolean& isNew) в Ecng.Collections.CollectionHelper.SafeAdd[TKey,TValue](IDictionary2 dictionary, TKey key, Func2 handler) в StockSharp.Licensing.LicenseHelper.ValidateLicense(Type connectorType, String portfolioName) в StockSharp.Messages.MessageAdapter1.CheckLicense(Message message) в StockSharp.Messages.MessageAdapter`1.SendInMessage(Message message) в StockSharp.Algo.ManagedMessageAdapter.#=qPHtnlMIpbTeVB2CpzL29n4Nwny4zpLzC2FtWDSulVrt61JKRdzsxnvItjwETv4NrmsrGSUs8wLPQPCWaKivyyQ==(Message #=qdAXBXFzVsT8POaORhG0joA==) в StockSharp.Algo.Connector.OnRegisterOrder(Order order) в StockSharp.Algo.Connector.#=q0hHpS0MjrivRt2yhPg$47A==(Order #=qGkQhVuGH8WKjuMSt4_Ox2w==, Boolean #=qH1OmFM4N603cxLNDQNRYJQ==)Денис (rtDen), [23.12.14 15:48] что это за ошибка? это как-то связанно с лицензией?
Денис (rtDen), [23.12.14 15:49] возникает при выставлении заявки, только что заявки выставлялись без проблем, код не менялся и тут бац, заявки больше не выстававляются. перезапуск квика и робота не помогает
Денис (rtDen), [23.12.14 15:50] на прошлой неделе тоже такое было, но сразу с тп не стал писать, решил пододать чтоб еще раз повторилось
Сергей Гаврилов, [23.12.14 16:00] А новую лицензию генерить не робовал?
Денис (rtDen), [23.12.14 16:00] пробовалъ
Денис (rtDen), [23.12.14 16:02] потом это "починилось", но почему я не понял - там все в кучу намешано было, я и квик переустановил и версию библиотеки поменял
Денис (rtDen), [23.12.14 16:02] это я про прошлую неделю говорю
Сергей Гаврилов, [23.12.14 16:12] А сегодня пробовал?
Денис (rtDen), [23.12.14 16:13] лицензию перегенерить?
Сергей Гаврилов, [23.12.14 16:13] Да..
Денис (rtDen), [23.12.14 16:13] сейчас попробую
Денис (rtDen), [23.12.14 16:25] щас квик стал зависать и сотнями выдавать такие ошибки:
Денис (rtDen), [23.12.14 16:25] 2014/12/23 17:24:03.420|Error |QuikTrader|System.ArgumentException: Элемент с тем же ключом уже был добавлен. в System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) в System.Collections.Generic.Dictionary
2.Insert(TKey key, TValue value, Boolean add) в System.Collections.Generic.Dictionary2.Add(TKey key, TValue value) в StockSharp.Fix.FixMessageAdapter.#=qywJCFsVUpxR9XU26iQOIlzD8Zlx9$342jHp_w7gBUK4=.#=qbeJ568$GTE7WrQGaK0MnnXJJ8f_yfxPp9ng0vpAodRM=(SecurityId #=qCLoi1dD8uLn9JRQFfHDHGQ==, DateTimeOffset #=qli6tnyP4sfcjzi__PXnrmg==, IEnumerable`1 #=qQ39fe1KN4VCLrbTv03KduQ==) в StockSharp.Fix.FixMessageAdapter.ProcessMarketDataMessage(String fixMessage) в StockSharp.Fix.FixMessageAdapter.#=qGmTjgpL2UZy$sVuZ06NvQ3ps_4KDOBNyTQuWaSyGJYQ=()Денис (rtDen), [23.12.14 16:30] т.е. я подключаюсь в квику, сначала проходят данные уже имеющиеся - т.е. мои ордера сегодняшние, затем все сделки из табилцы всех сделок и затем начинают сыпаться эти ошибки ( Элемент с тем же ключом уже был добавлен.)
Денис (rtDen), [23.12.14 16:32] хотя секунду подождите, последняя ошибка - это возможно мой косяк
Денис (rtDen), [23.12.14 16:32] сейчас проверю кое-что
Денис (rtDen), [23.12.14 16:37] на посленюю ошибку пока не обращайте внимания, но первая никуда не делась
Денис (rtDen), [23.12.14 16:38] заявки не выставляются
Денис (rtDen), [23.12.14 16:38] лицензию обновил
Сергей Гаврилов, [23.12.14 16:42] На всякий случай.... Файл лицензии в нужном месте лежит?
Денис (rtDen), [23.12.14 16:46] да
Денис (rtDen), [23.12.14 16:47] в Documents\StockSharp\
Денис (rtDen), [23.12.14 16:47] проверил только что
Денис (rtDen), [23.12.14 16:51] ребут компа не помог
Денис (rtDen), [23.12.14 16:52] сейчас попробую через sample заявку выставить
Денис (rtDen), [23.12.14 16:56] через sample заявки выставляются
Денис (rtDen), [23.12.14 16:56] а через робота нет, но код никак не менялся работал работал и перестал
Mikhail, [23.12.14 16:59] может какой лиц файл лежит в папке с роботом?
Mikhail, [23.12.14 16:59] надо бы посканировать винт на наличие файлов stocksharp_license*.xml
Mikhail, [23.12.14 17:00] ну и да, робот и пример - на одном компе?
Денис (rtDen), [23.12.14 17:00] на одном
Денис (rtDen), [23.12.14 17:00] сейчас запущу поиск файлов лицензии по всему винту
Денис (rtDen), [23.12.14 17:00] в папке с роботом нет
Денис (rtDen), [23.12.14 17:05] 1 файл лицензии на винте
Mikhail, [23.12.14 17:08] ошибка никак не связана с лицензией.
Mikhail, [23.12.14 17:08] скорее всего библиотеки не обновлены
Mikhail, [23.12.14 17:09] в примере обновленные рефы. в роботе нет
Денис (rtDen), [23.12.14 17:17] перекопировал библиотеки на всякий случай, ничего не поменялось
Mikhail, [23.12.14 17:17] библиотеки перекомпилировать невозможно. они уже скомпилированные
Денис (rtDen), [23.12.14 17:17] пере_Копириовал_
Mikhail, [23.12.14 17:17] ошибся
Mikhail, [23.12.14 17:18] а откуда куда было скопировано?
Денис (rtDen), [23.12.14 17:22] из папки d:\StockSharp\4_2_43\
Денис (rtDen), [23.12.14 17:22] теоретически конечно я мог их случайно заменить... но это мало вероятно
Денис (rtDen), [23.12.14 17:22] но ок, я перекачаю библиотеку
Mikhail, [23.12.14 17:24] у вас же была отдельная библиотека. что вам отправлялось. главное чтобы и скрипт луа и клиент работали с одинаковой версией библиотеки
Денис (rtDen), [23.12.14 17:26] да я понимаю, что должны с одной версией работать. Вот в прошлый раз когда такая же ошибка вылезла, я разное пробовал и в итоге решил заново скачать с сайта 4.2.43 и ее поставить и в переустановленный квик и в робота
Денис (rtDen), [23.12.14 17:26] ну и опять же повторяю, что и сегодня все работало а потом перстало
Денис (rtDen), [23.12.14 17:26] и уж точно я между этими 2мя событиями дллки не менял ни в роботе ни в квике
Денис (rtDen), [23.12.14 17:30] хм, удалил все инстурменты из таблицы "Инстурменты" и добавил только нужные
Денис (rtDen), [23.12.14 17:31] и заработало
Денис (rtDen), [23.12.14 17:31] у меня постоянно туда левые инструменты сами добавляются
Денис (rtDen), [23.12.14 17:31] не могу понять почему
Денис (rtDen), [23.12.14 17:38] Михаил, ксати ошибка с неверными данными в стакане стала проявляться и на первом сервере открытия (раньше только на втором проявлялась)
Денис (rtDen), [23.12.14 17:38] завтра переключусь на бксовский счет, посмотрю будет она там появляться или нет
Алексей (kvazar) Украинцев, [23.12.14 17:46] Еще раз добрый вечер, запустил боллинджер стратеджи вот так выглядит график, почему может такое быть? http://gyazo.com/89d271075c53786d8622bf5f3e181869
Mikhail, [23.12.14 17:50] это уже к Сергею вопрос
Сергей Гаврилов, [23.12.14 17:50] Данные с демки QUIK?
Алексей (kvazar) Украинцев, [23.12.14 17:50] Нет, реал
Алексей (kvazar) Украинцев, [23.12.14 17:52] Код не трогал
Сергей Гаврилов, [23.12.14 17:53] Ок.. сейчас проверим..
Алексей (kvazar) Украинцев, [23.12.14 17:54] Это из примеров BollingerBandsRobot
Сергей Гаврилов, [23.12.14 17:54] Я понял..
Алексей (kvazar) Украинцев, [23.12.14 17:54] :)
Алексей (kvazar) Украинцев, [23.12.14 18:22] со временем какие-то нововедения? utc на графике 14-20... так еще между москвой и самарой 1 час разницу, что можно почитать н аэту тему?
Сергей Гаврилов, [23.12.14 18:29] Минуту..
Сергей Гаврилов, [23.12.14 18:30] На реале строит график по UTS?
Алексей (kvazar) Украинцев, [23.12.14 18:33] а где смотреть? просто вижу ось Х
Сергей Гаврилов, [23.12.14 18:33] По времени
Алексей (kvazar) Украинцев, [23.12.14 18:34] видимо, да если моска это utc+3. то самара utc +4, все правильно
Сергей Гаврилов, [23.12.14 18:37] Посмотри еще, какой у тебя диапазон метод timeFrame.GetCandleBounds(_series.Security) возвращает..
Алексей (kvazar) Украинцев, [23.12.14 18:41] если все праивльно посмотрел он возвращает местное самарское время
Алексей (kvazar) Украинцев, [23.12.14 18:42] http://gyazo.com/1f53cdf7540e80cbfa1aa14180f50422
Алексей (kvazar) Украинцев, [23.12.14 18:48] проблема понятна, не понятно, что делать, прикручивать 4 часа к времени utc? как бороться?
Сергей Гаврилов, [23.12.14 18:57] А терминал QUIK?
Алексей (kvazar) Украинцев, [23.12.14 18:58] Да
Сергей Гаврилов, [23.12.14 19:05] var TimeZone = _candleSeries.Security.Board.Exchange.TimeZoneInfo;
Сергей Гаврилов, [23.12.14 19:06] Можешь еще посмотреть какую тайм-зону вернет эта строка
Сергей Гаврилов, [23.12.14 19:07] В метод private void Draw(Candle candle) куда-нибудь ее вставь
Алексей (kvazar) Украинцев, [23.12.14 19:22] GMT +04 russian standart time
Алексей (kvazar) Украинцев, [23.12.14 19:23] DisplayName = "(GMT+04:00) Moscow, St. Petersburg, Volgograd"
Сергей Гаврилов, [23.12.14 19:23] Т.е. все временные диапазоны неправильно считаются..
Алексей (kvazar) Украинцев, [23.12.14 19:24] все 3....да
Сергей Гаврилов, [23.12.14 19:25] Надо подождать, что Михаил ответит...
Сергей Гаврилов, [23.12.14 19:26] А самом Квике время московское или местное идет?
Алексей (kvazar) Украинцев, [23.12.14 19:26] московское
Алексей (kvazar) Украинцев, [23.12.14 19:31] именно сейчас график отображается нормально. очень странно... http://gyazo.com/4f28e8b131483cdd9ce650e56c5426c5
Алексей (kvazar) Украинцев, [23.12.14 19:33] поговорил с умным человеком, встаивл строку кода, которая ни на что не влияет, график начал отображаться правильно) но это явно не решение проблемы
Сергей Гаврилов, [23.12.14 19:44] Пока ждем, что разработчики скажут...
Алексей (kvazar) Украинцев, [23.12.14 19:45] понятно, спасибо!
Алексей (kvazar) Украинцев, [23.12.14 19:55] Пока ест другой вопрос, скачал LciViewer2 не могу выбрать 2014 год http://gyazo.com/f1dff85beba79370b416242942788e37
Владимир (vow001) Русаков, [23.12.14 21:12] Подскажите, почему не срабатывает событие ProcessCandle при получении свечей, в Квике обработку внешних транзакций включил, вывод через DDE, как в примере Урок 4
Сергей Гаврилов, [23.12.14 21:18] в окно «все сделки» инструмент доббавили?
Владимир (vow001) Русаков, [23.12.14 21:27] в окне Все сделки нажимаю прав.кнопкой Редактировать таблицу, в панели Выбранные классы нажал Выделить все, все равно не получает свечи, или как-то по-другому нужно добавить?
Сергей Гаврилов, [23.12.14 21:28] В Quik сделки в это м окне идут?
Сергей Гаврилов, [23.12.14 21:32] To Alexey Ukraintsev: "Пока ест другой вопрос, скачал LciViewer2 не могу выбрать 2014 год" - видели на форуме об такой же ошибке писали: http://stocksharp.com/forum/303/LChI-Viewer/.. не могу сказать пофиксили ее в этой версии..
Владимир (vow001) Русаков, [23.12.14 21:37] В Квике сделки идут в окно Заявки, во Все сделки не идут
Сергей Гаврилов, [23.12.14 21:46] Вам нужно настроить это окно "Выбрать класс", а затем в фильтре выбрать нужные инструменты..
Владимир (vow001) Русаков, [23.12.14 22:28] Как я понял в таблице Все сделки показываются вообще сделки, которые совершаются на рынке и на основании этих данных строятся свечи? У меня на демо-счете БКС Все сделки не показываются, есть еще какие-н способы получения свечей?
Сергей Гаврилов, [23.12.14 22:30] Как не показываются? У Вас в демо только ФОРТС?
Владимир (vow001) Русаков, [23.12.14 22:32] нет, там все и акции, и фьючерсы
Сергей Гаврилов, [23.12.14 22:39]
Владимир (vow001) Русаков, [23.12.14 22:40] Да, все так и сделал, все равно ничего не показывает
Сергей Гаврилов, [23.12.14 22:46]
Владимир (vow001) Русаков, [23.12.14 22:51] [ Document : 23122014.png ]
Владимир (vow001) Русаков, [23.12.14 22:52] Т.е. в таблице Мои сделки и Заявки все показывается, а где Все сделки пусто
Сергей Гаврилов, [23.12.14 22:53] Ясно... она называется "Таблица всех сделок"
Сергей Гаврилов, [23.12.14 22:54] а не "Все сделки"... QUIK народ попутать 😊
Владимир (vow001) Русаков, [23.12.14 23:03] Да, нашел Таблицу всех сделок, но там тоже пусто, может быть из-за того, что уже 22.00.
Сергей Гаврилов, [23.12.14 23:10] У них демо до 22 работает?
Сергей Гаврилов, [23.12.14 23:13] Вы руками все таблицы настраивали?
Владимир (vow001) Русаков, [23.12.14 23:23] да, видимо, сессия уже закончилась, таблицы настраивал руками
Сергей Гаврилов, [23.12.14 23:26] Если руками, то закройте все окна и сделайте Настройки - Загрузить настройки из файла... Настройки лежат в .....\Samples\Quik\DDE\info.wnd
Сергей Гаврилов, [23.12.14 23:27] Сделки до 22 все равно должны загрузиться..
Сергей Гаврилов, [24.12.14 13:57] Для Aleksey Ukraintsev: Вы используете старую библиотеку S#, которая выложена с примерами. Нужно обновиться до 4.2.43
Сергей Гаврилов, [24.12.14 14:01] Фильтр для последней свечи лучше получать вот так: var time = timeFrame.GetCandleBounds(Connector.GetMarketTime(Security)).Min - timeFrame;
Алексей (kvazar) Украинцев, [24.12.14 18:29] Сергей, спасибо, пробую, поменял сслыки. Теперь еще несколько ошибок получил. Где можно смотреть актуальную документацию? Т.е. есть алгоритм моих действий по поиску изменений в библиотеках? Например, var price = direction == Sides.Buy ? Security.GetMarketDepth().BestAsk.Price : Security.GetMarketDepth().BestBid.Price; уже не работает.
Сергей Гаврилов, [24.12.14 18:31] NullException вылетает?
Алексей (kvazar) Украинцев, [24.12.14 18:32] т.е. Security.GetMarketDepth().BestAsk.Price превратился в Security.GetMarketPrice()
Алексей (kvazar) Украинцев, [24.12.14 18:32] Нет, просто не запускается, выдает ошибки
Сергей Гаврилов, [24.12.14 18:33] минуту, час посмотрю..
Алексей (kvazar) Украинцев, [24.12.14 18:35] библиотеки меняются, это понятно, я сам готов рыться в документтации, просто если бы при обновлениях был небольшой релиз того, чего меняется было б проще немного. Но это скорее Михаилу пожелание
Алексей (kvazar) Украинцев, [24.12.14 18:37] http://gyazo.com/41e72ec45298d28312d01b0508b66932
Сергей Гаврилов, [24.12.14 19:04]
Сергей Гаврилов, [24.12.14 19:04] У Вас какая студия стоит?
Сергей Гаврилов, [24.12.14 19:17] В GetCandleBounds ошибка связана с типами аргументов. Поставьте точку после GetCandleBounds и посмотрите какие теперь у метода есть перегрузки.
Алексей (kvazar) Украинцев, [24.12.14 21:43] У меня 2013 студия проф, спасибо, буду разбираться
Алексей (kvazar) Украинцев, [25.12.14 16:01] Добрый день! вот это не могу понять, помогите: Предупреждение 4 "StockSharp.Xaml.Charting.ChartIndicatorElement.Indicator" является устаревшим: "This property is no logner uses." C:\Users\ДНС\Documents\Алготрейдинг\Архив s# обучение\StockSharp_Edu\05_lesson (Algotrading)\BollingerBandsRobot\MainWindow.xaml.cs 204 21 BollingerBandsRobot
Сергей Гаврилов, [25.12.14 17:40] В это пример придется внести немало изменений. Во-первых, нужно определить переменные: private BollingerBands _bollingerIndicator; private RateOfChange _rocIndicator; private ExponentialMovingAverage _maIndicator; private ExponentialMovingAverage _ma1Indicator;
Сергей Гаврилов, [25.12.14 17:44] Тогда стратегия инизиализируем так, //создаем экземпляр стратегии var bs = new BollingerBandsStrategy(_bollingerIndicator, _rocIndicator,_maIndicator,_ma1Indicator,_series,TakeprofitParam,StoplossParam) ;
Сергей Гаврилов, [25.12.14 17:45] Потом придется внести изменения в метод Draw(Candle candle)..
Сергей Гаврилов, [25.12.14 17:47] В ближайшее время планируется выложить новые версии пример. Решайте или сами дальше будете разбираться или подождите новую версию...
Алексей (kvazar) Украинцев, [25.12.14 18:16] Спасибо, попробую сам, но новые примеры необходимы. Разбираться в библиотеках не так уж легко.
Алексей (kvazar) Украинцев, [25.12.14 18:18] Сужу по себе, я разработчик БД. ДЛя меня не так сложен новый язык c#, как разобраться в иерархиях и применимости по ситуации библиотек и классов.
Алексей (kvazar) Украинцев, [28.12.14 23:52] Сергей, про ближайшее время по обновлению примеров все же спрошу- ориентир? И еще вопросы: есть ли особенности по работе с неколькимии таймфреймами одновременно по одному инструменту? таких примеров не нашел. как работать с индикатором на часовике - для построения он должен брать информацию прошлых дней, как его строить онлайн?
Алексей (kvazar) Украинцев, [29.12.14 00:30] Михаил, есть надежда на обновляемую актуальную документацию в ближайшем будущем? Спрашиваю без подколки. s# это больше для себя или больше коммерческий проект?
Mikhail, [29.12.14 01:04] Основная задача на 2015 год.
Mikhail, [29.12.14 01:04] Но документация для первого старта актуальна более чем на 80 процентов.
Алексей (kvazar) Украинцев, [29.12.14 01:07] Это очень хорошо, без актуальной документации нелегко, тогда проект оживет ну или заживет новой жизнью.
Алексей (kvazar) Украинцев, [29.12.14 01:20] И побольше актуальных примеров, обновлений видео, т.е. народ должен чуствовать движение - жизнь, например, как у Чечета. Это желательно на периодической основе делать. Например, взять и записать вебинар - ответы на вопросы, или просто робота заделать, но не простого, а посложнее. Объяснить структуру библиотек - особенно стратегий, как работают и т.д. Сам по себе сужу - в разработке 1,5 года один проект БД, немаленький, каждый день что-то меняется -гонка. Месяц назад взял паузу - остановился зафиксить достигнутое в мозгах и дать народу высказаться, чтобы воплотить в жизнь все пожелания пользователей. Я к тому, что может лучше шлифануть на каком-то этапе. чтобы потом двигаться снова вперед. Ну это, впрочем, просто мысли.
Активная техподдержка 29 декабря 2014 - 08 января 2015 г.
Владимир (vow001) Русаков, [29.12.14 11:04] Добрый день, возвращаясь к вопросу получения свечей через DDE с Quik через ProcessCandle, выяснил, что свечи получаются только по акциям, по фьючерсам событие не срабатывает и свечи не приходят. С чеи это может быть связано? (таблицу Все сделки (Таблица всех сделок) настроил, там значения по фьючерсам показываются)
Сергей Гаврилов, [29.12.14 13:29] В инструменты (текущая таблица) фьючерс добавлен?
Владимир (vow001) Русаков, [29.12.14 13:34] Да, добавлен (и в таблицу Инструменты, и в Текущая таблица)
Сергей Гаврилов, [29.12.14 13:35] ваш код выложите..
Владимир (vow001) Русаков, [29.12.14 13:48] такой же, как в Видео-уроке 3. Часть 1. Стратегии.
Владимир (vow001) Русаков, [29.12.14 13:49] [ Document : 29122014.txt ]
Сергей Гаврилов, [29.12.14 13:56] Вы уверены, что именно через DDE подключаетесь?
Владимир (vow001) Русаков, [29.12.14 14:00] Да, все как в уроках описано, я последовательно делаю
Сергей Гаврилов, [29.12.14 14:24] Чтобы подключиться через DDE вот такой код должен быть.. ConnectionInterFace.SafeConnection = new SafeConnection(new QuikTrader(QuikTerminal.GetDefaultPath()) );
Сергей Гаврилов, [29.12.14 14:25] Посмотрите в терминале у Вас скрипт Lua включен?
Сергей Гаврилов, [29.12.14 14:32] Владимир, еще вопрос... Вы референсы на 4.2.43 поменяли?
Владимир (vow001) Русаков, [29.12.14 14:48] Да, я использую ссылки версии 4.1. Но сейчас вроде бы по RiZ5 свечи стали появляться. Спасибо, дальше пока сам буду разбираться.
Сергей Гаврилов, [29.12.14 14:53] Для Aleksey Ukraintsev: Для работы с разными таймфремами нужно создать для каждого таймфрейма свою CandleSeries.. Каждая серия запускается отдельно при помощи метода CandleManager.Start. Обработать серии можно или в отдельных событиях Series.ProcessCandle или в candlemanager.Processing.
Сергей Гаврилов, [29.12.14 14:56] _series = new CandleSeries(typeof(TimeFrameCandle), _lkoh, TimeSpan.FromMinutes(1)); _series5 = new CandleSeries(typeof(TimeFrameCandle), _lkoh, TimeSpan.FromMinutes(5));
_series.ProcessCandle += candle => { Console.WriteLine("минутка"); };
_series5.ProcessCandle += candle => { Console.WriteLine("пятиминутка"); };
_candlemanager.Processing += (series, candle) => { if ((TimeSpan)candle.Arg == TimeSpan.FromMinutes(1)) { Console.WriteLine("минутка"); } if ((TimeSpan)candle.Arg == TimeSpan.FromMinutes(5)) { Console.WriteLine("пятиминутка"); } };
_candlemanager.Start(_series); _candlemanager.Start(_series5);
Алексей (kvazar) Украинцев, [29.12.14 21:47] Сергей, спасибо попробую
Сергей Гаврилов, [31.12.14 13:46] С Новым Годом! 🌲
Денис (rtDen), [05.01.15 09:56] С наступившим всех!
Алексей (kvazar) Украинцев, [06.01.15 22:25] С Наступающим Рождеством!
Сергей Гаврилов, [06.01.15 22:25] 🌲
Александр Спирин, [08.01.15 18:17] Здравствуйте! Можете подсказать урок/пример, в котором показано, как вести журнал стратегии? - хочется увидеть реестр заявок, сделок и позиций. Заранее спасибо.
Александр Спирин, [08.01.15 18:20] Или хотя бы S#-классы, которые могут быть полезны...
Сергей Гаврилов, [08.01.15 18:27] В уроке №5 "BollindgerBandsRobot" показано логгирование стратегии в специальном окне private readonly LogManager _logManager; //окно для мониторинга торговой системы private readonly MonitorWindow _monitor = new MonitorWindow();
Александр Спирин, [08.01.15 18:28] Сергей, да, я видел окно, но как мне получить журнал в файл? - типа eXcel'я...
Сергей Гаврилов, [08.01.15 18:28] В уроке №8 "Testing" показано как использовать специальное окно для отображения заявко и сделок..
Александр Спирин, [08.01.15 18:29] И смое интересное - как мне собрать сделки в позицию? - PnL можно подсчитать лишь в рамках позиции, отдельные сделки не помогут...
Сергей Гаврилов, [08.01.15 18:29] понятно, тогда чуть попозже я Вам примерный код напишу, там нужно просто слушателя на файловый вывод поменять..
Александр Спирин, [08.01.15 18:29] да, спасибо, - жду.
Александр Спирин, [08.01.15 19:49] Чергей
Александр Спирин, [08.01.15 19:50] Сергей, а позвольте общий вопрос: мне прислали план обучения (https://vk.com/pages?oid=-66650972&p=План обучения ( https://vk.com/pages?oid=-66650972&p=%D0%9F%D0%BB%D0%B0%D0%BD%20%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F )) - я его прошёл. Мой\вопрос: что дальше?
Сергей Гаврилов, [08.01.15 19:51] В смысле что дальше?
Сергей Гаврилов, [08.01.15 19:51] Робота пока не сможете написать?
Александр Спирин, [08.01.15 19:53] Это обучение - это всё, что S# хотел мне рассказать о том, как им пользоваться? Например, я не нашёл ни одного видео про S#.Studio, ни слова не услышал про то, что такое S#.Shell и как им пользоваться...
Сергей Гаврилов, [08.01.15 19:59] Там же около 40 различных видео лежит..
Сергей Гаврилов, [08.01.15 20:01] Shell - это оболочка из которой Вы можете запустить и протестировать готовые стратегии..
Сергей Гаврилов, [08.01.15 20:01] Про S#.Studio ничего не могу сказать, не знаю...
Валерий Песчинский, [08.01.15 20:02] Вопрос по поводу документации: подскажите, когда появится нормальная, своевременно обновляемая документация по стокшарпу?
Сергей Гаврилов, [08.01.15 20:06] Репост ответа Михаила на этот вопрос "Основная задача на 2015 год. 12:05:42 AM Но документация для первого старта актуальна более чем на 80 процентов."
Валерий Песчинский, [08.01.15 20:12] Это понятно, что задача на 2015 год. Вопрос в том, когда эта задача выполнится? К примеру по смарткому, 100% документации неактуально (имею ввиду раздел коннекторы--Смартком). Мне просто непонятен вот какой момент, я заплатил деньги за актуальное обучение, техподдержку. По факту - видео старые, часть методов неактуально. При просмотре видео и повторяя сказанное в нем в коде, приходится еще искать по форуму изменения. Документация не обновляется. Когда обновится, срок суппорта истечет..
Сергей Гаврилов, [08.01.15 20:16] Примеры с изменениями под 4.2.43 и описанием отличий от видео будет выложены совсем скоро 1-2 дня
Сергей Гаврилов, [08.01.15 20:20] По поводу видео я с Вами не согласен. Практически все видео актуальные, за исключением небольших изменений в библиотеке.. Но библиотека обновляется каждый месяц, невозможно каждый месяц снимать новое видео..
Валерий Песчинский, [08.01.15 20:22] 1 видео в месяц - вполне посильная задача, я считаю. Но да ладно.
Денис (rtDen), [08.01.15 20:22] А видео вообще снимать не надо. Обучающие материалы написанные текстом намного удобнее видео
Валерий Песчинский, [08.01.15 20:23] Ну да, или текст
Сергей Гаврилов, [08.01.15 20:24] Насчет текста Вы наверно правы..
Александр Спирин, [08.01.15 20:36] Поддерживаю идею с текстом - это и использовать проще, и сделать быстрее.
Александр Спирин, [08.01.15 20:37] Однока про S#.Shell - кроме самого проекта какое-то описание/видео имеется?
Сергей Гаврилов, [08.01.15 20:37] Для Alexander Spirin. ///
/// Создаем и запускаем стратегию ///
private void InitStrategy() {//создаем экземпляр стратегии var bs = new BollingerBandsStrategy(_bollingerIndicator, _rocIndicator,_maIndicator,_ma1Indicator,_series,TakeprofitParam,StoplossParam) ;
//добавляем источник информации трейдера _logManager.Sources.Add(bs);
// Создаем новый "слушатель" для записи в файл var fl = new FileLogListener("{0}{1:00}{2:00}.txt".Put(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day));
// Если нужно, чтобы в файл писались сообщения только от этой стратегиии, настраиваем фильтр fl.Filters.Add(msg => msg.Source == bs);
// добавляем слушатель в список "слушателей" _logManager.Listeners.Add(fl);
Connection.SafeConnection.Trader.RegisterMarketDepth(bs.Security);
//подписываем ся на собятия появления новых сделок и заявок по данной стратегии bs.NewMyTrades += DrawTrades; bs.OrderRegistered += DrawOrders;
//запускаем стратегию bs.Start(); }
Александр Спирин, [08.01.15 20:39] Сергей, спасибо за пример кода.
Сергей Гаврилов, [08.01.15 20:39] Я вставил пример как настроить слушателей, метод InitStrategy из проекта BollingerBandsRobot
Александр Спирин, [08.01.15 20:40] Да я понял ))
Сергей Гаврилов, [08.01.15 20:43] Коллеги. Я изучал за последние годы много всяких API и технологий.. И для себя вывел, что самый лучший способ - это начать делать свой маленький проект и по ходу дела разбираться с ньюансами... А пытаться сначала изучить все, а потом начать делать..... На это годы уйдут..
Александр Спирин, [08.01.15 21:10] Сергей, мне для стратегии нужны уровни - поддержки и сопротивления, в смысле пики и впадины. Есть в S# какие-то классы, которые могут мне помочь определить уровни? Я нашёл лишь Highest и Lowest, но что они делают я понял слабо (? определяют максимальное значение из предоставленных ?)
Александр Спирин, [08.01.15 21:43] Прошу предоставить мне доступ к репозиториям StockSharp - пользователь spirin.alexander@gmail.com. Заранее спасибо.
Активная техподдержка 09 января 2015 - 10 января 2015 г.
Сергей Гаврилов, [09.01.15 01:38] // Насколько я знаю, простых путей тут нет:
// Возвращает максимальную цену 20 последних свечей var highest = _series.GetCandles(20).Max(c => c.HighPrice);
// Возвращает свечу с максимальной ценой из 20 последних свечей var highestcandle = _series.GetCandles(20).Aggregate((prev, next) => next.HighPrice > prev.HighPrice ? next : prev);
// Возвращает индекс свечи с максимальной ценой из 20 последних свечей var highestindex = _series.GetCandles(20).ToList().IndexOf(highestcandle);
Сергей Гаврилов, [09.01.15 01:42] Можете на базе этих примеров, написать для себя методы расширения для CandleSeries, тогда код будет проще..
Александр Спирин, [09.01.15 12:48] Да, спасибо за примеры. Я в примерах нашёл вполне для меня подходящий привод для Смарткома, поэтому могу перейти к стратегии. И сразу возникает вопрос об оптимизации: что в S# есть в помощь оптимизатору? Выглядит так, что S#.Studio, но она выглядит такой развесистой...
Александр Спирин, [09.01.15 13:00] Сергей, и ещё вопрос: я размер позиции определяю в зависимости от дневных потерь (речь идёт о торговде внутри дня), и мне необходим класс, реализующий управление рисками - есть в S# класс, реализующий что-то подобное, на что я мог бы опереться?
Сергей Гаврилов, [09.01.15 13:09] Оптимизация - оптимизация параметров стратегии?
Александр Спирин, [09.01.15 13:11] Да, оптимизация параметров стратегии.
Сергей Гаврилов, [09.01.15 13:14] думаю, что нет.. Здесь принцип тестирования другой..
Сергей Гаврилов, [09.01.15 13:15] зато более реальный
Александр Спирин, [09.01.15 13:15] А можете кратко рассказать о приниципе? - это оччень интересно!
Сергей Гаврилов, [09.01.15 13:22] тут дело в другом, в тестерах, где есть оптимизация, данные представляют как вектор, точки входа как вектор, а затем с этими векторами оперируют...За счет этого достигается высокая скорость, но теряется реальность..
Сергей Гаврилов, [09.01.15 13:27] В s# вы тестите фактически на тиках, т.е. реальность выше, но скорость ниже..
Сергей Гаврилов, [09.01.15 13:29] понятно объяснил или нет?
Александр Спирин, [09.01.15 13:30] Да, с приниципами тестирвоания - понятно. А с управлением рисками посоветуете что-нибудь?
Сергей Гаврилов, [09.01.15 13:34] а в управлении рисками Вам нужно, чтобы параметры специфические расчитывались, отимальное ф и т.п.?
Александр Спирин, [09.01.15 13:42] Говоря о сути, мне хочется максимально вписаться в методологию S# - поменьше выписывать своего, побольше использовать готового. Говоря о деталях - есть размер потерь, допустимый для одного торгового дня, и есть потери, уже сделанные в этот день к настоящему моменту: требуется рассчитать размер позиции, исходя из цены открытия, целевой цены и риска в этой позиции. Но, повторюсь, вопрос не в том, как это вычислить, а в том, есть ли в S# любой готовый класс, выполняющий управление рисками: после получения сигнала на открытия позиции, но до регистрации заявки, необходимо обращение к классу управления рисками, который вычислит размер позиции.
Сергей Гаврилов, [09.01.15 13:50] есть набор рисковых правил, которые зажигают событие при определенном условии риска, типа pnl меньше определенного значения, или размер позы больше определеного значения
Александр Спирин, [09.01.15 13:51] т.е. методологически управление рсиками реализуется не классом, а набором правил?
Сергей Гаврилов, [09.01.15 13:51] классов, которые бы реализовывали определенную методику управления риском - нет..
Сергей Гаврилов, [09.01.15 13:52] методик
Александр Спирин, [09.01.15 13:53] Спасибо, с управлением рисками - понятно.
Александр Спирин, [09.01.15 13:55] Сергей, ещё вопрос: у меня стратегия входит в позицию стоп-заявкой, и такие стоп-зафвки расставляются по многим инструментам: ежели по одному инструменту позиция открывается, то по всем другим стоп-заявки снимаются. Вопрос: есть ли какой пример, реализующий (любую) работу сразу с несколькими инструментами?
Сергей Гаврилов, [09.01.15 14:06] Таких примеров точно нет, сразу как это сделать ответить не могу, нужно подумать
Александр Спирин, [09.01.15 14:08] Я был бы признателен за совет в части архитектуры - здесь, конечно, требуется понимание S# большее, чем есть у меня.
Сергей Гаврилов, [09.01.15 14:09] кстати о рисках, в стратегии есть рискменеджер и риск правила в него добавляютя
Сергей Гаврилов, [09.01.15 14:10] позиции сразу по нескольким инструментам могут быть открыты?
Александр Спирин, [09.01.15 14:10] в данном случае - нет (интересно, конечно, но не сейчас)
Александр Спирин, [09.01.15 14:14] " в стратегии есть рискменеджер..." - в классе Strategy я виду PositionManager и SlippageManager, других не вижу.
Сергей Гаврилов, [09.01.15 14:14] т.е. если поза по одному из инструментов открылась, то мы удалили стоп заявки и больше за этими инструментами не следим, когда позу закрыли, начинаем все сначала...
Сергей Гаврилов, [09.01.15 14:16] stocksharp.algo.rick
Сергей Гаврилов, [09.01.15 14:16] risk
Александр Спирин, [09.01.15 14:20] [ Photo ]
Александр Спирин, [09.01.15 14:20] Его нет в документации...
Александр Спирин, [09.01.15 14:21] А пример к нему есть какой-нибудь?
Александр Спирин, [09.01.15 14:22] "т.е. если поза по одному из инструментов открылась, то мы удалили стоп заявки и больше за этими инструментами не следим, когда позу закрыли, начинаем все сначала..." - да, именно так. Но в отсутствии позиции надо наблюдать за несколькими инструментами.
Сергей Гаврилов, [09.01.15 14:23] у вас версия s# какая?
Сергей Гаврилов, [09.01.15 14:32] но все равно, riskrules больше направлены на выполнение действий: закрыть позу, остановить стратегию, а не на управление размером позы
Александр Спирин, [09.01.15 14:33] что касается документации, то на снимке - страница с сайта... а вообще-то 4.2.42
Сергей Гаврилов, [09.01.15 19:24] Используйте offline документацию из загрузки 4.2.43 - она более актуальна
Мария Крень, [10.01.15 16:21] Добрый вечер! Такой вопрос у меня возник. После запуска робота я выбираю инструмент. Регистрирую его ... trader.RegisterSecurity(security); trader.RegisterTrades(security);
Последняя сделка видна и все отлично.
Потом я хочу использовать другой инструмент. Я делаю trader.UnRegisterSecurity(security); trader.UnRegisterTrades(security);
А потом регистрирую следующий элемент, но lasttrade для него пустой. Подскажите, пожалуйста, что я делаю не так?
Мария Крень, [10.01.15 16:22] инструмент*
Мария Крень, [10.01.15 16:22] В таблице, в квике сделки есть по обоим инстументам.
Сергей Гаврилов, [10.01.15 16:23] С Новым Годом!
Мария Крень, [10.01.15 16:23] Спасибо, и Вас!
Сергей Гаврилов, [10.01.15 16:26] А сделки в событии NewTrades идут?
Мария Крень, [10.01.15 16:27] после какого события? После перерегистрации?
Сергей Гаврилов, [10.01.15 16:27] да
Мария Крень, [10.01.15 16:33] Сейчас проверю)
Сергей Гаврилов, [10.01.15 16:57] Возможно это баг.. Я такой ситуацией сталкивался, когда после UnRegisterTrades невозможно снова перезапустить тот же инструмент. Я в этом случае просто отписывался от события.. Но с другим инструментов это не прокатит..
Мария Крень, [10.01.15 16:58] Я что-то не понимаю как NewTrades посмотреть... просто точку останова на события поставить или как?
Сергей Гаврилов, [10.01.15 16:59] конечно..
Сергей Гаврилов, [10.01.15 16:59] На обработчик..
Мария Крень, [10.01.15 17:00] Дада, просто у меня до туда не доходит
Мария Крень, [10.01.15 17:01] Он сразу с ошибкой падает, что trader null
Мария Крень, [10.01.15 17:04] Так что не понятно что делать
Сергей Гаврилов, [10.01.15 17:04] А без UnregisterSecurity ошибки, как я понял нет?
Мария Крень, [10.01.15 17:05] Есть
Мария Крень, [10.01.15 17:06] Все равно lasttrade не появляются
Сергей Гаврилов, [10.01.15 17:09] код можно посмотреть?
Мария Крень, [10.01.15 17:11] Да, сейчас
Мария Крень, [10.01.15 17:14] var trader = MainWindow.Instance.Trader; foreach (var security in MainWindow.Instance.Trader.RegisteredSecurities) { trader.UnRegisterSecurity(security); trader.UnRegisterTrades(security); } foreach (var instr in MainWindow.Instance._securitiesWindow.SecurityPicker.Securities) { if (TexBoxSec.SelectedItem == instr.Code) GlobalCore.Core.CurSec = instr; } trader.RegisterSecurity(GlobalCore.Core.CurSec); trader.RegisterTrades(GlobalCore.Core.CurSec);
foreach ( var pf in MainWindow.Instance._portfoliosWindow.PortfolioGrid.Portfolios) TexBoxPf.Items.Add(pf);
Сергей Гаврилов, [10.01.15 17:19] Это из примера код или Ваш?
Мария Крень, [10.01.15 17:19] мой, но он не особо отличается
Сергей Гаврилов, [10.01.15 17:20] А какой пример?
Мария Крень, [10.01.15 17:20] Кстати
Мария Крень, [10.01.15 17:20] В примере все тоже странно работает
Мария Крень, [10.01.15 17:21] Когда я жму кнопку level 1 он начинает отображать информаци по инструменту, а потом отключаю левел 1 и выбираю другой инструмент и не срабатывает
Сергей Гаврилов, [10.01.15 17:21] Это какой пример?
Мария Крень, [10.01.15 17:21] Sample
Сергей Гаврилов, [10.01.15 17:26] Сейчас посмотрю, но как я говорил, с Unregister - это скорее всего баг..
Мария Крень, [10.01.15 17:26] окай
Активная техподдержка 11 января 2015 - 14 января 2015 г.
Сергей Гаврилов, [11.01.15 07:46] Unregister(ы) вообще не останавливают поступление данных.. Послал эту ошибку в BagTracker..
Mikhail, [11.01.15 09:28] Ишью закрыта. Это ошибка или ложная проблема?
Сергей Гаврилов, [11.01.15 11:56] Ошибка. Нечаянно дубликат сделал, а как удалить не нашел.
Александр Спирин, [13.01.15 12:45] Здравствуйте! Помогите написать свой индикатор - не получается. Наследуюсь от класса LengthIndicator (ибо будет возвращаться одно числовое значение), поэтому метод OnProcess приобретает следующее описание: protected override IIndicatorValue OnProcess(IIndicatorValue input). Теперь хочу вернуть число типа decimal (return -1;) - и получаю ошибку компилятора - он не может преобразовать.
Как мне это преодолеть?
Сергей Гаврилов, [13.01.15 14:35] Попробуйте так: return new DecimalIndicatorValue(Decimal value);
Сергей Гаврилов, [13.01.15 14:42] Т.е. тип, который вы возвращаете, должен реализовывать интерфейс IIndicatorValue..
Александр Спирин, [13.01.15 17:21] Сергей, спасибо - помогло.
Александр Спирин, [13.01.15 17:25] Ещё одно затруднение у меня: взял проект SampleSmartSMA, скопировал его в другую директорию, и стал дописывать под свои нужды - он компилироваться перестал: в методе private void MakeMarketOrder(Sides direction, decimal volume) { var price = direction == Sides.Buy ? Security.GetMarketDepth().BestAsk.Price : Security.GetMarketDepth().BestBid.Price; var order = this.CreateOrder(direction, price, volume); RegisterOrder(order); } метод GetMarketDepth() - не распознаётся компилятором, а текст ошибки такой: Error 1 'StockSharp.BusinessEntities.Security' does not contain a definition for 'GetMarketDepth' and no extension method 'GetMarketDepth' accepting a first argument of type 'StockSharp.BusinessEntities.Security' could be found (are you missing a using directive or an assembly reference?) C:\Users\Александр\Documents\Visual Studio 2012\Projects\My\SampleSmartSMA\SuhovBandsStrategy.cs 266 50 SampleSmartSMA
Александр Спирин, [13.01.15 17:26] Сколько я не проверял, состав библиотек в Reference проекта не изменился...
Александр Спирин, [13.01.15 17:26] Что бы это могло значить?
Сергей Гаврилов, [13.01.15 17:27] Насчет шаблона для Вашей стратегии... В репозитарии stosksharp.visualstudio.com я делаю проект с примером шаблона BasketMarketRulesTemplate. Он пока еще не работает, но сам принцип можете посмотреть..
Сергей Гаврилов, [13.01.15 17:28] У класса Security есть свойства BestAsk/BestBid ими пользуйтесь
Александр Спирин, [13.01.15 17:28] Спасибо - я обязательно посмотрю. Только доуступа к репозитарию у меня нет (( - я и писал сюда, и писал письмо на lesson@ - не помогает. Можете мне предоставить доступ? - spirin.alexander@gmail.com
Сергей Гаврилов, [13.01.15 17:28] метод GetMarketDepth теперь к классу Connector прикручен..
Сергей Гаврилов, [13.01.15 17:30] Доступами не я занимаюсь это или Михаил или Юрий..
Александр Спирин, [13.01.15 17:36] Я напишу ещё раз.
Александр Спирин, [13.01.15 17:36] Сергей, снова что-то непонятное - компилтор не может найти файл с иконкой (тескт ошибки такой: Error 1 Error generating Win32 resource: Error reading icon 'c:\Users\Александр\Documents\Visual Studio 2012\references\stocksharp.ico' — The system cannot find the path specified. C:\Users\Александр\Documents\Visual Studio 2012\Projects\My\SampleSmartSMA\obj\Debug\SampleSmartSMA.exe SampleSmartSMA
Александр Спирин, [13.01.15 17:37] действительно, её и нет по этому пути - я вовсе удалил иконку из проекта, а ошибка остаётся...
Сергей Гаврилов, [13.01.15 17:37] Там проблема в другом мелкосовт денег за репозитарий хочет..
Александр Спирин, [13.01.15 17:37] Эо вполне в его стиле, но жить-то как?
Yury Basangov, [13.01.15 17:39] Поэтому мы и перешли на выгрузку примеров.
Yury Basangov, [13.01.15 17:40] В принципе можем дать доступ, но готовы ли вы за это платить? По сути вопрос то в этом, для нас нет ничего невозможного.
Александр Спирин, [13.01.15 17:41] Это новая для меня постановка вопроса. А какова альтернатива?
Yury Basangov, [13.01.15 17:42] Альтернатива это примеры в группе ВК. В целом они идентичны тому что есть в репозитарии
Александр Спирин, [13.01.15 17:44] [ Photo ]
Александр Спирин, [13.01.15 17:44] "Мы сами неместные..." - ссылку можете дать? Я не могу найти примеры
Сергей Гаврилов, [13.01.15 17:46] Александр, репозитарий - это вообще-то инструмент для совместной разработки.. Он Вам в принципе не нужен.
Сергей Гаврилов, [13.01.15 17:49] Если Вы хотите для себя использовать систему контроля версий TFS, то можете просто зарегить свой аккаунт и свой проект.. Это будет бесплатно..
Сергей Гаврилов, [13.01.15 17:49] А этот пример, когда доделаю, выложу или здесь или в VK..
Александр Спирин, [13.01.15 17:52] Да я не против, просто во многих местах на сайте написано ( и в видео-презентации на youtube) сказано, что доcтуп к исходникам даётся через репозитарий, и для получения доступа... - так я и начал делать. Раз по-другому - договорились, буду делать по-другому. Только объясните, как именно - не могу я найти в группе ВК примеры... И поясните, как я могу увидеть исходные коды самого S# - это имеет значение.
Сергей Гаврилов, [13.01.15 17:53] В VK ищите раздел Документы..
Сергей Гаврилов, [13.01.15 17:54] Доступа к исходным кодам самого S# нет...
Александр Спирин, [13.01.15 17:55] ок, хотя бы с этим понятно.
Александр Спирин, [13.01.15 17:56] Есть! - нашёл Документы... - там большой архив - его качать?
Сергей Гаврилов, [13.01.15 17:57] В принципе когда со стратегиями будете на "ты", Вам нужно будет Shell изучить (он с исходниками)... и в него свои стратегии вставлять..
Сергей Гаврилов, [13.01.15 17:58] То что с OL - это архив ордер-логов..
Сергей Гаврилов, [13.01.15 17:59] Обновленные примеры в StockSharp.Edu.4.2.43.7z
Александр Спирин, [13.01.15 17:59] да, я понял, что Shell предназначен для этого, только мне его даже скомпилировать не удаётся - пока: доберусь позже.
Сергей Гаврилов, [13.01.15 17:59] Вот именно пока не заморачивайтесь..
Александр Спирин, [13.01.15 18:00] так а что мне делать с этим ico-файлом, которого компилятор найти не может, хотя его и в проекте-то нет?
Сергей Гаврилов, [13.01.15 18:02] Вы в поиске в "Пуск" попробуйте это файл найти
Сергей Гаврилов, [13.01.15 18:03] и вставьте туда, куда он просит..
Александр Спирин, [13.01.15 18:04] Да что его искать - он известно где, в папке References, рядом с библиотеками лежит... Вот только в проекте мне не удаётся изменить путь к нему: финальная попытка - я просто удалил его из проекта - и получил ошибку при компиляции. Ч то ещё можно попробовать?
Александр Спирин, [13.01.15 18:04] Спасибо, с архивом получилось.
Сергей Гаврилов, [13.01.15 18:06] Это пример, который с поставкой S# идет?
Александр Спирин, [13.01.15 18:09] Да - это пример для Смарткома - SampleSmartSMA
Сергей Гаврилов, [13.01.15 18:19]
Сергей Гаврилов, [13.01.15 18:20] На закладке Application
Сергей Гаврилов, [13.01.15 18:21] 2. Потом проверьте свойства иконки в самом проекте
Сергей Гаврилов, [13.01.15 18:22] Должно быть так Build Action = Resource
Сергей Гаврилов, [13.01.15 18:23] И путь также в свойствах иконки проверьте..
Владимир (vow001) Русаков, [13.01.15 22:27] Добрый вечер, подскажите, пожалуйста, можно ли как-нибудь при создании заявок в Квик указывать проскальзывание?
Сергей Гаврилов, [13.01.15 23:27] Нет...
Сергей Гаврилов, [13.01.15 23:30] Вы же сами можете указать в лимитке цену лучшей котировки +- смещение цены..
Владимир (vow001) Русаков, [13.01.15 23:31] А, ясно. Спасибо
Денис (rtDen), [14.01.15 09:27] Добрый день!
Денис (rtDen), [14.01.15 09:27] Как сделать в стратегии чтоб какое-нибудь правило вызывалось постоянно (аналог таймера)?
Денис (rtDen), [14.01.15 09:28] По моему в уроках что-то такое было, но не могу вспомнить сейчас
Денис (rtDen), [14.01.15 11:40] не понимаю как until работает
Денис (rtDen), [14.01.15 11:40] есть код:
Денис (rtDen), [14.01.15 11:40] в стратегии
Денис (rtDen), [14.01.15 11:40] protected override void OnStarted() { this.AddInfoLog("Старт пресчета позиции"); this.WhenStarted() .Do(() => this.AddInfoLog("ttt")) .Until(() => false) .Apply(this); base.OnStarted(); }
Денис (rtDen), [14.01.15 11:40] почему в лог "ttt" выводится один раз только?
Сергей Гаврилов, [14.01.15 11:49] так стратегия только один раз стартует
Денис (rtDen), [14.01.15 11:50] да, я уже догадался - until это доп условие для выключение правила, а не зацикливание обработчика в do
Денис (rtDen), [14.01.15 11:50] а что по поводу первого вопроса
Денис (rtDen), [14.01.15 11:51] про "таймер"
Сергей Гаврилов, [14.01.15 11:51] Так просто таймер сделать и надо..
Сергей Гаврилов, [14.01.15 11:51] Или цикл...
Сергей Гаврилов, [14.01.15 11:51] Другого способа нет..
Денис (rtDen), [14.01.15 11:53] ок, почему то думал, что в примерах был какой-то механизм для этого
Денис (rtDen), [14.01.15 11:53] сделаю циклом
Сергей Гаврилов, [14.01.15 11:54] циклом можно, но цикл будет жрать много ресурсов..
Денис (rtDen), [14.01.15 11:54] ну я же слип вставлю
Денис (rtDen), [14.01.15 11:54] обработчик же в отдельном потоке вызывается?
Сергей Гаврилов, [14.01.15 11:55] это зависит от того в каком потоке событие зажгли..
Сергей Гаврилов, [14.01.15 11:56] А события правила?
Денис (rtDen), [14.01.15 11:56] хм..ясно
Денис (rtDen), [14.01.15 11:57] не понял вопрос..
Денис (rtDen), [14.01.15 11:57] хочу сделать стратегию для пересчета моей позиции
Сергей Гаврилов, [14.01.15 11:57] какой обработчик?
Денис (rtDen), [14.01.15 11:58] сейчас думаю в на событие правила стратегии started в обработчике запустить бесконечный цикл с обсчетом
Денис (rtDen), [14.01.15 11:58] и слипом в конце цикла
Сергей Гаврилов, [14.01.15 11:59] А зачем этот цикл, когда есть правило на изменение позиции..
Денис (rtDen), [14.01.15 11:59] позиция не меняется
Сергей Гаврилов, [14.01.15 12:00] а чего пересчитывать, если не поменялась?
Денис (rtDen), [14.01.15 12:00] это опционная позиция, меняется цена БА, волатильность на бирже
Денис (rtDen), [14.01.15 12:01] а это вывод в терминал, суммарных греков и еще разных показателей
Денис (rtDen), [14.01.15 12:01] сейчас работает просто в отдельном потоке, вот решил оформить код в виде стратегии
Сергей Гаврилов, [14.01.15 12:04] Просто цикл не есть good practice
Денис (rtDen), [14.01.15 12:05] а какой вариант?
Сергей Гаврилов, [14.01.15 12:06] поза все равно меняется от каких-то условий, вот по этим событиям и вызывай пересчет..
Денис (rtDen), [14.01.15 12:06] поза не меняется
Денис (rtDen), [14.01.15 12:06] а условия которые меняется напозу - наоборот происходят постоянно, цена фьюча непрерывно ходит
Денис (rtDen), [14.01.15 12:07] мне наоборот не надо так часто персчитывать
Денис (rtDen), [14.01.15 12:07] достаточно раз в пару секунд
Денис (rtDen), [14.01.15 12:07] не вижу, чем тут плох цикл
Сергей Гаврилов, [14.01.15 12:07] тогда таймер - это лучше цикла..
Денис (rtDen), [14.01.15 12:07] =) дак таймер это тот же цикл
Yury Basangov, [14.01.15 12:08] привяжи к событию изменение цены фьюча больше чем на х% от последнего значения и тогда вызывай пересчет.
Yury Basangov, [14.01.15 12:08] зачем каждый чих то персчитывать
Сергей Гаврилов, [14.01.15 12:08] В нем не надо ставить цикл, он сам вызовется в фоновом потоке..
Денис (rtDen), [14.01.15 12:09] меняется не только цена фьюча, меняются цены всех опционов, и их волатильности
Сергей Гаврилов, [14.01.15 12:11] Sleep работу потока останавливает..., а таймер, который из theading в фоновом потоке работает и никаких циклов и доп потоков городить не надо..
Сергей Гаврилов, [14.01.15 12:12] он ресурсов меньше съест..
Денис (rtDen), [14.01.15 12:13] собственно у меня и был вопрос - обработчик события в отдельном потоке вызывается всегда или нет
Сергей Гаврилов, [14.01.15 12:14] события правила?
Денис (rtDen), [14.01.15 12:14] да
Денис (rtDen), [14.01.15 12:14] ну если он вывзывается из того же потока, где зарейзили событие, то лучше естестественно запустить обсчет в отдельном потоке
Денис (rtDen), [14.01.15 12:14] а на счет того - заюзать таймер или руками создать фоновый поток и в нем цикл запустить - это практически одно и то же
Сергей Гаврилов, [14.01.15 12:15] в отдельном, но в этом же потоке и другие события приходят..
Денис (rtDen), [14.01.15 12:15] таймер работат точно также, выполняет действие и вызывает слип в своем потоке
Денис (rtDen), [14.01.15 12:16] разница в том, что таймер запускается в потоке из пула, а не создает новый, но при единичном экземпляре - это не важно совершенно
Сергей Гаврилов, [14.01.15 12:16] таймер на более низком уровне арботает, он все равно будет эффективнее..
Денис (rtDen), [14.01.15 12:24] ок, пусть будет таймер )
Сергей Гаврилов, [14.01.15 12:25] И код будет проще..
Сергей Гаврилов, [14.01.15 12:37] Кстати, в зацикленных потоках, наверно лучше не sleep, а WhiteOne пользовать..
Денис (rtDen), [14.01.15 12:39] а разблокировать поток откуда?
Сергей Гаврилов, [14.01.15 12:39] С аргументом
Денис (rtDen), [14.01.15 12:39] а.. да, там же время можно передать
Денис (rtDen), [14.01.15 12:42] может лучше... как-то не задумывался об этом
Денис (rtDen), [14.01.15 12:44] надо будет почитать на досуге, про низкоуровеные различия таймеров, слипов, вэйтов и т.д.
Денис (rtDen), [14.01.15 12:45] надеюсь дойдут руки когда-нибудь до этого
Александр Спирин, [14.01.15 21:02] помогите pls нарисовать ленту Боллинджера на графике:
Что с этим делать?
Сергей Гаврилов, [14.01.15 21:03] Скачай новые примеры из VK, там по другому рисуется..
Александр Спирин, [14.01.15 21:04] ок, спасибо - сейчас посмотрю...
Александр Спирин, [14.01.15 21:11] угу, всё понял - спасибо!
Активная техподдержка 15 января 2015 - 20 января 2015 г.
Сергей Гаврилов, [15.01.15 12:15] 2:55:01 PM Sergey Dvortsov
Александр Спирин, [15.01.15 12:17] Приветствую! Не получается в методе MainAlgorithm стратегии определить, последняя пришла свечка из серии или нет - вызовы не компилируются:
Александр Спирин, [15.01.15 12:17] var timeFrame = (TimeSpan)_series.Arg; - это нормально,
Александр Спирин, [15.01.15 12:18] а следующий - var time = timeFrame.GetCandleBounds(_series.Security).Min - timeFrame; - получаю ошибки компилятора: Error 2 Argument 2: cannot convert from 'StockSharp.BusinessEntities.Security' to 'System.DateTime' C:\Users\Александр\Documents\Visual Studio 2012\Projects\My\SampleSmartSMA\SuhovBandsStrategy.cs 95 50 SampleSmartSMA
и
Error 1 'System.TimeSpan' does not contain a definition for 'GetCandleBounds' and the best extension method overload 'StockSharp.Algo.Candles.CandleHelper.GetCandleBounds(System.TimeSpan, System.DateTime)' has some invalid arguments C:\Users\Александр\Documents\Visual Studio 2012\Projects\My\SampleSmartSMA\SuhovBandsStrategy.cs 95 24 SampleSmartSMA
Что я делаю не так?
Сергей Гаврилов, [15.01.15 12:20] для работы с разными таймфремами нужно создать для каждого таймфрейма свою CandleSeries.. Каждая серия запускается отдельно при помощи метода CandleManager.Start. Обработать серии можно или в отдельных событиях Series.ProcessCandle или в candlemanager.Processing. 2:57:44 PM _series = new CandleSeries(typeof(TimeFrameCandle), _lkoh, TimeSpan.FromMinutes(1)); _series5 = new CandleSeries(typeof(TimeFrameCandle), _lkoh, TimeSpan.FromMinutes(5));
_series.ProcessCandle += candle => { Console.WriteLine("минутка"); };
_series5.ProcessCandle += candle => { Console.WriteLine("пятиминутка"); };
_candlemanager.Processing += (series, candle) => { if ((TimeSpan)candle.Arg == TimeSpan.FromMinutes(1)) { Console.WriteLine("минутка"); } if ((TimeSpan)candle.Arg == TimeSpan.FromMinutes(5)) { Console.WriteLine("пятиминутка"); } };
_candlemanager.Start(_series); _candlemanager.Start(_series5);
Александр Спирин, [15.01.15 12:22] понял, попробую.
Сергей Гаврилов, [15.01.15 12:35] Метод TimeFrame.GetCandleBounds(Security) больше не используется, нужно использовать одну из новых перегрузок // TimeFrame.GetCandleBounds(DateTime), TimeFrame.GetCandleBounds(DateTime, ExchangeBoard), TimeFrame.GetCandleBounds(DateTime, WorkingTime)
Сергей Гаврилов, [15.01.15 12:36] var candleBounds = timeFrame.GetCandleBounds(Trader.GetMarketTime(_candleSeries.Security));
Александр Спирин, [15.01.15 12:37] Компилятор не понимает, что такое Trader - я в методе стратегии нахожусь...
Сергей Гаврилов, [15.01.15 12:38] Это пример..
Александр Спирин, [15.01.15 12:38] а по-другому я DateTime могу получить?
Сергей Гаврилов, [15.01.15 12:38] текущую дату вставь и все
Александр Спирин, [15.01.15 12:42] так работает, но что будет, если у меня на рабочей станции время разойдётся с торговой площадкой?
Сергей Гаврилов, [15.01.15 12:43] тогда из коннектора время получай, как я показал
Сергей Гаврилов, [15.01.15 12:44] var time = timeFrame.GetCandleBounds(Connector.GetMarketTime(Security)).Min - timeFrame; //находим время предпоследней свечк
Александр Спирин, [15.01.15 12:45] спасибо, так работает.
Александр Спирин, [15.01.15 12:54] Сергей, а как реализовать скользящий стоп-лосс? Из уроков я вынес, что для этого нужно использовать дочернюю стратегию stoploss, но где-то говорилось, что при изменении уровня цены её надо останавливать и перезапускать с новой ценой - вот это как делается?
Александр Спирин, [15.01.15 12:54] Моежт в примерах это есть?
Сергей Гаврилов, [15.01.15 12:55] Нет в примерах нет..
Сергей Гаврилов, [15.01.15 12:59] Если коротко, то в родительской стратегии создаете правило на повление новых сделок.. В этом правиле при появлении новых условий удаляете StopLoss из дочерних стратегий и добавляете новую с новй ценой..
Александр Спирин, [15.01.15 13:02] Почти понятно, но как удалить StopLoss из дочерних стратегий (её ещё и остановить надо, наверное?)
Сергей Гаврилов, [15.01.15 13:03] да. сначала остановить надо..
Сергей Гаврилов, [15.01.15 13:04] Стратегию удалить или заявку?
Александр Спирин, [15.01.15 13:06] Ммм... какую заявку? - StopLoss же стоп-заявок не ставит, не правда ли? Вы написали: "...удаляете StopLoss из дочерних стратегий..." - да, так как её удалить? и как её остановить перед удалением?
Сергей Гаврилов, [15.01.15 13:07] ChaildStrategies.Remove(Strategy)
Александр Спирин, [15.01.15 13:07] А остановить как?
Сергей Гаврилов, [15.01.15 13:21] Strategy.Stop
Сергей Гаврилов, [15.01.15 13:23] Это на всякий случай, скорее всего стратегия автоматически останавливается при удалении..
Сергей Гаврилов, [15.01.15 13:24] Посмотрите пример про арбитражную стратегию... Там показано как добавляют/удаляют дочерние стратегии..
Александр Спирин, [15.01.15 16:18] Я не нашёл в примере остановку для стратегии через Stop() - там такой вызов:ChildStrategies.Any(f => f is FastOrderStrategy && ((FastOrderStrategy) f).StrategySignal == FastStrategySignals.Exit);
Сергей Гаврилов, [15.01.15 16:19] Там показано, как их добавлять и удалять..
Александр Спирин, [15.01.15 16:20] Я смотрю на файл ArbitrageStrategy.cs из 6-го примера - это то, о чём Вы говорите?
Сергей Гаврилов, [15.01.15 16:22] но из этой или другой похожей конструкции Вы можете вернуть стратегию и вызвать метод Stop
Александр Спирин, [15.01.15 16:27] что-то такое? var sls = (StopLossStrategy)ChildStrategies.FirstOrDefault(s => s is StopLossStrategy); if( sls != null ) sls.Stop();
Сергей Гаврилов, [15.01.15 16:28] Или так или прямо в этой конструкции стоп
Александр Спирин, [15.01.15 16:33] А как Stop вызвать из эой конструкции? - код ChildStrategies.FirstOrDefault(s => s is StopLossStrategy && s.Stop()); не пропускает компилятор (не могу, говорит, оператор && применить к bool и void)
Сергей Гаврилов, [15.01.15 16:36] Там еще одну лямбду надо вставить..
Сергей Гаврилов, [15.01.15 16:49] ChildStrategies.FirstOrDefault(f => f is FastOrderStrategy).Stop();
Сергей Гаврилов, [15.01.15 16:49] С лямбдой я погорячился..
Александр Спирин, [15.01.15 16:50] Спасибо.
Сергей Гаврилов, [15.01.15 16:50] Но
Сергей Гаврилов, [15.01.15 16:52] Но, возможно, что это лишняя операция.. Скорее всего она сама останавливается, когда мы ее удаляем..
Сергей Гаврилов, [15.01.15 17:00] Вот такое правило для для дочерней стратегии сделай Strategy.WhenStopped() и посмотри возникает это событие после удаления без явной остановки или нет..
Александр Спирин, [15.01.15 17:02] А из какого поля правильно брать объём - Volume или LeftVolume (для StoppLoss-стратегии)?
Сергей Гаврилов, [15.01.15 17:06] Чего то я такого свойсва не нашел..
Сергей Гаврилов, [15.01.15 17:08] Вообще-то LeftVolume - это неисполненный остаток объема
Александр Спирин, [15.01.15 17:10] Мне Visual Studio подсказал... Дело в том, что по-уму-то надо дождаться остановки, и только когда она остановится спрашивать, какой объём остался - такой и защищать.
Владимир (vow001) Русаков, [16.01.15 13:53] Добрый день, подскажите пжл, какие существуют состояния у создаваемых в Квике заявок (по-моему, активна, исполнена и ещё какие-то) и с помощью какого события можно отслеживать изменения статуса заявки?
Сергей Гаврилов, [16.01.15 14:08] Там несколько событий OrdersRegisterFailed, NewOrders, OrdersChanged , и др..
Сергей Гаврилов, [16.01.15 14:09] OrdersCancelFailed
Сергей Гаврилов, [16.01.15 14:09] Со стопами - отдельные события..
Сергей Гаврилов, [16.01.15 14:10] Это события класса Connector
Владимир (vow001) Русаков, [16.01.15 14:11] Ясно, А как понять, что заявка исполнена? WhenRegistred?
Сергей Гаврилов, [16.01.15 14:11] А тебе событие для правила нужно..
Сергей Гаврилов, [16.01.15 14:13] Order.WhenMatched, Order.WhenPartiallyMatched
Сергей Гаврилов, [16.01.15 14:15] Плюс событие для сделки - Order.WhenNewTrades
Владимир (vow001) Русаков, [16.01.15 14:17] Спасибо, сейчас тогда в документации найду описание этих событий
Мария Крень, [17.01.15 20:59] Здравствуйте, подскажите есть ли переменная описывающая минимально и максимально возможную цену в Квике для инструмента?
Мария Крень, [17.01.15 21:00] это же тоже самое чтои верхний лимит и нижний?
Мария Крень, [17.01.15 21:04] Почему он по умолчанию ноль?
Сергей Гаврилов, [18.01.15 00:58] Если Вы под максимальной/минимальной ценой подразумеваете границы изменения цены внутри торговой сессии, то да, это и есть верхний/нижний лимит
Сергей Гаврилов, [18.01.15 01:02] Вот так попробуйте baseTrader.RegisterSecurity(Security); // Пробуем "научить" Квик-Трейдер правильно выставлять маркет-ордера при работе с фьючерсами //baseTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice); //baseTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice);
Александр Спирин, [18.01.15 12:35] Приветствую! Не получается свой индикатор на графике нарисовать - помогите pls: создаю графический элемент так: _suppLevelsElem1 = new ChartIndicatorElement { Title = "Support Level 1", Color = Colors.Red, StrokeThickness = 1 }; _area.Elements.Add(_suppLevelsElem1);
Добавляю на график так: var sv1 = _strategy.SuppLevels.GetFirstLevel(candle.HighPrice); var suppValue1 = (sv1 != -1) ? new ChartIndicatorValue(_strategy.SuppLevels, sv1) : null;
var dict = new Dictionary<IChartElement, object> { {_candlesElem, candle}, {_upBandElem, upBandValue}, {_lowBandElem, lowBandValue}, { _suppLevelsElem1, suppValue1 }, }; _chart.Draw(candle.OpenTime, dict);
И получается, что рисуется он у меня с отставанием (уровень возникает после большой красной свечи с длинными тенями в 18:45). Что я делаю не так?
Александр Спирин, [18.01.15 12:37] [ Photo ]
Александр Спирин, [18.01.15 12:38] А на графике получается вот что:
Александр Спирин, [18.01.15 12:38] Метод GetFirstLevel() фактически возвращает -1, пока уровень не возник.
Сергей Гаврилов, [18.01.15 16:14] Для начала нужно, просто вывести время и значения идикатора в лог или в окно Output и посмотреть корректно он расчитывается или нет
Александр Спирин, [18.01.15 21:33] Напечатал: вижу, что первое значение получено в 15-го 10:05, а на графике оно отражено в 14-го, в 21:45 01/14/2015 21:00:00 +03:00: supp. level = -1 01/14/2015 21:05:00 +03:00: supp. level = -1 01/14/2015 21:10:00 +03:00: supp. level = -1 01/14/2015 21:15:00 +03:00: supp. level = -1 01/14/2015 21:20:00 +03:00: supp. level = -1 01/14/2015 21:25:00 +03:00: supp. level = -1 01/14/2015 21:30:00 +03:00: supp. level = -1 01/14/2015 21:35:00 +03:00: supp. level = -1 01/14/2015 21:40:00 +03:00: supp. level = -1 01/14/2015 21:45:00 +03:00: supp. level = -1 01/14/2015 21:50:00 +03:00: supp. level = -1 01/14/2015 21:55:00 +03:00: supp. level = -1 01/15/2015 10:00:00 +03:00: supp. level = -1 01/15/2015 10:05:00 +03:00: supp. level = 73140 01/15/2015 10:10:00 +03:00: supp. level = 73140 01/15/2015 10:15:00 +03:00: supp. level = 73140 01/15/2015 10:20:00 +03:00: supp. level = 73140 01/15/2015 10:25:00 +03:00: supp. level = 73140
Александр Спирин, [18.01.15 21:34] [ Photo ]
Сергей Гаврилов, [18.01.15 21:43] Индикатор секретный?
Александр Спирин, [18.01.15 21:43] да нет...весь код показать?
Сергей Гаврилов, [18.01.15 21:44] В атачменте скиньте..
Александр Спирин, [18.01.15 21:45] [ Document : class.cs ]
Сергей Гаврилов, [18.01.15 21:47] Сами данные откуда берете?
Александр Спирин, [18.01.15 21:50] Это переделанный пример SampleSmartSma - мне кажется, что Вы быстрее поймёте, заглянув в код примера, чем слушать моё бормотание...
Сергей Гаврилов, [18.01.15 21:51] ок
Александр Спирин, [18.01.15 21:51] private void ProcessCandle(Candle candle) { if (candle.State == CandleStates.Finished) { _strategy.Atr.Process(candle); _strategy.SuppLevels.Process(candle); _strategy.RestLevels.Process(candle); }
_strategy.BollBands.Process(new DecimalIndicatorValue(candle.ClosePrice) { IsFinal = candle.State == CandleStates.Finished }); var upBandValue = new ChartIndicatorValue(_strategy.BollBands, _strategy.BollBands.UpBand.GetCurrentValue()); var lowBandValue = new ChartIndicatorValue(_strategy.BollBands, _strategy.BollBands.LowBand.GetCurrentValue());
var sv1 = _strategy.SuppLevels.GetFirstLevel(candle.HighPrice); var suppValue1 = (sv1 != -1) ? new ChartIndicatorValue(_strategy.SuppLevels, sv1) : null; Debug.Print("{0}: supp. level = {1}", candle.OpenTime, sv1); //var suppValue1 = new ChartIndicatorValue(_strategy.BollBands, _strategy.BollBands.LowBand.GetCurrentValue()-100);
var dict = new Dictionary<IChartElement, object> { {_candlesElem, candle}, {_upBandElem, upBandValue}, {_lowBandElem, lowBandValue}, { _suppLevelsElem1, suppValue1 }, //{ _suppLevelsElem2, new ChartIndicatorValue(_strategy.SuppLevels, _strategy.SuppLevels.GetFirstLevel(candle.HighPrice)) }, //{ _restLevelsElem1, new ChartIndicatorValue(_strategy.RestLevels, candle.ClosePrice+100) }, //{ _restLevelsElem2, new ChartIndicatorValue(_strategy.RestLevels, candle.ClosePrice+100) }, }; _chart.Draw(candle.OpenTime, dict); }
Сергей Гаврилов, [19.01.15 14:32] Смотрите, Метод GetFirstLevel() возвращает -1, но не факт ChartIndicatorValue в этот момент Null, ведь на графике у вас в этот момент рисуется линия индикатора, а ее не должно быть вообще
Сергей Гаврилов, [19.01.15 15:32] Алексей, можете весь проект скинуть?
Александр Спирин, [19.01.15 17:53] [ Document : SampleSmartSMA.zip ]
Александр Спирин, [19.01.15 17:54] Так и мне непонятно всё, как индикатор рисуется... Я просто делал как в примере, не особо вдаваясь в детали, но теперь придётся )
Александр Спирин, [19.01.15 18:54] Сергей, а можете пояснить (чуть отвлекаясь в сторону) что минимально нужно сделать, чтобы у нструмента появился Open Interest? - когда на старте я получаю инструменты, он равен 0, а мне хочется отобрать из всех инструментов те, у которых он достаточно велик. Достаточно будет подписаться на получение котировок? - мне чем меньше усилий, чем лучше. Спасибо.
Сергей Гаврилов, [19.01.15 18:58] Если честно, я никогда OI не использовал... Но, думаю, что достаточно только подписаться на инструмент.. Дело в том, что в нативном Смарткоме никаких
Сергей Гаврилов, [19.01.15 18:59] никаких специальных функция для получения OI нет, и если он его транслирует OI должен появиться в свойствах инструмента..
Алексей (AlexGP) Плотников, [19.01.15 19:09] У меня почему-то: storageRegistry.GetTradeStorage(Security).Load(Nullable, Nullable) возвращает данные на сутки раннее, при этом:
– storageRegistry.GetTradeStorage(Security).Load(DateTime date) и
– (IEnumerable) storageRegistry.GetTradeStorage(Security).Load(DateTime date)
работают корректно.
Что я не так делаю?
Александр Спирин, [19.01.15 19:16] а подписаться на инструмент - это Security.WhenChanged?
Сергей Гаврилов, [19.01.15 19:19] Вы учли то момент, что Гидра грузит данные с лагом в прошлое?
Сергей Гаврилов, [19.01.15 19:20] на инструмент вы подписываетесь при помощи Connector.RegisterSecurity(Security)
Алексей (AlexGP) Плотников, [19.01.15 19:32] Я вообще не использую IConnector, нет такого кода т.к. чистый эксперимент со StorageRegistry. Если бы дело было в «..Гидра грузит данные с лагом в прошлое…» то и
Сергей Гаврилов, [19.01.15 19:33] Про коннектор это не вам..\
Алексей (AlexGP) Плотников, [19.01.15 19:33] да, уже понял... ))
Сергей Гаврилов, [19.01.15 19:35] Я просто имел ввиду, что если Вы грузите совсем последние данные, то текущая дата может не прийти, т.к. ее нет в Гидре, если так грузится любой диапазон, то это нужно вроверять..
Сергей Гаврилов, [19.01.15 19:40] To Alex P: у Вас какая версия Гидры?
Алексей (AlexGP) Плотников, [19.01.15 19:51] Очень даже не совсем последние, а вполне себе исторические, т.к. коннектора к реальному шлюзу нет за неимением шлюза как такового (пока разбираюсь с библиотекой). Версия Гидры 4.2.50.0. Но дело-то не в Гидре. Имеем разную реакцию методов класса и методов расширения на одинаковые данные. Если нужно проверить, то: «надо, так надо…» Может я что-то не так делаю (как и спросил в первом сообщении), либо глюк…
Сергей Гаврилов, [19.01.15 19:53] Конечно, так быть не должно. проверим..
Алексей (AlexGP) Плотников, [19.01.15 20:00] Ок
Александр Спирин, [19.01.15 23:35] "на инструмент вы подписываетесь при помощи Connector.RegisterSecurity(Security)" - а в ответ должно событие Connector.SecuritiesChanged срабатывать?
Сергей Гаврилов, [19.01.15 23:37] Да.
Лог техподдержки за 28.02.2016 https://vk.com/wall-66650972_32
Лог техподдержки за 29.02.2016 https://vk.com/wall-66650972_33
Лог техподдержки за 2.03.2016 https://vk.com/wall-66650972_34
Лог техподдержки за 3.03.2016 https://vk.com/wall-66650972_35
Лог техподдержки за 4.03.2016 https://vk.com/wall-66650972_36
Обычным пользователем это недоступно? "Вы не можете просматривать стену этого сообщества."
Лог техподдержки за 6.03.2016 https://vk.com/wall-66650972_38
Лог техподдержки за 9.03.2016 https://vk.com/wall-66650972_39
Лог техподдержки за 10.03.2016 https://vk.com/wall-66650972_40
Лог техподдержки за 11.03.2016 https://vk.com/wall-66650972_41
Лог техподдержки за 12.03.2016 https://vk.com/wall-66650972_42
Лог техподдержки за 13.03.2016 https://vk.com/wall-66650972_43
Лог техподдержки за 14.03.2016 https://vk.com/wall-66650972_44
Лог техподдержки за 15.03.2016 https://vk.com/wall-66650972_45
Лог техподдержки за 16.03.2016 https://vk.com/wall-66650972_46
Лог техподдержки за 17.03.2016 https://vk.com/wall-66650972_47
Лог техподдержки за 18.03.2016 https://vk.com/wall-66650972_48
Лог техподдержки за 26.03.2016 https://vk.com/wall-66650972_49
Лог техподдержки за 28.03.2016 https://vk.com/wall-66650972_50
Лог техподдержки за 30.03.2016 https://vk.com/wall-66650972_51
Лог техподдержки за 31.03.2016 https://vk.com/wall-66650972_52
Лог техподдержки за 02.04.2016 https://vk.com/wall-66650972_53
Лог техподдержки за 03.04.2016 https://vk.com/wall-66650972_54
Лог техподдержки за 04.04.2016 https://vk.com/wall-66650972_55
Лог техподдержки за 05.04.2016 https://vk.com/wall-66650972_56
Лог техподдержки за 06.04.2016 https://vk.com/wall-66650972_57
Халявщиков мы любим. И специально для халявщиков есть наш форум и наш чат, где технические вопросы теперь разрешены. Команда S# там конечно присутствовать будет, но вот отвечать на технику не обязуется. Помните об этом.
А насчет раскрытия логов поддержки обещаюсь подумать. Иногда там люди коды публикуют, другие вещи обсуждают касательно личных торговых алгоритмов.
Да не в халяве дело, в ВК искать невозможно. На форуме поиск хорош. Логи из телеграмма можно отредактировать, чтоб секреты не выдавать, а в ВК с секретами логи? пойду почитаю, может чего интересного найду...😀 😀
Вопросы в чате саппорта можно условно сгруппировать на две категории:
Настройка АПИ (Квик, нужный метод и т.д.). Эти вопросы практически у всех уникальны. Например, http://stocksharp.com/forum/4630/Nie-zapuskaietsia-lua-skript/ Данная ошибка - это своеобразное сообщение "Программа выполнила недопустимую операцию и будет закрыта". Причин - море. Просто масса. Зависят от настроек компьютера. Как и с другими вещами.
Вопросы по видео урокам. С отсылками на тайминг, разбор конкрентого участка видео.
Платные коннекторы. Схоже с пунктом 1.
В публикации этих логов нет абсолютно никакой необходимости, если вы не клиент обучения или хфт коннекторов.
Лог техподдержки за 07.04.2016 https://vk.com/wall-66650972_58
Лог техподдержки за 08.04.2016 https://vk.com/wall-66650972_59
Лог техподдержки за 09.04.2016 https://vk.com/wall-66650972_60
Лог техподдержки за 10.04.2016 https://vk.com/wall-66650972_61
Лог техподдержки за 11.04.2016 https://vk.com/wall-66650972_62
Лог техподдержки за 12.04.2016 https://vk.com/wall-66650972_63
Лог техподдержки за 13.04.2016 https://vk.com/wall-66650972_64
Лог техподдержки за 15.04.2016 https://vk.com/wall-66650972_65
Лог техподдержки за 16.04.2016 https://vk.com/wall-66650972_66
Лог техподдержки за 18.04.2016 https://vk.com/wall-66650972_67
Лог техподдержки за 19.04.2016 https://vk.com/wall-66650972_68
Лог техподдержки за 20.04.2016 https://vk.com/wall-66650972_69
Лог техподдержки за 21.04.2016 https://vk.com/wall-66650972_70
Лог техподдержки за 22.04.2016 https://vk.com/wall-66650972_73
Лог техподдержки за 23.04.2016 https://vk.com/wall-66650972_74
Лог техподдержки за 26.04.2016 https://vk.com/wall-66650972_75
Лог техподдержки за 27.04.2016 https://vk.com/wall-66650972_76
Лог техподдержки за 28.04.2016 https://vk.com/wall-66650972_77
Лог техподдержки за 29.04.2016 https://vk.com/wall-66650972_78
Лог техподдержки за 30.04.2016 https://vk.com/wall-66650972_79
Лог техподдержки за 04.05.2016 https://vk.com/wall-66650972_80
Лог техподдержки за 05.05.2016 https://vk.com/wall-66650972_81
Лог техподдержки за 06.05.2016 https://vk.com/wall-66650972_82
Лог техподдержки за 13.05.2016 https://vk.com/wall-66650972_83
Лог техподдержки за 14.05.2016 https://vk.com/wall-66650972_84
Лог техподдержки за 15.05.2016 https://vk.com/wall-66650972_85
Лог техподдержки за 16.05.2016 https://vk.com/wall-66650972_87
Лог техподдержки за 17.05.2016 https://vk.com/wall-66650972_88
Лог техподдержки за 18.05.2016 https://vk.com/wall-66650972_88
Лог техподдержки за 20.05.2016 https://vk.com/wall-66650972_89
https://vk.com/wall-66650972_90
Лог техподдержки за 1.06.2016 https://vk.com/wall-66650972_90
Лог техподдержки за 2.06.2016 https://vk.com/wall-66650972_91
Лог техподдержки за 3.06.2016 https://vk.com/wall-66650972_93
Лог техподдержки за 7.06.2016 https://vk.com/wall-66650972_94
Лог техподдержки за 14.06.2016 https://vk.com/wall-66650972_95
Лог техподдержки за 15.06.2016 https://vk.com/wall-66650972_96
Лог техподдержки за 16.06.2016 https://vk.com/wall-66650972_97
Лог техподдержки за 17.06.2016 https://vk.com/wall-66650972_98
Лог техподдержки за 19.06.2016 https://vk.com/wall-66650972_99
Лог техподдержки за 20.06.2016 https://vk.com/wall-66650972_99
Лог техподдержки за 22.06.2016 https://vk.com/wall-66650972_100
Лог техподдержки за 23.06.2016 https://vk.com/wall-66650972_101
Лог техподдержки за 24.06.2016 https://vk.com/wall-66650972_102
Лог техподдержки за 27.06.2016 https://vk.com/wall-66650972_103
Лог техподдержки за 28.06.2016 https://vk.com/wall-66650972_104
Лог техподдержки за 29.06.2016 https://vk.com/wall-66650972_105
Лог техподдержки за 30.06.2016 https://vk.com/wall-66650972_106
Лог техподдержки за 1.07.2016 https://vk.com/wall-66650972_107
Лог техподдержки за 3.07.2016 https://vk.com/wall-66650972_108
Лог техподдержки за 4.07.2016 https://vk.com/wall-66650972_109
Лог техподдержки за 5.07.2016 https://vk.com/wall-66650972_110
Лог техподдержки за 6.07.2016 https://vk.com/wall-66650972_111
Лог техподдержки за 7.07.2016 https://vk.com/wall-66650972_112
Лог техподдержки за 8.07.2016 https://vk.com/wall-66650972_113