11 ноя 2025 · 17:33    
{"document": [{"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/jpeg", "filename": "6467c6b5-b773-43a0-bb0e-e0959c9d1ad7.jpeg", "filesize": 126010, "height": 577, "pic_id": 1038159, "url": "http://storage.yandexcloud.net/pabliko.files/article_cloud_image/2025/11/11/6467c6b5-b773-43a0-bb0e-e0959c9d1ad7.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YCAJEsyjwo6hiq7G6SgeBEL-l%2F20251111%2Fru-central1%2Fs3%2Faws4_request&X-Amz-Date=20251111T142951Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b734a711b26199fa7aa81e308af76e65a3cd135d0a20866cd3352adc759c4737", "width": 1024}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Всем привет! Сегодня я хочу рассказать вам историю, которая находится на стыке азарта, технологий и старой доброй торговли на бирже. Речь пойдет о том, как обычный человек решил написать собственного торгового робота — «сеточника». Скажу сразу: путь оказался тернисым, а главным соавтором проекта стал не кто иной, как искусственный интеллект."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Как вы понимаете, этот человек — я. Не могу сказать, что я совсем не знаком с программированием, но и не могу похвастаться, что я готов написать хоть малюсенькую программку. У меня имелся некоторый опыт написания программ на языках ALGOL-60 (в школе) и FORTRAN (в институте) почти полвека назад. На сегодняшний день то, что знал, я уже забыл. Иными словами, чтобы написать робота мне нужно заняться изучением программирования с нуля."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Так почему же я, с моими допотопными знаниями в программировании, решил бросить вызов самому себе? Ответ прост: мне наскучила рутина. Я одно время торговал по «Стратегии 2. 0», напоминающей сетку, но ручная торговля по этой стратегии — сизифов труд: бесконечные мониторинг цен, расчет лотов, выставление заявок. Это выматывает и неизбежно ведет к ошибкам. В итоге я ушел в минуса на падении рынка в 2024 году и к концу года отказался от этой стратегии."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Автоматизация же земля обетованная, где робот без устали и эмоций выполняет задуманное. Но как до этой земли добраться, если твой багаж программирования ограничивается смутными воспоминаниями? Вот тут и началось самое интересное."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Выбор оружия: Платформы, «кубики» и суровая реальность"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Первый крестовый поход за автоматизацией привел меня на просторы готовых решений. Но готовый робот или непомерно дорог, или ограничен в своих возможностях. Зато я узнал, что современный алготрейдинг предлагает множество платформ, где роботов можно собрать, как конструктор «Лего». Звучит заманчиво, не правда ли? Бери готовые модули, настраивай логику — и прибыль потечет рекой. Однако, как водится, дьявол кроется в деталях."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Я присмотрелся к таким гигантам, как OsEngine и StockSharp. Эти платформы — настоящие комбайны для трейдера-программиста, предлагающие тестирование, оптимизацию и запуск. Но меня, как человека далекого от C#, насторожила необходимость хотя бы минимального погружения в код. Кстати, OsEngine не умеет играть в кубики - или бери готового робота, или пиши своего на C#."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Кроме того, обе эти системы требуют подключения через терминал QUIK. А это рождало новую головную боль — вопрос бесперебойной работы. Представьте: робот должен трудиться 24/7, как верный пес. Домашний компьютер? Отключение света или капризы провайдера сведут на нет все усилия. Аренда виртуального сервера (VPS/VDS) выглядела логичнее, но это уже прямые ежемесячные расходы. Держать ради одного робота две тяжеловесные программы (платформу и QUIK) на VPS — не самое элегантное и экономичное решение."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Есть еще платформа от Альфа Инвестиции, которая работает напрямую, без QUIK, но с Альфа Банком у меня давно не ладится, вот и в этом случае я забуксовал на стадии регистрации, психанул и попросил аннулировать мою заявку. В итоге меня через полчаса все таки подключили к Альфа Инвестициям, а на следующий день выполнили мою заявку и отключили меня нафиг. Да бог с ней, с этой Альфой, вернемся к нашим баранам."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Я стоял на развилке. С одной стороны — долгое и муторное изучение программирования. С другой — громоздкие «конструкторы». И тут меня осенило. Мы живем в эпоху нейросетей, которые пишут тексты, сочиняют стихи и рисуют картины. Почему бы не поручить создание робота им? Эта мысль показалась мне столь же очевидной, сколь и блестящей. Идея пришла из статьи, где автор с помощью ИИ создал плагин для WordPress. Если можно написать плагин, почему бы не написать торгового робота? Да, робот сложнее, но ИИ же не на зарплате у меня!"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Диалог с кремниевым разумом: Первые шаги и первые шишки"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Мой выбор пал на двух помощников: китайский DeepSeek и отечественный ГигаЧат от Сбера. Условие было простым: робот должен работать напрямую в QUIK, используя встроенную поддержку скриптов на языке Lua. С него и начался наш с ИИ трехсторонний диалог, который временами напоминал разговор слепого с глухим."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Я, как заказчик, сформулировал техническое задание, взяв за основу алгоритм «сетки» Step-By-Step от Альфа Инвестиции. Казалось бы, все просто? Как бы не так! Ответы ИИ были похожи на обрывки конструктора, из которых невозможно собрать целое. Тогда я пошел на хитрость и предоставил им в качестве примера рабочий скрипт робота Step-By-Step, доработанный и выложенный в Дзен коллеги под ником «"}, {"type": "string", "attributes": {"href": "https://dzen.ru/id/61f666a8ab56226b40987abd"}, "string": "Записки Биржевого Робота"}, {"type": "string", "attributes": {}, "string": "». Задача ИИ сводилась к доработке скрипта, написанного для платформы Альфы, чтобы он мог работать на платформе QUIK."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Начался марафон исправления ошибок. QUIK любезно указывал на несовершенство творений ИИ, я передавал эти замечания обратно в чат, получал новую версию, и история повторялась. ГигаЧат первым выдал скрипт, который хотя бы запустился без ошибок. Эйфория была недолгой — робот благополучно заснул и не делал ровным счетом ничего. DeepSeek же упорно тонул в синтаксическом болоте. В итоге ГигаЧат махнул на меня виртуальной рукой и посоветовал искать помощи на форумах. Осознание, что всемогущий ИИ сдается, стало для меня серьезным ударом. Я на время забросил эту идею, так как не видел выхода."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Выручили старые добрые видеоуроки, о которых я писал в статье «"}, {"type": "string", "attributes": {"href": "https://ikinvestor.ru/roboty/moj-roman-s-setkoj-kak-ya-napisal-besplatnogo-torgovogo-robota-dlya-quik/"}, "string": "Мой роман с «Сеткой»: Как я написал бесплатного торгового робота для QUIK"}, {"type": "string", "attributes": {}, "string": "». По крупицам, по шагам, от урока к уроку, я вручную собрал работающего робота. Это был ключевой прорыв. Теперь у меня был не абстрактный запрос к ИИ, а конкретная основа, уже работающая в QUIK, которую нужно было лишь модифицировать. Я стал не просителем, а архитектором, указывающим ИИ, какую именно стену нужно достроить."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Задача в лоб переделать готовый скрипт «сеточника» под мой алгоритм торговли снова не дала результатов. ГигаЧат сразу предложил «рыбу» с заглушками «Здесь нужно добавить блок совершения покупок» и т. д. Вот только кто мне напишет эти недостающие блоки? От помощи ГигаЧата пришлось отказаться. DeepSeek написал полный скрипт, но он никак не хотел правильно работать. То робот не видел баланс на счету, то не выставлялась покупка, то неправильно отрабатывалась какая-нибудь другая функция..."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Философия маленьких шагов: Как мы строили робота версию за версией"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Осознав тщетность попыток создать робота одним махом, я применил стратегию «итеративной разработки». Мы с DeepSeek начали строить нашего «сеточника» как многоэтажное здание, закладывая по одному этажу за раз. Это уже была третья попытка, третья версия..."}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Наш план выглядел так:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "v3. 0: Научить робота читать настройки из файла и выводить красивую таблицу в QUIK для визуального контроля."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "v3. 1: Реализовать функцию получения реального баланса счета. Робот должен знать, сколько у него денег, а не действовать вслепую."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "v3. 2: Научить его видеть текущую цену инструмента. Без этого, как вы понимаете, никакая торговля невозможна."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "v3. 3 и далее: Постепенная реализация ядра — логики расчета следующей покупки, выстановления заявок, и, самое сложное, механизма продаж по принципу LIFO (Last In, First Out — последний зашел, первый вышел)."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Всего должно получиться 7 шагов до полноценного робота (v3. 7)."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Этот метод оказался прорывным. Когда DeepSeek в очередной раз «сходил с ума» и предлагал абсурдные решения, я просто открывал новый чат, подставлял в него последнюю рабочую версию скрипта и спокойно говорил: «Продолжим отсюда». Это позволяло избежать накопления смыслового шума и держать нейросеть в фарватере задачи."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Особой гордостью для меня стала система учета. Робот ведет два файла: `Sdelka. csv` для учета активных покупок, ожидающих продажи и `Profit. csv` для закрытых сделок с автоматическим расчетом профита, включая все комиссии. Это дает мне кристально чистую картину происходящего без лишних ручных расчетов."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Незавершенная симфония и взгляд в будущее"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "На момент написания этих строк мой робот почти готов. Мы застряли на версии v3. 6 — реализации той самой LIFO-продажи. Ирония в том, что робот уже пережил несколько полных рыночных циклов, успешно набрав и распродав все позиции, и перезапустившись. Но случился очередной сбой: робот купил лот, рассчитал цены для следующих заявок, но... не выставил их. Полчаса тишины на рынке — и пришлось вручную остановить скрипт. Ну и ладно, не впервой!"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Самое забавное (и пугающее) началось потом. Я, как и прежде, отдал логи на доработку ИИ. И что же? После доработки робот возомнил себя неутомимым покупателем и начал швырять заявки на покупку без остановки. Пришлось срочно «откатываться» на предыдущую стабильную версию."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "На сегодня хватит, а завтра открою новый чат, выложу последний (почти исправный) скрипт, объясню проблему и попрошу DeepSeek продолжить написание робота."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Заключение"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Что это доказывает? Что ИИ — это не волшебная палочка, а очень мощный, но лишенный здравого смысла инструмент. Он блестяще справляется с локальными задачами, но часто не видит общей картины и системных последствий своих правок. Мой проект — это танец человека и машины, где я задаю направление, а ИИ выполняет па."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "История продолжается. Я уверен, что мы с DeepSeek допишем нашего «сеточника». И когда он заработает стабильно, это будет победа не искусственного интеллекта, а человеческого упорства, подкрепленного технологией."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "А что же прибыль? Пока об этом рано говорить. Но сам факт, что человек, далекий от программирования, смог заставить нейросеть написать работающий финансовый инструмент, — уже бесценный результат."}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Следите за обновлениями, впереди самое интересное!"}], "attributes": []}], "selectedRange": [9099, 9099]}
Комментарии 4