Еще раз спасибо! Мне бы понять, как работает тслаб....Если честно...это кот в мешке...или черный ящик:) С одной стороны, всё понятно, потому что общие принципы едины. С другой стороны, в нюансах...столько всякой фигни....

Опуская лирику...

А он всё падает и падает....

Немного фактов. От первого тслаба я отказался. Перенес всех агентов во второй тслаб. Итого во втором тслабе параллельно торгуются одни и те же скрипты через два подключения: HFTransaq (Finam) и обычный transaq (Just2trade=Whotrades). Теперь они ставят заявки почти одинаково..иногда первый чуть быстрее, иногда второй - как повезет. Поскольку раньше всегда второй способ (через первый тслаб) во всех заявках на секунду опережал первый способ (через второй тслаб), можно сделать вывод, что первый тслаб в плане производительности работает лучше. Более того, за время их параллельной работы второй тслаб постоянно падал, а первый ни разу не упал.

Итак, вчера второй тслаб проработал первый день боевых торгов на версии 2.0.13.0. Упал три раза. Это УЖАСНО. Ибо это влечет жутко неприятную ситуацию. Он работает... набирает позицию...не маленькую...друзья... после чего...набрав позицию...через час он падает...разумеется, он ни хрена не сохранил и при новом запуске он считает, что все сигналы пропущены и творит громадную кучу сделок по ужасным ценам...сижу у терминала...ищу возможность хоть как-то по близким ценам эту удвоенную позицию сбросить... Такая фигня повторилась три раза вчера...

Первое падение тслаба закончилось в логах вот так:
Quote:
14:50:02.35[64]DEBUG:RtUpdateWindowsEx: Name='v3_J_exsort_lng_16' IsStarted=True IsStateChanging=False
14:50:02.35[64]INFO :127:Info:Script:(Script:v3_J_exsort_lng_16):Агент 'v3_J_exsort_lng_16': Скрипт выполнен успешно за 83мс. (1200 баров, время 05.12.2016 11:49:00)
14:50:02.35[64]INFO :Скрипт выполнен успешно за 83мс. (1200 баров, время 05.12.2016 11:49:00)
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:02.36[Transaq Parser]WARN :Remove 1 addtional bars for trade 23655475200732(12/05/2016 11:50:00) SBER.MM:MMA
14:50:08.23[Transaq Parser]INFO :Server time was updated down '12/05/2016 14:50:02' -> '12/05/2016 14:50:08'


Второе падение:
Quote:
17:25:06.55[155]DEBUG:RtUpdateWindowsEx: Name='v3_J_exsort_sht_16' IsStarted=True IsStateChanging=False
17:25:06.55[155]INFO :127:Info:Script:(Script:v3_J_exsort_sht_16):Агент 'v3_J_exsort_sht_16': Скрипт выполнен успешно за 15мс. (1200 баров, время 05.12.2016 14:24:00)
17:25:06.55[155]INFO :Скрипт выполнен успешно за 15мс. (1200 баров, время 05.12.2016 14:24:00)
17:25:06.59[81]FATAL:UnhandledException:
System.ArgumentException: Длина результирующего массива недостаточна. Проверьте значения destIndex и length, а также нижние границы массива.
в System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
в System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex)
в 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.HandleDefferedRecords()
в 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.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
в System.Threading.ThreadPoolWorkQueue.Dispatch()
17:25:06.62[152]DEBUG:RealtimePositionList 'v3_J_bol_sht_8':'RTSSRZ6' have 8 positions, 0 active, 8 initial count. Timestamp=12/05/2016 15:55:18 ForgateDate=01/01/0001 00:00:00
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in4'(281546676) at bar 249 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in9'(281546738) at bar 254 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in10'(281547157) at bar 255 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in11'(281546899) at bar 256 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in12'(281547330) at bar 257 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in13'(281546690) at bar 258 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in14'(281546924) at bar 259 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RealtimePositionList: Already have active position 'in0'(281546390) at bar 260 for RTSSRZ6:MCT
17:25:06.63[152]DEBUG:RtUpdateWindowsEx: Name='v3_J_bol_sht_8' IsStarted=True IsStateChanging=False


Третье падение:
Quote:
18:01:03.53[51]DEBUG:Added command approve='False' comment='Выход по рынку (нет сигнала!)'
18:01:03.54[51]DEBUG:RtUpdateWindowsEx: Name='v3_J_linreg_lng_39' IsStarted=True IsStateChanging=False
18:01:03.54[51]INFO :127:Info:Script:(Script:v3_J_linreg_lng_39):Агент 'v3_J_linreg_lng_39': Скрипт выполнен успешно за 603мс. (3000 баров, время 05.12.2016 15:00:00)
18:01:03.54[51]INFO :Скрипт выполнен успешно за 603мс. (3000 баров, время 05.12.2016 15:00:00)
18:01:03.59[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.59[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.59[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.60[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.60[149]DEBUG:RtUpdateWindowsEx: Name='v3_J_mami_sht_27' IsStarted=True IsStateChanging=False
18:01:03.60[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.60[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.60[149]INFO :127:Info:Script:(Script:v3_J_mami_sht_27):Агент 'v3_J_mami_sht_27': Скрипт выполнен успешно за 54мс. (1300 баров, время 05.12.2016 15:00:00)
18:01:03.60[Transaq Parser]WARN :Remove 1 addtional bars for trade 1660535852(12/05/2016 18:01:02) SRZ6:FORTS
18:01:03.60[149]INFO :Скрипт выполнен успешно за 54мс. (1300 баров, время 05.12.2016 15:00:00)
18:01:03.69[192]DEBUG:Position entry=281553857, Q=1, RQ=0 LotSize=1, Shares=1, Bar=649
18:01:03.69[192]DEBUG:Position entry=281554390, Q=1, RQ=0 LotSize=1, Shares=1, Bar=650
18:01:03.69[192]DEBUG:Position entry=281554642, Q=1, RQ=0 LotSize=1, Shares=1, Bar=651
18:01:03.69[192]DEBUG:Position entry=281554655, Q=1, RQ=0 LotSize=1, Shares=1, Bar=652
18:01:03.69[192]DEBUG:Position entry=281554006, Q=1, RQ=0 LotSize=1, Shares=1, Bar=653
18:01:03.69[192]DEBUG:Position entry=281554867, Q=1, RQ=0 LotSize=1, Shares=1, Bar=654
18:01:03.69[192]DEBUG:Position entry=281554703, Q=4, RQ=0 LotSize=1, Shares=4, Bar=655
18:01:03.69[192]DEBUG:Position entry=281554473, Q=1, RQ=0 LotSize=1, Shares=1, Bar=656
18:01:03.69[192]DEBUG:Position entry=281554437, Q=1, RQ=0 LotSize=1, Shares=1, Bar=657
18:01:03.69[192]DEBUG:Position entry=281554280, Q=1, RQ=0 LotSize=1, Shares=1, Bar=658
18:01:03.69[192]DEBUG:Position entry=281554696, Q=1, RQ=0 LotSize=1, Shares=1, Bar=659
18:01:03.69[192]DEBUG:Position entry=281555093, Q=1, RQ=0 LotSize=1, Shares=1, Bar=660
18:01:03.70[192]DEBUG:Position entry=281556356, Q=1, RQ=0 LotSize=1, Shares=1, Bar=691
18:01:03.70[192]DEBUG:Position entry=281556843, Q=1, RQ=0 LotSize=1, Shares=1, Bar=692
18:01:03.70[192]DEBUG:Position entry=281556751, Q=1, RQ=0 LotSize=1, Shares=1, Bar=693
18:01:03.70[192]DEBUG:RealtimePositionList 'v3_J_bal1_lng_15':'RTSSRZ6' have 15 positions, 15 active, 15 initial count. Timestamp=12/05/2016 17:36:05 ForgateDate=01/01/0001 00:00:00


Что у меня запущено в тслабе?
12 агентов по двум счетам, т.е. 24 агента на весь тслаб.
В сумме 12 агентов=270 позиций, т.е. всего 540 позиций на весь тслаб.
Всё это пересчитывается сейчас ровно один раз в минуту.

Тикет в техподдержку я отправил. Думаю, что мне пообещают через пару недель сделать новый релиз....
Однако, у меня уже начинает скапливаться осадочек от качества программного кода второго тслаба.....
Кажется, что он будет падать вечно:)

З.Ы. Может просто тслаб это софт для любителей? Максимум 5-6 агентов и не более 10-20 позиций в сумме?
Однако, на оф.сайте тслаба и при его покупке я не читал про такие ограничения.
Было бы неплохо услышать от авторов тслаба на что он рассчитан?