Добрый день. Торгую роботом на минутках. Скорость срабатывания очень важна. Точка входа может длиться доли секунды, за которые робот должен успеть выставить заявку. В связи с этим вопрос. Какое должно быть железо у компьютера, чтобы роботу комфортно торговалось? Сейчас я пользуюсь виртуальным сервером брокера, но планирую переехать на обычный ноутбук и торговать с него. Других программ на ноутбуке не будет. Только КВИК. Робот на Lua. Работает с таблицей всех сделок и таблицей текущих торгов.
Вот параметры ноутбука. Достаточно ли их? Celeron ® Dual Core CPU T 3100 1,9 GHz ОЗУ 2 ГБ
Пользователь
Сообщений: Регистрация: 30.03.2015
13.02.2016 05:57:29
запустить и протестировать не вариант? если будет тормозить - попытаться оптимизировать код. ну и интернет канал не менее важен чем компьютер
Пользователь
Сообщений: Регистрация: 05.02.2015
13.02.2016 10:52:17
Господа, прошу давать конструктивные ответы в рамках заданного вопроса. Без советов "потестировать" и "нужен быстрый интернет" я вполне обойдусь. Спасибо.
Пользователь
Сообщений: Регистрация: 31.01.2015
13.02.2016 11:18:29
В принципе должно хватить. Главные затыки будут в Квике, Луа, ну и многое зависит от алгоритма робота - как быстро он работает (этот параметр нам не известен).
Пользователь
Сообщений: Регистрация: 30.01.2015
13.02.2016 15:22:50
На указанном железе будет плохо. Если хотите очень хорошо, то робот надо ставить на удаленном выделенном железном сервере, в крайнем случае виртуальном, возможно как сейчас у Вас.
Пользователь
Сообщений: Регистрация: 30.01.2015
13.02.2016 15:25:06
проблема скорее будет не в железе, а в задержках каналов связи и ОС ( алгоритм сингла). тестируйте их пингом и потом принимайте решение.
Пользователь
Сообщений: Регистрация: 05.02.2015
14.02.2016 17:53:24
Николай, спасибо. Тогда уточняющий вопрос. Какое железо лучше: виртуалка у брокера сейчас такая
Переезд на вот такой ноутбук будет ли равнозначным?
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
14.02.2016 19:55:12
Цитата
Переезд на вот такой ноутбук будет ли равнозначным?
У вас робот с типа высокочастотной торговлей или открываете позицию - и на неделю? если первое - то, как было сказано, основное - это каналы связи, а не железо.
Пользователь
Сообщений: Регистрация: 30.01.2015
14.02.2016 20:19:01
Поясню еще раз. ----------------------- 1) Железо можно взять любое, лишь бы памяти не менее 2 Гб. На этом сервере у Вас 1.5 а пик более 1.5 т е бывает выгрузка на диск - это плохо. Поэтому памяти не менее 2. -------------------------- 2) сейчас у Вас квик у брокера в дата центре. сделайте в работающем КВИКЕ во 10:00, 12:00 и 21:00 информационное окно в расширенном варианте и покажите, тогда можно будет сказать конкретно на сколько хуже.
Переезд на вот такой ноутбук будет ли равнозначным?
У вас робот с типа высокочастотной торговлей или открываете позицию - и на неделю? если первое - то, как было сказано, основное - это каналы связи, а не железо.
он не ХФТ, но требует быстрой реакции.
Пользователь
Сообщений: Регистрация: 05.02.2015
15.02.2016 18:08:10
Николай, то есть нынешний вариант - виртуалка у брокера - даже имеет реальные недостатки по сравнению с ноутбуком? (при условии что интернет везде одинаково хорош)
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 18:48:38
полагаю, что у брокера Вы существенно выигрываете в скорости реакции. Но это можно сказать лишь если покажите то, что указал ранее.
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 18:50:10
А что брокер Вам обещал и за какие деньги, когда брали у него место на сервере?
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
15.02.2016 21:14:07
Цитата
Космонавт написал: (при условии что интернет везде одинаково хорош)
Тут бы цифры сравнить, ибо "одинаково хорошо" - это для чего? ролики с ютуба смотреть?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 21:41:35
пытался посмотреть что же предлагают брокеры т е какие характеристики и за какую цену. кроме рекламы, что все круто, ничего конкретного не нашел.
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 21:59:39
нашел у финама: до 30 транзакций в секунду примерно 5 т р в месяц + 5 т р установка + еще что-то для моего места нахождения обещают уменьшение задержки в 6 раз.
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 22:04:47
i3-i7, 8гиг, SSD, Win 7 64, если есть виз. библиотеки, то дискретная видеокарта. Хороший бот максимум за неделю отобьет цену своего коня. Инет оптика + резервный 3G-4G, переключатель программный, не роутером. У меня так, доволен, ни в каких дохлых виртуалках не нуждаюсь.
Пользователь
Сообщений: Регистрация: 30.01.2015
15.02.2016 22:07:30
Если нет SSD, Квик и файлы обмена и сохранения на RAM-диск.
Пользователь
Сообщений: Регистрация: 05.02.2015
16.02.2016 10:51:42
виртуалка в 10-00
Пользователь
Сообщений: Регистрация: 05.02.2015
16.02.2016 10:52:34
виртуалка в 10-00 (она стоит в Киеве, поэтому время на час назад)
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2016 12:49:40
Похоже что в киеве. С первого взгляда выгоды от виртуалки почти нет. Я такие параметры получаю на своем компе(но не у всякого брокера). Есть брокеры у которых сервера тормозятся сильно. А где будет комп?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2016 12:52:21
резюме - "это не заливная рыба"
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2016 12:55:33
а как вы управляете терминалом КВИК. Он у Вас на сервере брокера?
Пользователь
Сообщений: Регистрация: 05.02.2015
16.02.2016 18:29:28
Цитата
Николай Камынин написал: Похоже что в киеве. С первого взгляда выгоды от виртуалки почти нет. Я такие параметры получаю на своем компе(но не у всякого брокера). Есть брокеры у которых сервера тормозятся сильно. А где будет комп?
Дома в Симферополе.
Пользователь
Сообщений: Регистрация: 05.02.2015
16.02.2016 18:43:44
Цитата
Николай Камынин написал: а как вы управляете терминалом КВИК. Он у Вас на сервере брокера?
через RDP
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2016 19:00:42
попробуйте из дома сделать пинг на ip брокера. Если сервер брокера не ответит то на московскую биржу и сравните с временем задержки ответа сервера В приведенной Вами картинки это 31 mc. если пинг у Вас будет меньше, то переход на свой комп будет работать также как сервером, иначе будет хуже.
Пользователь
Сообщений: Регистрация: 30.03.2015
17.02.2016 03:37:15
странно, что автор не ругается на неконструктивные ответы
Пользователь
Сообщений: Регистрация: 05.02.2015
19.02.2016 18:41:04
Николай, спасибо что помогаете. Тогда такой вопрос. Ответ для меня очень важен. Станет понятно почему у моего робота после перехода на нового брокера стало мало срабатываний. Это и стало причиной, почему я встревожился и задал вопрос на этом форуме.
Вот пример сделки, которую заключил робот:
КУПИТЬ, если цена опустилась ниже нижней линии Боллинджера. Данные о сделках берутся коллбеком из таблицы обезличенных сделок (ТВС).
Итак, вопрос: Если у брокера тормозной сервер, а у меня тормозной интернет, то при наступлении точки входа, отправит ли робот заявку, пусть даже с опозданием? Или возможен вариант, что точка входа была, робот завтыкал, за эти миллисекунды точка входа прошла, и заявка отправлена не будет? Заранее спасибо. Ответ на этот вопрос даст мне очень многое.
П.С. Моё личное мнение: робот должен выставить заявку, даже с опозданием, ведь в Таблице обезличенных сделок появится запись, которую он обработает.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2016 20:07:04
Полагаю, что в правильной программе выставление заявки по Вашему алгоритму не зависит от задержки общения с брокером. Если у Вас зависит, то ищите ошибки в логике программы. ------------------------ В качестве совета: Ваш алгоритм робота удобно реализовать в индикаторе (без заморочкой с колбеками и ТВС)
Пользователь
Сообщений: Регистрация: 05.02.2015
19.02.2016 23:46:34
Вот и я думаю, что заявки должны отсылаться, пусть даже с опозданием. Но на практике очень часто не бывает срабатываний. Снижение цены под Боллинджера есть, а заявка не выставляется. вот пример.
(при этом много случаев, когда робот молодец и всё сработало как надо)
Пользователь
Сообщений: Регистрация: 05.02.2015
19.02.2016 23:51:57
Я тоже думал о том, чтобы присвоить графику идентификатор, и сравнивать значение свечки CLOSE с Боллинджером, но потом решил что с коллбеком будет быстрее и реализовал через колбек.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 15:14:10
могу предположить, что Вы неверно обрабатываете пересечение цены и индикатора, поэтому сигнал не возникает.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 15:15:13
вернее сказать ошибка в алгоритме функции пересечения
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 15:16:56
есть существенная разница в реализации подобных действий на истории и в реале.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 16:04:37
Хочу обратить Ваше внимание на тот факт, что в ТВС тики, а на графиках у Вас свечи. ------------------------------ Т е то, что вы реализовали это не то , что на графиках.
Пользователь
Сообщений: Регистрация: 05.02.2015
20.02.2016 16:28:13
Цитата
Николай Камынин написал: вернее сказать ошибка в алгоритме функции пересечения
Код
function OnAllTrade (alltrade)
if string.find(ticker_list,alltrade.sec_code)~=nil then
last_price[alltrade.sec_code]=alltrade.price
end
end
Код
function OnParam (class, sec)
if string.find(ticker_list,sec)~=nil then
tablebid=getParamEx(class, sec, "bid")
tableoffer=getParamEx(class, sec, "offer")
if bid_best[sec]~=tablebid.param_value then
bid_best[sec]=tonumber(toPrice(sec, tablebid.param_value))
end
if offer_best[sec]~=tableoffer.param_value then
offer_best[sec]=tonumber(toPrice(sec, tableoffer.param_value))
end
end
end
Внутри main идёт перебор 50 акций из тикер листа for sec in string.gmatch(ticker_list,"%a+") do
Код
if bid_best[sec]~=0 and offer_best[sec]~=0 and last_price[sec]~=0 then
if last_price[sec]<line_3 or bid_best[sec]<line_3 then
status="Fire_LONG"
elseif offer_best[sec]>line_2 or last_price[sec]>line_2 then
status="Fire_SHORT"
else
status="SPACE"
end
end
line_3 и line_2 - это нижняя и верхняя линии Боллинджера.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 17:52:12
На картинках у Вас пересечение свечи с линией болинджера а в программе используется тик. ----------------------- свеча - это четыре индикатора вычисляемых по куче тиков. ----------------------------- поэтому то, что у Вас написано это совершенно не то, что Вы хотите (если смотреть на картинки) ------------------------------- Нарисуйте картинку тиков внутри свечи и посмотрите . Если хотите как на картинке то используйте свечи а не ТВС
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 17:56:26
и еще если я правильно понял, у Вас как-то странно проверяется пересечение. Вы используете сделку и заявку Вы именно так хотите? но тогда Ваш алгоритм вообще не соответствует картинке
Пользователь
Сообщений: Регистрация: 05.02.2015
20.02.2016 18:31:20
Цитата
Николай Камынин написал: Вы используете сделку и заявку Вы именно так хотите?
Раньше - торгуя в БКС - было так: если бид из ТТП опускается ниже нижней линии Боллинджера, робот выставляет заявку на покупку (лучшим бидом). Когда я понял, что на новом брокере - Неттрейдер - у меня раза в три меньше срабатываний, чем в БКС, то начал экспериментировать. Сейчас робот отсылает заявку если ИЛИ цена сделки из ТВС опускается ниже нижней линии Боллинджера, ИЛИ бид из стакана опускается ниже нижней линии Боллинджера. И то, и то меня устраивает с точки зрения точки входа: купить, если цена поцеловалась с нижней линией Боллинджера.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 18:43:58
В БКС серверы работают медленнее, чем то, что Вы показали раньше. Примерно 2-5 раз.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 18:44:42
вернее сказать запаздывание 2-5 раз больше
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2016 19:04:58
а почему Вы решили, что меньше сигналов - это неправильно? возможно у вас коридор для болинджера большой задан для текущего рынка.
Пользователь
Сообщений: Регистрация: 05.02.2015
20.02.2016 19:17:33
Цитата
Николай Камынин написал: а почему Вы решили, что меньше сигналов - это неправильно? возможно у вас коридор для болинджера большой задан для текущего рынка.
всегда был такой коридор. Я имел в виду, что в новом брокере чересчур много случаев, когда визуально график опустился ниже нижней линии боллинджера (или поднялся выше верхней), а заявка не отправилась. Вот свеженький пример:
должна была выставиться заявка на продажу, а её не было. И в таблице Транзакций никаких попыток зашортить Сбер не было. Я не понимаю почему.
Пользователь
Сообщений: Регистрация: 05.02.2015
20.02.2016 19:20:39
а вот - красота - всё сработало как надо (тоже сегодня)
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2016 14:03:23
могу предположить следующее. Так как Вы пользуетесь колбеками , а они не синхронизируются то у Вас status успевает изменится туда и обратно до того момента, как Вы на него прореагируете
У БКС сервера работают медленно ( возможно так делают специально, чтобы на вип сервер подключались за денюшку, возможно старое железо, возможно клиентов много и сервер не справляется), короче реакция сервера медленная. Сейчас у нового брокера у Вас раз в 5 быстрее реакция сервера. В результате Вы сейчас просто не успеваете обрабатывать status и теряете сигнал. ----------------------------- Чем медленнее будет рынок, тем лучше у Вас будет срабатывание. -------------------------- Короче, проблема у Вас в потере сигналов status. Надо переделывать алгоритм обработки сигналов, либо работать со свечами. О чем уже писал ранее. --------------------------------- Чудес не бывает, но хочется в них верить.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2016 14:58:06
дополню ранее сказанное. пропуски срабатываний у Вас будут всегда происходить по следующей причине. --------------------------------- Данные в ТВС приходят пакетами. Т е сделки следующие с малым интервалом друг за другом придут к Вам одновременно. ----------------------------------- При этом колбек будет срабатывать на них последовательно и непрерывно. Т е например две сделки совершены с интервалом 100 мс но пришили в одном пакете. колбек на них отреагирует два раза но с интервалом полагаю менее мс. Т е у Вас произойдет анализ статуса на обе сделки одновременно. Если первая изменит статус а вторая вернет его обратно, то Вы этот сигнал не увидите и заявку не выставите. -------------------------------------- Эту ошибку никаким железом не исправишь - это методическая ошибка (ошибка метода). Ее можно устранить лишь изменив алгоритм работы робота. Теперь вроде все.
Пользователь
Сообщений: Регистрация: 05.02.2015
21.02.2016 20:26:38
попробую запихнуть проверку статуса в колбек. Тогда он будет реагировать на каждую сделку, даже если они пришли одновременно.
Пользователь
Сообщений: Регистрация: 30.01.2015
22.02.2016 07:19:05
проблема решается так: 1) создаем очередь сигналов пересечения 2) в колбеке ТВС каждое новое пересечение запихиваем в очередь 3) в функции main на каждый сигнал из очереди посылаем соответствующую транзакцию и сигнал убираем из очереди --------------------------------- Т е обработка колбеков должна осуществляться с помощью очередей. Я делаю в скриптах именно таким образом.
Пользователь
Сообщений: Регистрация: 05.02.2015
22.02.2016 19:41:06
Николай, спасибо! Раскройте пожалуйста термин "очередь сигналов"
Пользователь
Сообщений: Регистрация: 30.01.2015
22.02.2016 19:54:58
что именно? в инете много инфы, например я когда-то написал это (уже и сам забыл)