Рассказ нашего ученика~/topic/311/rasskaz-nashego-uchenika/Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T11:01:06Zhttps://stocksharp.com/images/logo.pnghttps://stocksharp.com/posts/m/198/103033 Как я стал алготрейдером Год назад в Вконтаке я увидел скриншоты из Квика одного своего знако...2013-12-17T12:52:08Z2016-07-28T17:58:30ZВалентин Мирошниченкоhttps://stocksharp.com/users/6156/info@stocksharp.com<div align="center"><a href='https://stocksharp.com/file/103033/bond_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.com/file/103033/bond_png/?size=500x500" alt=""/></a></div><br /><br /><div align="center"><b>Как я стал алготрейдером</b></div><br /><br />Год назад в Вконтаке я увидел скриншоты из Квика одного своего знакомого. На них была прибыль от сделки в 34 тысячи рублей. Потом он еще парочку выложил с прибылью в несколько десятков тысяч рублей. Парень учился на экономическом - гуманитарий, а я закончил технический факультет на инженера. И вот сидя на заводе с зарплатой в 25 тысяч рублей, я задумался… «А какого собственно хрена, я 6 лет учил сопромат, теормех, высшую математику? Когда обычный студент с эконома за пару минут заработал больше, чем я за месяц въе**** на заводе???» Эти мысли не давали мне покоя, и я решил разобраться с этой несправедливостью) Нет, я не пошел и не набил ему морду))) А полез в гугл читать, что такое акции и как торгуют на бирже!<br /><br />После первых статей в интернете понял, что ничего сложно в этом нет. Ставишь Квик, регистрируешься у брокера и покупаешь и продаешь акции одним кликом мышки! Но тогда я еще не представлял на сколько глубока кроличья нора…<br />После первых сделок на тестовом сервере, я понял, что с моими руками что-то не то))) Когда я видел, что график растет, я понимал, что нужно покупать, забивал настройки и периодически нажимал вместо «Покупать» на «Продавать». Или не ту цифру в суматохе прописывал! Пока все переустановишь и проверишь, уже собственно график туда и обратно три раза обернется. Ужас в общем! И как люди так торгуют?<br /><br />Полез опять в интернет и нашел, что у Квика есть встроенный язык QPILE для совершения автоматических сделок по алгоритму. То, что мне нужно! Никакого бездумного клацанья по мышке, машина не ошибается! Полез в документы и руководства.<br />Как же все сложно… Я в школе Паскаль с трудом сдавал на уроках информатики… И как это давно было…<br />Но упорство сделало свое дело и через месяц не без помощи такой-то матери, смог запустить свой первый алгоритм! Радости моей не было предела!)<br /><div align="center"><a href='https://stocksharp.com/file/103034/qpile_jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.com/file/103034/qpile_jpg/?size=500x500" alt=""/></a></div><br /><br />Постепенно код усложнялся и вскоре перевалил за тысячу строк! Я использовал кучу индикаторов и однажды заметил, перематывая свою программу, что собственно забыл, чего искал в том месте программы, пока перематывал код. Так разросся код и стал сложным в восприятии. Потом осознал, что-то, что я писал вчера, сегодня уже не работает. Рынок другой. Индикаторы ведут себя по-другому.<br /><br />«Нужно сначала тестировать стратегии!» - подумал я. И опять начал гуглить. И чем больше я ковырялся в интернете, тем больше ухудшалось мое настроение. А в QPILE никаких тестеров то и нет. В Excele? Я еще не настолько отчаялся… Другие программы типа Wealth-Lab? Но там все на английском, платная, ничего не понятно и из него нельзя торговать… Как туда перевести стратегии? Опять по-новому переучиваться? Только не это…<br /><br />Предпринял последнюю попытку написать рекурсивный цикл в QPILE для тестирования! Та еще порнография! Сделал замкнутый цикл и в нем обращался к историческим свечкам и индикаторам, и тестировал свои алгоритмы. Вы не поверите! Работало! Выставлялись заявки, логировались сделки, ставились метки входа и выхода на графике! Но… Протестировать можно было не глубже чем на неделю, и тестирование стратегии за один торговый день на одних параметрах занимало 10-15 минут. И таймфрейм нельзя было сделать меньше минуты, и стратегии выполнялись по очереди, а не параллельно, если их было много, то до последней выполнение могло не дойти. Все сыпалось на глазах, ничего не хотело работать так как я хотел…<br />Я зашел в тупик. Понял, что зря потратил время и ничего у меня с моими алгоритмами не получается. Потом я узнал, что тот самый знакомый слил всю свою прибыль на паре неудачных сделок (хоть как-то приподняло настроение). Дурацкий трейдинг!..<br /><div align="center"><a href='https://stocksharp.com/file/103031/____-_____________jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.com/file/103031/____-_____________jpg/?size=500x500" alt=""/></a></div><br />Как я решил эти проблемы благодаря парням из S# и их платформе для алготрейдинга! <br /><br /><br /><div align="center"><b>С чего начать алготорговлю</b></div><br /><br />В итоге я полностью разочаровался в QPILE, не хотел извращаться с Excel и собственно не знал, что мне делать дальше. В общем, решил пока приостановить все работы пока не соберусь с собственными мыслями. Но идея о торговле меня не оставляла, люди же как-то зарабатывают на этом хорошие деньги?<br />В интернете наткнулся на S#, посмотрел, почитал и пришел к выводу, что мне нужно двигаться в этом направлении. Русскоязычная платформа, специально заточенная под алготрейдинг, есть обучение, форум, техподдержка. После головной боли от QPILE напрочь отмел все остальные скриптовые языки и криворукие оболочки. Только низкоуровневый код, только тру алготрейдинг!<br />Но вот незадача… Я c QPILE еле совладал, а в С# вообще полный 0. Да, и цена на обучение кусается. Решил сначала немного подготовиться, купил Герберта Шилдта «Полное руководство C# 4.0» и почитывал на работе, когда выдавалось свободное время. Мой мозг разрывался на маленькие кусочки, полиморфизм, инкапсуляция, наследование… Пару раз бросал с мыслью: «Зачем я во все это ввязался!». <br /><br />Но через месяц заметил, что стал более-менее разбираться в элементарных вещах. Шилдт молодец! Не зря считается одним из лучших писателей книг по обучению программированию. Рекомендую!<br />Начав в общих чертах разбираться в логике построения программ и поняв, что это все можно читать до бесконечности, и пора уже изучать применительно к алготорговле, <a href="http://stocksharp.com/lesson/stocksharp/" title="http://stocksharp.com/lesson/stocksharp/">купил </a>обучающие курсы S#.<br /><br />Сначала прошел курс C#, если честно он был тяжелый. Насколько я знаю, они сейчас его переделали и выпустили новые более адекватные и понятные уроки. Разобрался с Visual Studio. И начал потихоньку изучать примеры из уроков. Собственно первые буковки и циферки кода я начал писать с этих примеров. Потому что если еще с Шилдта примеры пробовать писать так это точно на все про все одной жизни не хватит.<br />Сначала все шло очень тяжело, нехватка знаний в C# и специфика работы API S# давали о себе знать. Но постепенно, при возникновении проблем, я все реже и реже стал обращался в техподдержку, и научился решать задачи самостоятельно. Отельное спасибо Бухарину Ивану из техподдержки S# за помощь в изучении!<br />Так что все реально, нужно идти от простого к сложному и все получится!<br /><br />А теперь перейдем непосредственно к сути статьи. Что нам необходимо для алготорговли? Как вообще все это происходит? Какие модули и в какой очередности создавать?<br />Оговорюсь сразу, в своих статьях я буду затрагивать чисто технические моменты алготорговли, супер профитных стратегий и граалей не будет. Ну, может если только в более поздних статьях.<br />Ниже представлена общая комплексная схема работы моих приложений для анализа, тестирования и оптимизации стратегий:<br /><div align="center"><a href='https://stocksharp.com/file/103032/_____-_______jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.com/file/103032/_____-_______jpg/?size=500x500" alt=""/></a></div><br />"АНАЛИЗАТОР" - приложение с графическим интерфейсом WPF и графиками Chart для визуализации и анализа стратегий, проверки на работоспособность стратегий.<br />"ОПТИМИЗАТОР" - консольное "производительное" приложение для тестирования стратегий.<br />«РОБОТ» – непосредственно торговый робот в который передается уже готовая стратегия для торговли на Бирже.<br />«Исторические данные» – хранилище исторических данных.<br />«Хранилище стратегий» – хранилище результатов тестирования «Оптимизатора» и «Анализатора», готовых стратегий и других параметров.<br /><br />Исторические данные<br /><br />Алготрейдинг без бэктестинга не алготрейдинг! Прежде чем запускать алгоритм в работу его нужно проверить, протестировать. В этом огромное преимущество алгоритмической торговли!<br />Что нужно для тестирования? Это, конечно, исторические данные. В S# есть готовое решение S#.Data. С ее помощью закачал с сайта Финама исторические данные в бинарном формате. Сейчас у меня в хранилище исторических данных лежит более 400 тысяч файлов по разным инструментам, в каждом файле хранится информация о тысячах сделок. И все это занимает не более 10-11Гб на жестком диске.<br />Исторические данные заимели.<br />Теперь нам нужно их как-то визуализировать, научиться строить по ним свечные графики разных таймфреймов, индикаторы, выводить сделки на график и т.д. <br />Также нам нужно научиться тестировать стратегии, сохранять результаты тестирования и находить самую оптимальную стратегию.<br />Обо всем этом и многом другом вы сможете прочитать в моих следующих статьях)<br /><br />Всем восходящего тренда! С уважением, Bond. <br /><br /><a href="http://stocksharp.com/lesson/stocksharp/" title="http://stocksharp.com/lesson/stocksharp/">Научиться алготрейдингу быстро</a>Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28718/А на свечках у нас как у всех - шустро и не точно. Амиброкер год минуток в системе средней сложности...2013-12-22T11:00:18Z2013-12-22T11:00:18ZVassilSanychhttps://stocksharp.com/users/6491/info@stocksharp.com<div class="quote"><span class="quotetitle">Михаил Сухов <a href="https://stocksharp.com/posts/m/28702/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">А на свечках у нас как у всех - шустро и не точно.</div></div><br />Амиброкер год минуток в системе средней сложности (пара-тройка индикаторов + сложные стопы + рискменеджмент + 30 разных статистических показателей) отрабатывает за полсекунды. <br />Сколько на S#?<br /><br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28702/Производительность тестирования слишком низкая для нужд оптимизации. Да ладно низкая. На стаканах и ...2013-12-20T12:51:52Z2013-12-20T12:51:52ZMikhail Sukhovhttps://stocksharp.com/users/201/info@stocksharp.com<div class="quote"><span class="quotetitle">VassilSanych <a href="https://stocksharp.com/posts/m/28696/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Производительность тестирования слишком низкая для нужд оптимизации.<br /></div></div><br /><br />Да ладно низкая. На стаканах и тиках "аналогичный" софт тестирует не быстрыее. А на свечках у нас как у всех - шустро и не точно.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28700/Заинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я...2013-12-20T12:43:13Z2013-12-20T12:43:13Zloophttps://stocksharp.com/users/49839/info@stocksharp.com<div class="quote"><span class="quotetitle">Bond <a href="https://stocksharp.com/posts/m/28693/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote"><div class="quote"><span class="quotetitle">loop <a href="https://stocksharp.com/posts/m/28683/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Заинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я лично очень обижусь, если это только чтоб подразнить. Где этот оптимизатор?<br /><br />Либо пишите большими буквами: <span style="font-size:180%"><b>"ВНИМАНИЕ ПЛАТНОЕ!!!"</b></span> Чтоб не вводить народ в заблуждение.</div></div><br /><br />Где вы видите, чтобы я что-то продавал?<br />Если честно мне непонятно откуда такой ажиотаж.<br />Что вам мешает написать их самостоятельно? Никакого ноухау в коде нет. Все построено на стандартном функционале. К тому же на сервере лежат базовые версии этих программ. Допилите как вам нравится. Если не получается, пройдите обучающие курсы.<br />Куда интереснее методы и идеи, которые я применял для оптимизации и тестирования, но об этом спрашивают только единицы...</div></div><br /><br />Понятно.<br /><br />Интересовало именно готовое решение представленное в нескольких статьях, даже если бы я «прошёл курсы», зачем скажите мне снова делать тоже самое, что очень косвенно относится к торговле, почему бы не скачать Ваше, или не купить у Вас готовое, за вменяемые деньги? Мне торговать нужно, стратегии делать и их проторговывать, а то что Вы сотворили это должны были сделать ребята из S#, так же как это сделали Wealthсовцы. <br /><br />Про что спрашивать? Монте Карло описан в сетях, или Вы изобрели что то принципиально новое? Если принципиально новое то расскажите конечно, раз предлагаете:)<br /><br />Я всё понимаю, Вы потратили время, сделали удобную вещь, но коль так, то не нужно было рекламироваться в стольких статьях и ветках форума, что предполагает либо бесплатную публикацию, либо платную, ну по крайней мере не просто любования скринами интерфейса.<br /><br />А теперь получается что «пройти курсы» нужно не для того что бы торговать, а что бы писать свою инфраструктуру как в Wealthсе и тп. Cогласитесь это многих отпугнёт так как времени у многих нет на это, особенно когда есть WealthLab.<br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28697/"Оптимизатор" - смелое название :) Потому что именно с оптимизацией на S# пока косяк. Производительн...2013-12-20T09:02:29Z2013-12-20T09:02:29ZBondhttps://stocksharp.com/users/26882/info@stocksharp.com<div class="quote"><span class="quotetitle">VassilSanych <a href="https://stocksharp.com/posts/m/28696/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">"Оптимизатор" - смелое название :)<br />Потому что именно с оптимизацией на S# пока косяк. Производительность тестирования слишком низкая для нужд оптимизации.<br /></div></div><br /><br />Откуда вы знаете какая производительность моего Оптимизатора?) После оптимизации кода и реализации многопоточности он стал довольно шустрым. К тому же с применением методов стохастической оптимизации против метода полного перебора скорость тестирования увеличилась на порядок!<br />Преимущество Оптимизатора в том, что он абсолютно органичен со стратегией и тестирование проходит максимально приближенно к реальным условиям. Нет ошибок переноса стратегии в сторонние тестеры.<br />Плюс своя разработка позволяет проводить глубокую настройку как самого Оптимизатора так и страгегии.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28696/"Оптимизатор" - смелое название :) Потому что именно с оптимизацией на S# пока косяк. Производительн...2013-12-20T07:52:03Z2013-12-20T07:52:03ZVassilSanychhttps://stocksharp.com/users/6491/info@stocksharp.com"Оптимизатор" - смелое название :)<br />Потому что именно с оптимизацией на S# пока косяк. Производительность тестирования слишком низкая для нужд оптимизации.<br />Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28693/Заинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я...2013-12-20T05:16:07Z2013-12-20T05:16:07ZBondhttps://stocksharp.com/users/26882/info@stocksharp.com<div class="quote"><span class="quotetitle">loop <a href="https://stocksharp.com/posts/m/28683/"><img src="https://stocksharp.com/images/icon_latest_reply.gif" title="Go to" alt="Go to" /></a></span><div class="innerquote">Заинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я лично очень обижусь, если это только чтоб подразнить. Где этот оптимизатор?<br /><br />Либо пишите большими буквами: <span style="font-size:180%"><b>"ВНИМАНИЕ ПЛАТНОЕ!!!"</b></span> Чтоб не вводить народ в заблуждение.</div></div><br /><br />Где вы видите, чтобы я что-то продавал?<br />Если честно мне непонятно откуда такой ажиотаж.<br />Что вам мешает написать их самостоятельно? Никакого ноухау в коде нет. Все построено на стандартном функционале. К тому же на сервере лежат базовые версии этих программ. Допилите как вам нравится. Если не получается, пройдите обучающие курсы.<br />Куда интереснее методы и идеи, которые я применял для оптимизации и тестирования, но об этом спрашивают только единицы...Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28683/Заинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я...2013-12-18T23:10:38Z2013-12-18T23:10:38Zloophttps://stocksharp.com/users/49839/info@stocksharp.comЗаинтриговали, заинтриговали, всё, теперь делитесь тем о чём так много и упорно заявляете, а не то я лично очень обижусь, если это только чтоб подразнить. Где этот оптимизатор?<br /><br />Либо пишите большими буквами: <span style="font-size:180%"><b>"ВНИМАНИЕ ПЛАТНОЕ!!!"</b></span> Чтоб не вводить народ в заблуждение.Copyright @ StockSharp Platform LLC 2010 - 2024https://stocksharp.com/posts/m/28672/Хорошее фото) На пол статьи)2013-12-17T09:29:59Z2013-12-17T09:29:59ZBondhttps://stocksharp.com/users/26882/info@stocksharp.comХорошее фото) На пол статьи)Copyright @ StockSharp Platform LLC 2010 - 2024