Беспрерывная робота робота

Страницы: 1
RSS
Беспрерывная робота робота, Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик?
 
Друзья, я только начинаю программировать на языке Lua. Начал разбираться и писать бота, но возник затык. Я запускаю 1 раз программу и хочу обрабатывать каждый тик после этого. Если новый тик соответствует заданным мной условиям, то бот совершает определённые действия (покупка-продажа). Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик? Если возможно, то с примером куска кода

Заранее спасибо всем неравнодушным!  
 
Никита, подпишите ь на приход каждого типа посредством функции crratedatasource. При этом проверьте, что ваш брокер транслирует вам тиковые данные.


функция обратного вызова, которую вы укажете параметром в этой функции, будет вызываться на каждом тике и давать вам информацию об этом тике. Что делать дальше -решать уже вам.
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
Никита написал:
Друзья, я только начинаю программировать на языке Lua. Начал разбираться и писать бота, но возник затык. Я запускаю 1 раз программу и хочу обрабатывать каждый тик после этого. Если новый тик соответствует заданным мной условиям, то бот совершает определённые действия (покупка-продажа). Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик? Если возможно, то с примером куска кода

Заранее спасибо всем неравнодушным!  
1) изучите программирование на Lua  
https://russianblogs.com/article/84611423964/
----------------------------
2)  Изучите документацию по QLUA.и примеры в документации.
------------------------------------
3) Если останутся вопросы, то спросите.
 
Никита,  
 
Никита,  
 
Никита, а) невозможно б) нафиг не нужно.
 
Цитата
Никита написал:
Друзья, я только начинаю программировать на языке Lua. Начал разбираться и писать бота, но возник затык. Я запускаю 1 раз программу и хочу обрабатывать каждый тик после этого. Если новый тик соответствует заданным мной условиям, то бот совершает определённые действия (покупка-продажа). Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик? Если возможно, то с примером куска кода

Заранее спасибо всем неравнодушным!  
Ну если действительно желаете работать по тикам,
то Вам надо
----------------
1) изучить:
 язык программирования CИ,
 интерфейсы FIX/FAST
https://habr.com/ru/company/iticapital/blog/243657/
2) написать"
собственное ПО для торговли
3) разместить:
свой комп в дата-центре.
------------------------
В итоге у Вас получится HFT робот.
 
 
nikolz, Может, хватит безграмотные глупости писать?

Никита, Чтобы робот был постоянно в работе, нужно его запустить и больше не останавливать.  :smile: В этом случае возможны проблемы а) если упал Интернет и б) если торги прекратились. Короче, в любой момент, когда возникают перерывы в торговле у клиента, брокера, биржи или даже отдельного тикера. Поэтому скрипт должен уметь определять моменты приостановки и возобновления торгов и реагировать на них соответствующим образом.

А вот "чтобы робот обрабатывал каждый тик" делать не нужно (если, конечно, Вашей задачей не является испортить его до уровня полной неработоспособности). Тиковых массивов полно в Инете, но для отладки они практически бесполезны, поскольку не привязаны ко времени: может быть сотня тиков в секунду, а могут быть и перерывы между ними в десятки минут и более. Когда я отлаживал скрипт по историческим данным, я специально переводил тиковый массив в свечной, усредняя цену сделок, если их было несколько за секунду. В результате массив на 2 миллиона тиков превратился в массив на 6 миллионов секундных свечей. Вот с ним уже можно работать, ибо время, в отличие от тиков, течёт равномерно. То же самое в боевом режиме: тики не нужны никому и никогда, в т.ч. HFT роботам. Точно так же для торговли в Квике нафиг не нужны ни язык программирования CИ, ни интерфейсы FIX/FAST, ни размещение своего компа в дата-центре. Наконец, нынешний софт Квика вовек не позволит Вам получать все эти тики. По крайней мере, вовремя и без глюков. Да и слава богу! :smile:
 
 
Владимир, Вы правы только в том, что обрабатывать тиковые данные через proxy терминал Квик - это не лучшая затея.
Хотя обрабатывать обезличенные сделки, т.е. каждый тик, вполне можно. Все зависит от задачи и скорости принятия решений. Для примера, задача: определить был ли реализован видимый объем в стакане сделками или снят - решается довольно просто, с достаточной точностью.

В остальном же, как обычно - не надо мне, не надо никому. Но мир не вращается вокруг Вас.
 
Nikolay, Можно, но не нужно. Бориса я переубедил - он тоже хотел считать свечи через обезличенные сделки, и у него частота сделок намного выше, чем у меня (в этом не переубедил). Это тормоза и глюки, а уж обслуживать при этом хотя бы сотню тикеров - об этом можно даже не мечтать. В Квике скорость принятия решений по ТТТ максимально возможная - остальные способы дают замедление в разы, если не на порядки.

В остальном действительно, как обычно - не надо мне, не надо никому. Не мир не вращается вокруг меня, а я даю именно те варианты решений, которые именно я считаю оптимальными, чего и другим желаю. В частности, ни объёмы, ни стаканы меня не интересуют вообще. Они не приносят никому ничего и никогда, кроме тормозов и глюков - я так ДУМАЮ!(с) :smile:  
 
Владимир, большое спасибо! Возможно я не так начал решать задачу, которая стоит и возможно тики не нужны. Но почему я их хотел использовать и какая логика. Есть какой-то финансовый инструмент, допустим акция; есть какой-то ценовой уровень, где я хочу совершить сделку на покупку определённым объёмом. Конечно, изначально можно выставить отложенную заявку, но для чего собственно нужен робот. После того как заявка сработает и сделка будет завершена робот автоматически рассчитает тейк-профит и выставит его. Затем, в случае обновления low, робот будет двигать тейк-профит и параллельно рассчитает новый ценовой уровень для новой сделки. Собственно по тикам я хотел контролировать обновление low и уже от этого значения производить расчёты. Возможны, Вы могли бы предложить какое-то более эффективное решение в данной ситуации?

Заранее благодарен!
 
Никита, Так и я когда-то тики хотел использовать.  :smile: И полностью согласен: на кой выставлять отложенные заявки, если робот и так постоянно мониторит рынок? Или на кой тогда нужен робот если их выставлять.

Да, именно так: робот двигает тейк-профит и в случае опасности разворота кидает заявку на закрывающую сделку, фиксируя прибыль. А некоторое время назад я вообще перестал выставлять заявки заранее по каким-то своим соображениям профита - фантазия рынка оказалась куда круче, чем мои доморощенные представления о нём. Поэтому я очень часто продаю по биду, а покупаю по аску, т.е. дожидаюсь момента, когда эта цена меня устраивает и лишь тогда посылаю заявку. В результате практически все мои заявки исполняются в течение пары секунд, а не висят там часами, связывая свободные деньги, вероятность исполнения близка к 100%. Правда, ходят слухи про какие-то тейкерные-мейкерные комиссии за это дело: вроде как выгодно, чтобы заявка какое-то время полежала в стакане (и прибыль от этого только вырастет, и комиссия упадёт), но когда я попробовал сдвигать цену сделки всего на один шаг цены с этой целью, четверть моих заявок перестала исполняться (я снимаю неисполненные или частично исполненные через 3 минуты), и мне это дело сильно не понравилось. Так что я теперь, скорее всего, плачу эту повышенную комиссию, да и хрен бы с ней - время дороже! Более эффективных решений я не знаю, да уже и знать не хочу: существующая версия скрипта меня вполне устраивает, за исключением некоторых мелких шероховатостей.
 
Владимир, Да вроде как сейчас на срочном рынке, если покупаешь через лимитные заявки, то комиссию отменили. А для тех кто торгует по рынку увеличили в 3 раза, но это не суть. Мне интересно, как правильно мониторить текущую цену (фактически цену последней сделки), если не через тики. Ваш скрипт не обращается к текущей цене?
 
Никита, На срочном я пока не работал, но все 100% моих заявок лимитные.

Почему "не обращается"? Раз в секунду по каждому тикеру. В ТТТ есть и LAST, и BID, и OFFER.
 
Цитата
Владимир написал:
nikolz, Может, хватит безграмотные глупости писать?

Никита, Чтобы робот был постоянно в работе, нужно его запустить и больше не останавливать.  :: В этом случае возможны проблемы а) если упал Интернет и б) если торги прекратились. Короче, в любой момент, когда возникают перерывы в торговле у клиента, брокера, биржи или даже отдельного тикера. Поэтому скрипт должен уметь определять моменты приостановки и возобновления торгов и реагировать на них соответствующим образом.

А вот "чтобы робот обрабатывал каждый тик" делать не нужно (если, конечно, Вашей задачей не является испортить его до уровня полной неработоспособности). Тиковых массивов полно в Инете, но для отладки они практически бесполезны, поскольку не привязаны ко времени: может быть сотня тиков в секунду, а могут быть и перерывы между ними в десятки минут и более. Когда я отлаживал скрипт по историческим данным, я специально переводил тиковый массив в свечной, усредняя цену сделок, если их было несколько за секунду. В результате массив на 2 миллиона тиков превратился в массив на 6 миллионов секундных свечей. Вот с ним уже можно работать, ибо время, в отличие от тиков, течёт равномерно. То же самое в боевом режиме: тики не нужны никому и никогда, в т.ч. HFT роботам. Точно так же для торговли в Квике нафиг не нужны ни язык программирования CИ, ни интерфейсы FIX/FAST, ни размещение своего компа в дата-центре. Наконец, нынешний софт Квика вовек не позволит Вам получать все эти тики. По крайней мере, вовремя и без глюков. Да и слава богу! ::
Увы, Владимир, это вы пишите чушь.
-----------------
Вот пример Вашей глупости.
Цитата:  "Тиковых массивов полно в Инете, но для отладки они практически бесполезны, поскольку не привязаны ко времени"
----------------------------
Глупость Ваша в том, что тики -это конкретные контракты и они точно привязаны к конкретному времени их заключения на бирже.
а вот свечи - это средний объем по интервалу и два плавающих экстремума внутри интервала с неопределенным моментом  возникновения.
------------------------------
Более того, свеча это  индикатор, который  по определению физически не реализуем, так как начало свечи всегда меньше времени первого тика  (контракта).
-----------------------
В свече лишь объем является усредненным значением.
===================
по тикам (т е по обезличенным сделкам ) играют крупные игроки.
=================
Если у Вас телега , то это не основание,
чтобы считать самолет бесполезным.
 
Владимир ,
Вы сами себе противоречите.
Вы говорите, что робот не должен обрабатывать каждый тик,
------------------
а свечи секундные Вы из чего собираете и очевидно вручную?
----------------------------
 
Если надо вычислять свечи на интервалах меньше 1 минуты можно использовать два источника
----------------------------
1) точное вычисление свечей -  тиковый график или таблицу обезличенных сделок.
2) приближенное вычисление свечей - колбек onParam.
-------------------------
но если решение о сделке принимается резе , чем 1 раз в 10 минут,
то делать свечи с интервалом менее 1 минуты практического смысла не имеет.
---------------------
 
nikolz, Лапуль, надо бы договориться о терминах. Что Вы понимаете под "чушью"? Я - почти всё, что пишете Вы, за редчайшими исключениями, с которыми я публично соглашался - как правило, подчёркивая, что это именно исключение.

Лапуль, я неоднократно говорил, что отвечаю ЗА ВСЕ свои слова! И за сказанные более, чем за четверть века моего пребывания в Инете, и за более полувека вне его. Так что если я говорю:  "Тиковых массивов полно в Инете, но для отладки они практически бесполезны, поскольку не привязаны ко времени", значит, они ПРАКТИЧЕСКИ БЕСПОЛЕЗНЫ! Как минимум, это моё мнение, а мнения мои, как правило, очень сложно опровергнуть - тем более, недоучками вроде Вас. Ну, и что же Вам в моей фразе не понравилось? Подтверждаю каждую запятую! :wink:

Лапуль, это ВАША глупость считать, "что тики привязаны к конкретному времени их заключения на бирже" только потому, что там есть таймерная отметка. Именно по этим отметкам я и переводил тиковый массив (ПРАКТИЧЕСКИ БЕСПОЛЕЗНЫЙ для отладки) в массив секундных свечей (очень даже полезный). Я даже немного описал КАК я это делал и ЗАЧЕМ, но для Вашего уровня интеллекта... короче, не берите в голову.

И снова о терминах: я много раз писал, что свечи для меня вовсе не эта "японская" дребедень, а нормальное среднее арифметическое значения курса за интервал, т.е. ОДНО, блин, значение, а не этот идиотский "джентльменский набор", который также для принятия решений практически бесполезен. И переводил я тиковый массив, разумеется, в массив НОРМАЛЬНЫХ секундных свечей, а не этой гадости. На объём, как я уже говорил... ну да, в этой самой ветке Николаю - на них мне всегда было насрать. Было, есть и будет!

Лапуль, по тикам (т е по обезличенным сделкам ) играют только дебилы, у которых нет нормального алгоритма торговли, и я сильно сомневаюсь, что это синоним "крупные игроки".

Лапуль, сколько раз повторять, что моя "телега" обслуживает ТЫСЯЧИ тикеров, а Ваш сраный "самолёт", в лучшем случае, ДЕСЯТКИ. Согласитесь, я имею некоторые основания считать Ваше говно "бесполезным".

Лапуль, не я "сам себе противоречу", а Ваши идиотские интерпретации моих слов. Да, я говорил и говорю, что робот не должен обрабатывать каждый тик. Говорил также раз 10 за время моего пребывания здесь, КАК я собираю свечи (и не только секундные, а по 10 таймфреймам, вплоть до четырёхчасовых) и ПОЧЕМУ я их вообще собираю и почему именно ТАК. Не этим же "японским" говном пользоваться! Но Ваш уровень интеллекта... ГОВНО эти Ваши "два источника"! Что тиковый график, что таблица обезличенных сделок, что колбек onParam - НИЧЕМ из этого набора я никогда не пользовался и не собираюсь. А решение о сделке, лапуль, принимается вовсе не по таймеру, а тогда, когда эту сделку следует совершить. А потому интервал между сделками может составлять и доли секунды, и минуты, и часы. Лично у меня стоит ограничение: нельзя подавать заявки чаще, чем 2 раза в секунду, но это просто страховка от отвисания Квика, чтобы не захлёбывался. А решения принимает алгоритм - тогда, когда ИМЕННО ОН посчитает это нужным.
 
Владимир,
Ну вот опять у вас кроме словесного поноса ничего конкретного.
-------------------
Если Вы все уже рассказали на форуме, так дайте ссылку,
а не трындите про говно и собственную значимость.
--------------------
Или вы не можете написать конкретно с числовыми данными ваших достижений, а опять будете соплями по экрану?
 
nikolz, Чо за истерика, лапуль? Я вообще не понял, что Вам от меня надобно. Какие ссылки? Какие числовые данные? Какие мои достижения? Всё Вам было разжёвано предельно конкретно.
 
Цитата
Nikolay написал:

В остальном же, как обычно - не надо мне, не надо никому. Но мир не вращается вокруг Вас.
Золотые слова. Именно так он и счиьает : ""ну типа не надо мне и другим запрещаю это использовать ""

А мир и наша биржевая торговля  гораздо более широка и каждый из нас в праве самостоятельно убедиться в жизне способности выбранных нами стратегий. А рекомендации типа : " Не надо мне - значит не надо даже это обсуждать - это плохая попытка самоутвердиться "  
 
БорисД, Боря, я же тебе говорил: есть железобетоннейший, надёжнейший и объективнейший критерий: размер кошелька. В смысле, скорость его изменения. И это единственно правильный способ оценки в жизнеспособности любых стратегий.

P.S. Я никогда ничего никому не запрещал и не отказывался что-либо обсуждать. Просто результаты говорят сами за себя. По тому самому критерию.
 
Владимир, вот завтра я у тебя этот критерий и буду выпытывать , как раз месяц заклнчился и время оценить этот результат , но только по критериям именно  моим с Серегой а не только твои показатели  капитализации
 
БорисД, Серега уже всё видел, щупал и нюхал - только ты у нас ещё остался неохваченный. :smile:  
 
Владимир, в отличии от Сереги  я более обьемно понимаю твои скрипты и твои прописанные в нем алгоритмы и их правила , а также блокировки для  обхода этих правил.

Но давай сейчас обсудим результаты торговли тобой твоим роботом за месяц.

твой робот у себя перед отпуском с поездкой в Турцию я отключил  
 
БорисД, Зато Серега уже умеет пользоваться меню по таймфреймам "в корыстных целях", а ты ещё нет. И с новой структурой IN-файла ты пока не справишься, а он уже как-то разбирается. А в алгоритмах, правилах и блокировках для  обхода этих правил даже я не совсем объёмно всё понимаю.

А зачем ты его отключил? Я же тебе говорил: запусти его в тестовом режиме - ты же умеешь! Глядишь, добрая половина вопросов уже бы снялась. А "результаты торговли за месяц" обсуждать практически невозможно: ни ты, ни он в логи почти не смотрите, а основное обсуждение именно там. Вот вчера был интересный день: Газпром объявил, что хрен вам, а не дивиденды, и его акции тут же рухнули на 30%. А за ним и весь остальной рынок резко пошёл на снижение. Только какой-то придурок (то ли Камаз, то ли Иркут) "плыл против течения". Я-то пытался поймать один "мерцающий" глюк (описан в соседней ветке), несколько раз останавливал торги, а у Серёги рекордное количество сделок вообще за всё время! А теперь представь, что делала бы твоя любимая старая версия: сидела бы в своей ярко-красной жопе с парой-тройкой случайных сделок, а то и вовсе без них. И это было бы самой правильной линией поведения при её куцых возможностях. И вообще, приехал бы ты лучше "живьём" на пару деньков на "мозговой штурм": последний бой - он трудный самый. В  т.ч. и для шлифовки алгоритмов под твой любимый срочный рынок (хотя даже там у меня вопросов почти не осталось).
 
Цитата
Владимир написал:
БорисД,  И вообще, приехал бы ты лучше "живьём" на пару деньков на "мозговой штурм": последний бой - он трудный самый. В  т.ч. и для шлифовки алгоритмов под твой любимый срочный рынок (хотя даже там у меня вопросов почти не осталось).
А ты что уже из гостей  домой вернулся ?
Приехать опять  к тебе пока не могу , все таки 1300 км. расстояние , и тем более что  двумя днями не обойтись . Давай лучше по старинке  через интернет  пообщаемся. Кстати  ты все еще не ответил на вчерашнее мое письмо в эл.почте.  
 
Владимир, тестовый включен , но что толку мне за ним наблюдать если релиз уже обновился ?  
А вот боевой режим как в начале июня перед Турцией отключил , так и не запускал еще его опять в боевой режим торговли на бирже.  
 
БорисД,  Нет, недели две я здесь ещё точно пробуду. Кроме того, есть вероятность, что я умотаю в Белоруссию - тоже на неделю-другую. А письма твоего я и не видел. Да, что-то пришло, сейчас посмотрю. Ты мне пришли свой IN/OUT - сам ты в нём вряд ли сумеешь поправить, а последняя версия с ним работать не будет. А там посмотрим, что и как.

Мало ли что релиз обновился. Твоя последняя версия достаточно резко отличалась от предыдущей, хотя и не так сильно как нынешняя. А боевой режим пока лучше и не запускай - слишком много изменений.

 
 
Цитата
nikolz написал:
Цитата
Никита написал:
Друзья, я только начинаю программировать на языке Lua. Начал разбираться и писать бота, но возник затык. Я запускаю 1 раз программу и хочу обрабатывать каждый тик после этого. Если новый тик соответствует заданным мной условиям, то бот совершает определённые действия (покупка-продажа). Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик? Если возможно, то с примером куска кода

Заранее спасибо всем неравнодушным!  
1) изучите программирование на Lua  
https://russianblogs.com/article/84611423964/
----------------------------
2)  Изучите документацию по QLUA.и примеры в документации.
------------------------------------
3) Если останутся вопросы, то спросите.
Вот ты дятел, человек как раз и изучает, а раз спрашивает, значит, не очень понятно в документации. Вали отсюда, если нормально не можешь отвечать людям.
 
Цитата
Вася написал:
Цитата
nikolz написал:
 
Цитата
Никита  написал:
Друзья, я только начинаю программировать на языке Lua. Начал разбираться и писать бота, но возник затык. Я запускаю 1 раз программу и хочу обрабатывать каждый тик после этого. Если новый тик соответствует заданным мной условиям, то бот совершает определённые действия (покупка-продажа). Как сделать так, чтобы робот был постоянно в работе и обрабатывал каждый тик? Если возможно, то с примером куска кода

Заранее спасибо всем неравнодушным!  
 1) изучите программирование на Lua  
 https://russianblogs.com/article/84611423964/  
----------------------------
2)  Изучите документацию по QLUA.и примеры в документации.
------------------------------------
3) Если останутся вопросы, то спросите.
Вот ты дятел, человек как раз и изучает, а раз спрашивает, значит, не очень понятно в документации. Вали отсюда, если нормально не можешь отвечать людям.
Вася, ты мудак?
Страницы: 1
Читают тему
Наверх