#80405 - Mon Nov 21 2016 03:56 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Так я и хотел сделать изначально, но ключ к Whotrades, который я получил в ЛК при покупке позволил мне активировать подключение лишь в первом тслабе. Проверьте пожалуйста ещё раз? Убедитесь, что при вставке логина и потом при вставке ключа по краям не влезает лишний пробел какой-нибудь? Коллеги совершенно уверенно и однозначно утверждают, что ключ для WhoTrades один и тот же что в 1.2, что в 2.0. Если это не так, обратитесь, пожалуйста, в нашу тех.поддержку с подробностями (через ЛК). Файл tslab.log + скриншот настроек провайдера + скриншот окна со вставленным ключом и красной рамкой валидации. Этого должно быть вполне достаточно, чтобы локализовать проблему и пристрелить её (если она есть)...
|
Наверх
|
|
|
|
#80414 - Tue Nov 22 2016 08:09 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Коллеги оказались правы! Попробовал - сейчас ключ подошел, а тогда (через минуту после покупки ключа) во втором тслабе не активировалась кнопка ОК при вводе ключа, а в первом тслабе сразу ключ принялся. Вот я и подумал, что коннектор к Хутрейдс только для первого тслаба работает.
Подскажите, как лучше запустить агентов? Параллельно сделать две установки второго тслаба? Это будет корректно работать? Или внутри одного тслаба продублировать скрипты, чтобы каждый скрипт через разные подключения торговал?
|
Наверх
|
|
|
|
#80415 - Tue Nov 22 2016 10:14 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Подскажите, как лучше запустить агентов? Параллельно сделать две установки второго тслаба? Это будет корректно работать? Или внутри одного тслаба продублировать скрипты, чтобы каждый скрипт через разные подключения торговал? Вы можете иметь на машине одновременно ТСЛаб 1.2 + 2.0. Но нельзя на одной машине в одной учетной записи иметь два ТСЛаб 2.0. Поэтому Вы запускаете агентов к двум подключениям из одного ТСЛаб 2.0. Скрипты не нужно дублировать. На одном скрипте у Вас может быть 100500 агентов. (Грубо говоря, скрипт -- это класс (в терминах ООП). Агент -- экземпляр этого класса.) Вы просто при создании агента указываете на каком инструменте он работает. И как раз в этот момент выполняется привязывание к счету (фактически, к реальному провайдеру). Единственное, рекомендовал бы Вам давать агентам разумные имена (там есть поле куда можно ручками вписать ласковое имя). Например, у меня агенты опционные и зависят от серии и базового актива. Поэтому они называются примерно в таком духе " rt-SRZ6-Dec" == " Real Trading -- Опционы на фьючерс SRZ6 -- Декабрьская серия". У Вас они могут называться к примеру " wh-Name1-SRZ6", " ht-Name1-SRZ6". При этом приставка будет сразу показывать через какой коннектор идет вывод заявок в рынок.
|
Наверх
|
|
|
|
#80416 - Tue Nov 22 2016 12:42 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Спасибо! Всё это буду пробовать в ближайшие дни. А пока какая-то беда приключилась. Заглядываю на сервер, а там первый тслаб работает, а второго нет.....он "упал". Несколько цитат из логов: 12:17:02.53[162]INFO :Скрипт выполнен успешно за 208мс. (1872 баров, время 22.11.2016 12:16:00) 12:17:02.60[10]DEBUG:RtUpdateWindowsEx: Name='exsort_sht' IsStarted=True IsStateChanging=False 12:17:02.60[10]INFO :127:Info:Script:(Script:exsort_sht):Агент 'exsort_sht': Скрипт выполнен успешно за 284мс. (1872 баров, время 22.11.2016 12:16:00) 12:17:02.60[10]INFO :Скрипт выполнен успешно за 284мс. (1872 баров, время 22.11.2016 12:16:00) 12:17:02.61[64]FATAL:UnhandledException: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в TSLab.Controls.Log.LogItemCollection.<>c__DisplayClass12_0.<TryRemoveTail>b__0(LogViewItem t) в System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() в System.Linq.Enumerable.<SkipIterator>d__30`1.MoveNext() в System.Linq.Buffer`1..ctor(IEnumerable`1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) в TSLab.UI.ObservableList`1.RemoveRange(IEnumerable`1 items) в TSLab.Controls.Log.LogItemCollection.TryRemoveTail(Boolean isLimitChanged) в TSLab.Controls.Log.LogItemCollection.HandleDefferedRecords() в TSLab.UI.DefferedObservableCollection`1.<.ctor>b__6_0(Object state) в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state) в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCallback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireQueuedTimerCompletion(Object state) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 12:17:02.72[1]DEBUG:OnAppExited 12:17:02.81[1]DEBUG:Deactivated
|
Наверх
|
|
|
|
#80417 - Tue Nov 22 2016 01:58 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Плохо. Вообще по таким падениям надо сразу открывать тикет в наш саппорт через ЛК. Конкретно в Вашем случае сразу могу сказать, что мы в эту итерацию исправляли несколько багов, связанных с LogItemCollection. В ближайшее время (следующая неделя, наверное) ожидается выход новой версии. ПС У нас можно настроить систему уведомлений, чтобы ТСЛаб периодически присылал письмо и сообщал, что он ещё жив. В данном случае, конечно, было бы лучше иметь вочдог, который бы сообщал что приложение только что умерло... И, возможно, рсазу запусказ заново?.. (Но это надо аккуратно использовать и имхо уже излишне) Немного погуглил, есть готовые вочдоги для этого (с уведомлениями). Вот к примеру небольшой перечень с описанием Мне лично приглянулся на первый взгляд Kiwi application monitor и Application monitor Если на одну машину поставить оба, они даже смогут присматривать друг за другом и таким образом в свою очередь гарантировать работоспособность системы мониторинга... Потом ещё солнечно-ветряной генератор нужен + резервирование провайдера двумя способами...
|
Наверх
|
|
|
|
#80419 - Tue Nov 22 2016 02:37 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Печально это.... С системой уведомлений подружиться не удалось. Настроил во втором тслабе отправку сообщений на эл. почту. Однако, наткнулся на пару странностей: 1. После этой настройки на почту не пришло ни одного сообщения (нет отправленных с одного и нет входящих в другом ящике). 2. После этой настройки тслаб тупо перестал пересчитывать агенты. В результате я уведомления по почте удалил и пересчет агентов возобновился. Попробую еще раз. Может, у меня руки кривые:)
С удовольствием написал бы об этом баге в техподдержку в ЛК, но в ЛК не увидел возможности это сделать.
|
Наверх
|
|
|
|
#80420 - Tue Nov 22 2016 03:31 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
С удовольствием написал бы об этом баге в техподдержку в ЛК, но в ЛК не увидел возможности это сделать. Извините, возможно, неправильно выразился. http://support.tslab.ru/
|
Наверх
|
|
|
|
#80428 - Wed Nov 23 2016 12:43 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Ситуация непонятная. Сегодня второй тслаб аналогично "упал" снова. По логам опять фатальная ошибка при обращении к несуществующему объекту при переборе каких-то коллекций через MoveNext.....
Хорошо, если это мои скрипты приводят к такому сбою...Хотя скрипты работают без изменений уже порядка месяца...Первые 3 недели без сбоев. А тут последние дни каждый день программа "падает".... Как же быть, если это - результат не моих скриптов?
|
Наверх
|
|
|
|
#80430 - Wed Nov 23 2016 04:14 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Ещё раз мои соболезнования. Новый билд дожаривается. Если речь опять про LogItemCollection - надеюсь новая версия будет свободна от этой болячки.
Чтобы не гадать -- просто отправляйте в наш саппорт скриншот ситуации (если это фатал там обычно мессадж-бокс с подробностями появляется) + файл tslab.log (в архиве, конечно). Коллеги проанализируют. Иногда, если проблему можно быстро исправить, мы делаем быстрый фикс и оперативно выдаём новую сборку лично для Вас.
PS Себе для мониторинга падений и автозапуска поставил Kiwi Application Monitor. Он забавный даже в бесплатной версии. Сегодня добавлю "Jockersoft Application Monitor". Сравню.
|
Наверх
|
|
|
|
#80437 - Thu Nov 24 2016 06:32 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Это становится чем-то похожим на спорт:) Вчера второй тслаб "упал" три раза...каждый раз с одной и той же ошибкой: 19:18:01.81[94]FATAL:UnhandledException: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в TSLab.Controls.Log.LogItemCollection.<>c__DisplayClass12_0.<TryRemoveTail>b__0(LogViewItem t) в System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() в System.Linq.Enumerable.<SkipIterator>d__30`1.MoveNext() в System.Linq.Buffer`1..ctor(IEnumerable`1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) в TSLab.UI.ObservableList`1.RemoveRange(IEnumerable`1 items) в TSLab.Controls.Log.LogItemCollection.TryRemoveTail(Boolean isLimitChanged) в TSLab.Controls.Log.LogItemCollection.HandleDefferedRecords() в TSLab.UI.DefferedObservableCollection`1.<.ctor>b__6_0(Object state) в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state) в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCallback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireQueuedTimerCompletion(Object state) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 19:18:01.83[160]FATAL:UnhandledException: System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в TSLab.Controls.Log.LogItemCollection.<>c__DisplayClass12_0.<TryRemoveTail>b__0(LogViewItem t) в System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext() в System.Linq.Enumerable.<SkipIterator>d__30`1.MoveNext() в System.Linq.Buffer`1..ctor(IEnumerable`1 source) в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) в TSLab.UI.ObservableList`1.RemoveRange(IEnumerable`1 items) в TSLab.Controls.Log.LogItemCollection.TryRemoveTail(Boolean isLimitChanged) в TSLab.Controls.Log.LogItemCollection.HandleDefferedRecords() в TSLab.UI.DefferedObservableCollection`1.<.ctor>b__6_0(Object state) в System.Threading.TimerQueueTimer.CallCallbackInContext(Object state) в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) в System.Threading.TimerQueueTimer.CallCallback() в System.Threading.TimerQueueTimer.Fire() в System.Threading.TimerQueue.FireQueuedTimerCompletion(Object state) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() Ежели это дело не прекратится...придется расставаться с тслабом:)
|
Наверх
|
|
|
|
#80439 - Thu Nov 24 2016 10:02 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Это становится чем-то похожим на спорт:) Вчера второй тслаб "упал" три раза...каждый раз с одной и той же ошибкой Вы тикеты с этими исключениями в наш саппорт зарегистрировали? Сообщите мне пожалуйста их номера в личку. Поскольку в Вашей версии наблюдаются очевидная проблема, до выхода фикса Вам имеет смысл прекратить её использование (для целей серьёзной торговли). Но без тикетов в саппорт-системе, мы, наверное, не сможем продвинуть вопрос предоставления Вам внеочередной исправленной версии...
|
Наверх
|
|
|
|
#80441 - Thu Nov 24 2016 11:58 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Тикет регистрировал в саппорте. Обещают через две недели исправить....мне кажется, это несерьезно..... В личку вам номер отправил. Вообще, есть ли возможность использовать предыдущую версию, в которой этого бага не было?
Отредактировано Sergey Pavlov (Thu Nov 24 2016 12:04 PM)
|
Наверх
|
|
|
|
#80455 - Sun Nov 27 2016 11:06 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Вопрос. Как во втором тслабе, комбинацией каких кубиков, функций из АПИ и торговых настроек, добиться следующего. Завершился бар, я хочу, чтобы была выставлена лимитная заявка по цене, привязанной либо к цене закрытия этого бара, либо к цене открытия нового бара плюс-минус заданную величину? Далее, если, спустя 3 минуты, эта заявка не была исполнена, она была бы перемещена на текущую цену?
|
Наверх
|
|
|
|
#80457 - Sun Nov 27 2016 05:15 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
writer
Registered: Fri Apr 24 2015
Записи: 596
|
Рабочий таймфрейм М1, правильно угадываю? То есть Вы хотите продержать сигнал 3 бара и затем передвинуть его вслед за рынком?
|
Наверх
|
|
|
|
#80459 - Mon Nov 28 2016 03:59 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Option Wizard]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Да. Грубо говоря, как реализовать механизм ухудшения цены неисполненной лимитной заявки?
|
Наверх
|
|
|
|
#80460 - Mon Nov 28 2016 11:12 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
в апи откажитесь от торгового цикла. просто торгуйте последним баром. Тогда не будет криков про пропущенные входы и заявка будет переставляться. Главное использовать изменение позиции чтобы если будет частичное исполнение продолжало доливать позу
_________________________
__
|
Наверх
|
|
|
|
#80462 - Mon Nov 28 2016 12:45 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: ra81]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Можете пояснить, что значит в апи отказаться от торгового цикла? Имеется в виду в методе Execute каждый раз делать пересчет только последнего бара?
|
Наверх
|
|
|
|
#80465 - Mon Nov 28 2016 01:46 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
вроде того. Не ставить сигналы на прошлых барах а только на последнем баре ставьте. пропуски будут только если вы в прошлое сигнал ставите а сделки там нет, тогда будет кричать. А если в прошлое не ставить то и кричать не будет ничего.
_________________________
__
|
Наверх
|
|
|
|
#80471 - Tue Nov 29 2016 07:11 AM
Re: Функционирование TSLab и оптимальная реализация
[Re: ra81]
|
newbie
Registered: Wed Nov 09 2016
Записи: 28
|
Ясно. Подскажите, а почему есть разница в поведении первого и второго тслаба? Это так задумано или это ошибочка? При одинаковых настройках первый тслаб после 5 минут, если лимитка (выставлять рыночные заявки лимитками) не была исполнена, то она переставляется по рынку. Во втором тслабе, спустя такие же 5 минут, если лимитка не исполнена, заявка перевыставляется, но на то же место, а не на новую цену и не по рынку.
|
Наверх
|
|
|
|
#80476 - Tue Nov 29 2016 05:54 PM
Re: Функционирование TSLab и оптимальная реализация
[Re: Sergey Pavlov]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
сие не ведаю. если один и тот же код и такая же ситуация, то без понятия.
_________________________
__
|
Наверх
|
|
|
|
|
|