Ho_Chu
Ho_Chu личный блог
24 ноября 2022, 10:09

Создадим идеального робота вместе?

В буржуйнете довольно развита система взаимопомощи и обмена информацией о «приколах», создаваемых роботостроителям брокерами и/или биржами. Если кто-то обнаруживает новый «прикол», то почти сразу же выкладывает это в паблик, чтобы уберечь средства других людей от истощения. И лишь у нас каждый стремится спрятать под одеялом свои наработки.

Почему бы нам не создать такую тему и не обменяться мыслями/технологиями/решениями по строительству/созданию почти идеального робота? Я говорю не об алгоритмах – прячьте их сколько хотите – это индивидуальная вещь. Я говорю об общих принципах построения роботов, которые должен применять/учитывать любой роботостроитель.

Для начала предлагаю обсудить способ снижения таких неторговых рисков, как «вылетел сервер», «перезагрузилась ось», т.е. проблемы, связанные с функционированием собственного оборудования.

Разумеется, можно запретить автоматическое обновление операционной системы, но отвергать такой риск мы не можем, как не можем отвергать риск внезапной неисправности чужого  или своего сервера, на котором установлен робот. Мы же, как никак, под санкциями. Можно допустить любое развитие событий.

Мы не сможем полностью снять эти риски, но можем постараться минимизировать их последствия.

Пока единственным разумным выходом мне представляется наличие дублирующего сервера, на котором установлена та же программа-робот, но находящаяся в «спящем состоянии».

Рабочий сервер должен периодически, может быть 1 раз в минуту или чаще, посылать сообщения дублирующему серверу типа «я работаю, все ОК» и посылать с какой-то периодичностью резервный файл с данными работы программы торговли 1-го сервера. Такой файл должен содержать всю необходимую информацию, чтобы хоть 1-ый, хоть 2-ой сервер в любой момент были готовы продолжить или начать торги. Нужно сделать эдакую RAID систему распределения данных.

Если что-то некритическое случилось с 1-ым сервером, типа простая перезагрузка операционки, то он вполне может продолжить работу самостоятельно. Хотя может оказаться трудно определить степень повреждения системы. И тогда 2-ой, не получив в установленное время уведомления «я работаю, все ОК», извещает Клиента-роботостроителя о проблеме, о которой тот, при наличии только 1-го сервера может долго не узнать. Это может быть е-мэйл, СМС, звонок другу, телеграм-канал и пр. Все что угодно, главное – достучаться до Клиента.

Если же с 1-ым случилась серьезная проблема, которую нельзя устранить за минуту-другую, то к торгам подключается 2-ой сервер, используя имеющиеся данные. Тогда Клиент сам принимает решение, что делать с 1-ым сервером и надо ли срочно искать ему замену. При этом, если нет готового 3-го запасного сервера, который можно включить на замену 1-му, то надо вставить какую-то заглушку в программу работы 2-го, чтобы не слать аварийные сообщения. В этом случае, Клиент не имеет права отлучаться и оставлять единственный работающий сервер без присмотра.

При этом целесообразно 1 раз в неделю/месяц менять сервера местами, т.е. назначать второй сервер рабочим, а первый – дублирующим. Также имеет смысл по окончании торгов в пятницу (или каждый день) проверять сервера на необходимость обновления операционки.

Если такой способ снижения рисков, связанных с функционированием собственного оборудования покажется приемлемым и реализуемым, то можно начать обсуждения других неторговых рисков. А там и до торговых рисков доберемся.

Пожалуйста спорьте, критикуйте, дополняйте, предлагайте. Глядишь и создадим почти идеальную систему вместе.

Только не надо писать, что это очевидно, тривиально или даже наивно. ОК, если Вы считаете себя самым умным и успешным, то объясните остальным, что Вы делаете на этом форуме и в этой теме? Вы же должны брать уроки серфинга где-нибудь на Гавайях или спорить с Маском о том, что не надо увольнять столько народа из птички ))

Кто-то может оказаться настолько благорасположенным, что согласится рассказать о своем успешном функционале. Или как это можно реализовать проще и дешевле, а главное – надежнее. Всем это будет интересно, разумеется.

 

81 Комментарий
  • Сергей Лазаренко
    24 ноября 2022, 10:11
    не с того бока начинаешь, нужна торговая идея, что будет приносить плюс? два сервера что-ли?
      • Сергей Лазаренко
        24 ноября 2022, 10:34
        Ho_Chu, это с чего ты такое придумал? У каждого свои? Торговые подходы могут называться по разному, но суть у всех одна и таже
          • Сергей Лазаренко
            24 ноября 2022, 10:44
            Ho_Chu, при чем тут бабло капало?
            рыночный механизм, который цену образует ты понимаешь?
            думаю что нет, а если не понимаешь то уже ничего тебе не поможет.
            Попроще если, то когда будет Импульс, когда коррекция пояснить можешь?
            А если этого нет, то все остальное не поможет
              • Сергей Лазаренко
                24 ноября 2022, 10:54
                Ho_Chu, никто тебе ничего не напишет, ты выдумал фантазию, которая не имеет смысла, и сидишь, ждешь чуда.
                Чтоб написать робота… Что такое робот? Это алгоритм, который будет отслеживать процессы на рынке.
                Чтоб процессы отслеживать, нужно их понимать, как и что происходит.
                ты об этом ни слова..
                зато всех призываешь, чтоб пояснили, скоко нужно серверов.
                Чего с этими серверами делать то?
                Чего ты собрался в роботе описывать?



                  • vito333
                    25 ноября 2022, 08:29
                    Ho_Chu, ппц, ну, я читаю вашу переписку и волосы встают - ну чего этот Лазаренко так безбожно тупит!?
  • Crogall
    24 ноября 2022, 10:15

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

    Какой ты вариант предпочитаешь?

  • bozon
    24 ноября 2022, 10:27
    Давай создавай, а мы все дружно оценим и похвалим, если хочешь, даже лайк поставим:>>>
      • bozon
        24 ноября 2022, 12:00
        Ho_Chu, нет.
          • bozon
            24 ноября 2022, 13:10
            Ho_Chu,… утром деньги, вечером стулья:>>
  • Eugene Bright
    24 ноября 2022, 10:40
    «Создадим идеального робота вместе?» по-русски грамотно выглядит так: «Создадим идеальный робот вместе?» (винительный падеж, отвечает на вопросы кого? что?).

    Как же ты, милок, собираешься что-то создавать, если даже грамотно писать не умеешь?
      • Eugene Bright
        24 ноября 2022, 10:48
        Ho_Chu, хреново, что не заканчивали… даже начальной школы, судя по всему.

        (если я правильно понял «тему», то у меня всё такое работает уже с 18-го года)
          • Eugene Bright
            24 ноября 2022, 11:01
            Ho_Chu, я не знаю, что значит, «более простые». С чем сравнивать? С тем, что еще не существует?
            «Машинка» есть. Повторяю, «у меня всё такое работает уже с 18-го года» (см.коммент выше).
            Всё остальное — авторские наработки.
            Как сказано, «ищите и обрящете, стучите и откроется вам...»
              • Eugene Bright
                24 ноября 2022, 11:17
                Ho_Chu, ЧС!
    • svgr
      24 ноября 2022, 12:26
      Eugene Bright, зависит от отношения к предмету. У пишущего, или вообще в обществе. Чем ближе к одушевлённости, тем чаще используется 'кого?'.
      • Eugene Bright
        24 ноября 2022, 12:34
        svgr, душа либо есть, либо её нет )))
        Или — что? Можно быть одушевленным на полшишечки, что ль?
        Робот — неодушевленное существительное, такое же, как «столб», «лопата» и проч. Обратное утверждение — признак сумасшествия.
        • svgr
          24 ноября 2022, 12:42
          Eugene Bright, люди — не роботы, как Вы пытаетесь представить, существа эмоциональные. Отсюда все вариации.
          • Eugene Bright
            24 ноября 2022, 12:49
            svgr, ПЦ!!!
            Одни «вариативы» собрались. )))
            ЧС!
  • Дмитрий Овчинников
    24 ноября 2022, 10:53
    Пока единственным разумным выходом мне представляется наличие дублирующего сервера, на котором установлена та же программа-робот, но находящаяся в «спящем состоянии».

    За три года работы на текущем сервере он завис только один раз, когда перестал крутиться вентилятор на БП и сервер тупо перегрелся. 
    Также один раз вырубился одновременно на полтора часа!!! интернет от Ростелекома и резервный 3G от Билайна.

    Зато проблем, связанных с терминалом и/или данными было хоть отбавляй. 

    Последний косяк криворуких разработчиков из MQ, вызывающий утечки памяти, я искал около двух месяцев. Наконец-то понял из-за чего это происходит и стало мне хорошо :)
      • Дмитрий Овчинников
        24 ноября 2022, 11:10
        Ho_Chu, 
        а что такого было в тот знаменательный день, что вылетели оба канала связи?

        Была какая-то глобальная авария в Ростелекоме на уровне всего Санкт-Петербурга. А Билайн, как оказалось, интернет получает через эти же шлюзы. 

        как Вам сейчас кажется, можно ли было предусмотреть «поломку вентилятора» 
        Конечно нет :) Но это событие хоть и не прогнозируемое, зато достаточно редкое!

        Не поделитесь, что за косяк от разрабов, который Вы нашли и устранили?
        Не поделюсь. Вообще это достаточно специфичная процедура, не думаю, что кто-то ее еще использовал таким образом, как я, чтобы сталкиваться с такими глобальными проблемами.

        наверное, вылет сервера можно «купировать» наличием второго, но вот оба канала??? что можно было сделать? иметь третий от МТС, например?
        Можно сделать все, что угодно. Вопрос в целесообразности и затратах, точнее в их соотношении. 
        Например: иметь резервный 3G интернет очень просто, это решается на уровне выбора роутера. Иметь второй резервный 3G интернет уже сложнее, по крайней мере в существующей инфраструктуре.
      • Дмитрий Овчинников
        24 ноября 2022, 11:15
        Ho_Chu, 
        а какие каналы легли? от Вас к роботу или от робота к бирже?
        Просто не было интернета ни в одном из устройств. Даже с телефона было бы не закрыть позиции руками. Шах и мат :)
      • Дмитрий Овчинников
        24 ноября 2022, 11:25
        Ho_Chu, 
        это лечилось бы стойкой на бирже
        Это лучший метод лечения. Вопрос только в стоимости :)
          • Дмитрий Овчинников
            24 ноября 2022, 11:36
            Ho_Chu, 
            я посмотрел у финама
            сам сервер — 6500 + 4000 за каждый прямой доступ в месяц
            Ну, это не ко мне вопрос. У меня в колокации опыта нет. Есть опыт стояния в 2 датацентрах на выделенных серверах. Затраты около 10 тыс в месяц, с проблемами не сталкивался, но и сроки эксплуатации были 1-3 месяца.
              • Дмитрий Овчинников
                24 ноября 2022, 12:48
                Ho_Chu, 
                так и есть, около 10 тыр/мес с учетом протоколов
                а почему мало стояли?
                Нет, это в сторонние ДЦ, то есть без протоколов. Мало стоял, потому что это тесты. Я выбираю подходящий мне вариант, пробую разные ДЦ. Пока еще не нашел подходящего :)
    • Андрей К
      24 ноября 2022, 17:23
      Дмитрий Овчинников, утечки памяти ) растешь )
  • Xomyak147
    24 ноября 2022, 10:52
    Вот чел ты и столкнулся с реальностью трейдинга , комментарии выше замечательные и очень показательные
  • Мальчик buybuy
    24 ноября 2022, 11:38
    Неправильный посыл. Надо немного по-другому

    1. Я нищеброд и у меня нет денег на full-time программиста и администратора. Поэтому давайте вместе создадим надежного биржевого робота, к которому можно пристегнуть торговую логику.
    2. В конце концов вы все здесь тоже нищеброды. На крайняк давайте создадим компаху и заплатим кому-нибудь за робота вскладчину.

    С уважением
      • Мальчик buybuy
        24 ноября 2022, 12:08
        Ho_Chu, если это простой робот на стохастике

        Рекомендую TSLab. Его терминал неплохо обрабатывает биржевые сбои, позволяет запуск по расписанию и т.д.
        Ну и запускать его лучше на виртуалке в облаке (для такой системы не имеет смысла иметь собственный сервер в ДЦ), благо сервисов полно.

        С уважением
          • Мальчик buybuy
            24 ноября 2022, 12:42
            Ho_Chu, зачем?

            Я дорого стою
            Смотрите 1 (один!) обучающий ролик на youtube и упаковываете свой стохастик.
            Ну и выставляете настройки терминала по перезапуску (2-й ролик, если в меню не разобраться)

            С уважением
              • Мальчик buybuy
                24 ноября 2022, 13:38
                Ho_Chu, ну это как посмотреть

                Или Вы сэкономили на дорогих сапогах)

                С уважением
  • iddqd3n
    24 ноября 2022, 11:43
    В нулевых я был тимлидом/сеньором на одном из игровых серверов популярной тогда игрушки, отвечал за софтовую часть и организацию процесса разработки в целом.

    Тоже хотелось «как у них» — большую команду (человек 10-15), большой сложный проект… Но российские реалии уже тогда быстро поставили меня на место — редко кто в команде держался более полугода, не начав выдвигать ультиматумы в стиле «либо по-моему, либо я ухожу». Результат — весь рунет был из «команд» в 2-3 человека, десяток серверов с полудохлым онлайном, ещё больше в вечной разработке. Спустя годы в рунете это всё сдохло, так толком и не родившись, а буржуи развлекаются до сих пор.

    К чему это я? Году в 2010-м, когда многим стало очевидно, что вместе можно добиться лучшего результата, был человек, желавший объединить русское комьюнити. Так вот там комменты были аналогичные :)

    P.S. Сервер в дата-центре решает вашу проблему, но по факту вас напряжёт другое — сбои у брокера.
    • Логарифм Интегралыч
      24 ноября 2022, 21:27
      читая про «ультиматумы в стиле «либо по-моему, либо я ухожу»»

      почему вы решили якобы за бугром иначе?
      • iddqd3n
        25 ноября 2022, 17:27
        Логарифм Интегралыч, это ваш вывод вообще-то :) Я не могу утверждать точно, откуда там команды по 10+ человек в бесплатных проектах. Но варианта всего два:
        1) Их в 100500 раз больше, что даёт в абсолюте больше людей со схожими взглядами
        2) Они более склонны к договорам

        Ну или комбинация вариантов. Эпичные уходы с хлопками дверью я кстати видел там, но всё равно команды на десятки людей держатся годами.


        Вообще, я читаю англоязычные форумы по тому же программированию, там найти ответ проще, потому что меньше комментов в стиле «сам дурак», «да это легко, не будем за тебя делать» и т.п. Результат это воспитания или грамотной модерации — хз.
        • Логарифм Интегралыч
          25 ноября 2022, 17:52
          у меня иное мнение о причинах того что пишете якобы «всего 2»
          ни в коем случае не комбинация
          ваших вариантов
          однако важное в чужих устаревших темах не рассказываю
          • iddqd3n
            25 ноября 2022, 19:00
            Ho_Chu, у людей поколениями ничего не было своего, дайте хоть типа секретики у себя держать :) Вот господин выше отличный пример — ответ он как бы знает, но рассказывать его всем подряд не собирается — знает ВАЖНОЕ, но мы не достойны ответа видимо :) Вот один-в-один такие же ответы, когда спрашиваешь, как написать программу, починить машину и т.п. Людям делать больше нечего, кроме как сидеть на форумах и рассказывать другим, как они что-то знают, но не расскажут :D  Возможно, у психологов есть даже название этого потрясающего феномена.

            Жена занимается в т.ч. вязанием, найти в рунете схемы — невыполнимый квест, русские рукодельницы ведут себя аналогично.
    • vito333
      25 ноября 2022, 08:34
      Денис Г., с ка, у нас во всём так и давно с.ка, это не про тебя )
  • initroot
    24 ноября 2022, 12:04


    Колакейшн в ДЦ уровня тиер 3 на проф оборудовании… для начала
      • initroot
        24 ноября 2022, 12:34
        Ho_Chu, примерно 5000 руб. 1 юнит за месяц по стране. зависит от потребляемой мощности и внешней секурности. срений сервак 1U около 200 000 (но можно дешевле, если посылка из-за окена доплывет).
          • initroot
            24 ноября 2022, 12:41
            Ho_Chu, не, для хтф еще не готов… сыкономлю три раза по пицот 
  • Sprite
    24 ноября 2022, 12:12

    Может я не очень понимаю в чём смысл поста, но всё очевидно, тривиально, да и вам, вероятно, известно. Если по сути и вкратце то:

    Проблемы каналов связи:
    1. Мало денег — домашний сервер, резервный канал. Мониторим руками, можно какую-нибудь пищалку прикрутить на обрывы. Если сломался внешний контур — значит сидим и ждём пока починят.
    2. Есть чутка денег — выносим сервер наружу. Получаем алерты в телегу, реагируем руками.
    3. Есть ещё чутка денег — дублирующий сервер к варианту 2, пингуем друг-друга, пингуем из третьего места, пингуем пинговалку, обрабатываем результаты.
    4. Есть еще больше денег — всё тоже что и п.2. п.3, но только в биржевой стойке.

    Проблемы связи с торговой системой к пунктам 1-3:
    Мониторим коннект, переподключаемся если есть альтернативные сервера.
    Если всё завалилось — используем альтернативные терминалы, звоним брокеру.

    Проблемы связи с торговой системой, если завалилась биржа — сидим и смотрим.

    Всё.
    Не знаю, что тут всем колхозом обсуждать и какие ещё решения выискивать.

     

  • Synthetic
    24 ноября 2022, 12:28
    Прежде чем начинать делать «идеального робота», хорошо бы понять, почему его до сих пор не сделали. Сразу скажу, что проблем со стороны софта и харда нет. И выдумывать здесь ничего не надо. За нас уже побеспокоились. На всех уровнях. sre.google/books/
    При правильно выбранной архитектуре приложения, оно будет работать само по себе годами. Почему создатели платформ для алготрейдинга ограничиваются элементарными примерами, даже те кто делает и брокерскую  часть -(вроде Метаквот)- большой, большоооой вопрос.
  • Vkt
    25 ноября 2022, 07:14
    С интересом наблюдаю за процессом, надеюсь продолжение следует?!
  • zacateca
    25 ноября 2022, 10:08
    В задании нет ничего про робота, сколько про отказоустойчивость системы где он будет работать. 

    Не зная сколько денег вы готовы вложить в эту систему, проектировать её — странная затея.
      • zacateca
        25 ноября 2022, 10:36
        Ho_Chu, да ладно?
        По моему мнению самое главное — торговая идея.
        Если есть рабочая идея, платишь спецам и тебе всё сделают что нужно в плане софта и организуют на харде.

        Плюс у вашей системы, в любом случае, надежность по умолчанию не может быть выше надежности систем брокера/биржи.
          • zacateca
            25 ноября 2022, 10:48
            Ho_Chu, у вас какой-то колхозный подход.

            Вы хотите хорошо, качественно, быстро и бесплатно. Так не бывает.

            Если ваша торговая система потенциально даёт вам 10-20 млн в год, то не заплатить 1.5 ляма за запуск и реализацию такой системы это… глупо.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн