Статьи. StockSharphttps://stocksharp.ru/handlers/atom.ashx?category=articles&page=12Copyright @ StockSharp Platform LLC 2010 - 20242024-03-29T11:42:49Zhttps://stocksharp.ru/images/logo.pnghttps://stocksharp.ru/topic/311/Рассказ нашего ученика2013-12-17T12:52:08Z2013-12-17T12:52:08ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<div align="center"><a href='https://stocksharp.ru/file/103033/bond_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/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.ru/file/103034/qpile_jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/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.ru/file/103031/____-_____________jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/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.ru/file/103032/_____-_______jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/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>https://stocksharp.ru/topic/312/Работа с TFS и EduLive2013-11-18T14:13:32Z2013-11-18T14:13:32ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<b><span style="font-size:180%">Введение в работу с Microsoft Team Foundation Server</span></b><br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/mi6WZBHUCeA" frameborder="0" allowfullscreen></iframe><br /><br /><b>Темы урока:</b><br />1. Краткий обзор возможностей TFS<br />2. Преимушества TFS как системы версионного контроля кода<br />3. Начало работы с TFS репозиториями S# Education<br />4. Загрузка проектов, работа с зависимостями<br />5. Добавление нового проекта в TFS <br />6. Концепция ветвления версий <br /><br /><b>Описание:</b> в этой лекции дается введение в системы версионного контроля, а также рассказано обо всём что необходимо знать, для работы с сервером TFS и нашим новым сервисом <a href="http://stocksharp.com/lesson/live/" title="http://stocksharp.com/lesson/live/">EduLive</a>, показаны примеры работы с EduLive.<br /><br /><b>Полезные ссылки:</b><br /><br />Управление жизненным циклом приложения с помощью Visual Studio и Team Foundation Server<br /><a target="_blank" href="http://msdn.microsoft.com/ru-ru/library/vstudio/fda2bad5(" title="http://msdn.microsoft.com/ru-ru/library/vstudio/fda2bad5(">http://msdn.microsoft.co...ibrary/vstudio/fda2bad5(</a>v=vs.110).aspx<br /><br />Разработка с использованием TFVC<br /><a target="_blank" href="http://msdn.microsoft.com/ru-ru/library/vstudio/ms181382.aspx
" title="http://msdn.microsoft.com/ru-ru/library/vstudio/ms181382.aspx
">http://msdn.microsoft.co...y/vstudio/ms181382.aspx
</a><br /><br />Введение в использование TFS c Visual Studio 2010 (EN)<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAAjGjvnQEgUlHHop0mbzPHA-1kkjEgcPoG7qjOy3PctXLqkJfA_lxhzhrHuV9iucnyOOciaopQH_Fl6H_BrJl1DLqQyPErq7odZYMDPfxX6ZLUtLNBXvcGUhL4LvV03J7VufVJze6j-iCN3XAL88zXl" title="http://blogs.msdn.com/b/jasonz/archive/2009/10/21/tutorial-getting-started-with-tfs-in-vs2010.aspx
">http://blogs.msdn.com/b/...with-tfs-in-vs2010.aspx
</a><br /><br />Team Foundation Service переименован в Visual Studio Online (EN)<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADAwOUuL8EULCKJuNtJ9HalQfNhJZFC1N6tISg1q41pJw0l8zmDMX-b7e09XnlAhnO3zBAH35CDm-IPr2LdZv_LVAQlIwNMqaQL5suYAQScNQ" title="http://www.visualstudio.com/products/visual-studio-online-overview-vs">http://www.visualstudio....tudio-online-overview-vs</a>https://stocksharp.ru/topic/313/Хранилище стратегий2013-11-08T12:45:51Z2013-11-08T12:45:51ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<span style="color:green"><span style="font-size:120%">Готовые примеры роботов</span></span><br /><br />Вебинар прошёл успешно, в основном рассказывал про новые примеры, как для учеников так и для всех желающих, а также всё что было предоставлено у нас на <a href="http://stocksharp.com/forum/3885/Nastoiashchaia-tusovka/" title="http://stocksharp.com/forum/3885/Nastoiashchaia-tusovka/">сервере</a> по обучению. В основном рассматривали новый проект, который мы сделали специально для всех учеников и любых желающих:<br /><br /><a href='https://stocksharp.ru/file/102970/robot_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102970/robot_png/?size=500x500" alt="http://" title="http://" /></a><br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/lHv8ullqvz8" frameborder="0" allowfullscreen></iframe><br /><br /><br /><b>А теперь подробнее для тех, кто хочет получить доступ к серверу, где лежат проекты (в том числе и к этому проекту). В основном наш сервер по обучению делится на две части:</b><br /><br /><a href='https://stocksharp.ru/file/102969/tfs_tfs_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102969/tfs_tfs_png/?size=500x500" alt="http://" title="http://" /></a><br /><br /><b>StockSharp Lessons</b> - здесь представлены все открытые коды по роботам и проектам принадлежащим видео-урокам. Есть много различных торговых стратегий, кластерных свечек, вообщем все проекты, относящиеся к этим урокам + много дополнительных закомментированных примеров. Бесплатно доступ к нему получают все ученики <a href="http://stocksharp.com/lesson/stocksharp/" title="http://stocksharp.com/lesson/stocksharp/">наших курсов</a>, а также <span style="color:red">все желающие под услугой <a href="http://stocksharp.com/lesson/live/" title="http://stocksharp.com/lesson/live/">EduLive</a>.</span><br /><br /><b>StockSharp Public</b> - публичный сервер, куда мы накинули уже не мало всего готового. Более подробный разбор того, что есть сейчас в паблике:<br /><ol><li><b>Robots (на скриншоте)</b> - 8 торговых стратегий. Исходные коды 3 самых сложных стратегий, находятся у нас в <span style="color:red">репозитории Lessons</span>. Все остальные стратегии открыты, так что можете смотреть и изучать. Проект позволяет задавать настройки запускать и останавливать стратегии.<br /><li><b>BestBuySell</b> - реальный проект торгового робота на заказ. Что делает? Включается в определенное время, прописанное в xml настройках. Основная задача - изменение позиции по корзине инструментов (прописаны в настройках) с помощью <a href="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm" title="http://stocksharp.com/doc/?topic=html/24250c24-029c-4dbc-bc8b-4afde645e483.htm">котирования</a>. К примеру при включении у RIZ3 текущая позиция 5, а должна быть 10. Он начинает с прописанными условиями и итерациями отправлять заявки, пока позиция по инструменту не станет правильной. Исходники безотказной стратегии котирования <span style="color:red">лежат в Lessons.</span><br /><li><b>Analyzer</b> - специальный анализатор стратегий. <a href="http://stocksharp.com/forum/4053/Optimizator-stratieghii/" title="http://stocksharp.com/forum/4053/Optimizator-stratieghii/">Более подробно</a>.<br /><li><b>MarketDepthAnalyzer</b> - подгружает историю стаканов и выводит соответствующие индикаторы на график. <a href="http://stocksharp.com/forum/4035/Analiziruiem-stakany-iz-plazy/" title="http://stocksharp.com/forum/4035/Analiziruiem-stakany-iz-plazy/">Более подробно</a>.<br /><li><b>Data</b> - сохраненные данные с помощью S#.Data. Сейчас на сервере бесплатно лежит 1 месяц Ордер Лога по 3 инструментам. Берите и изучайте, кстати ордерлог - это платная услуга от МБ.<br /><li><b>NN_Developing</b> - нейросеть. Простой проект для исследований и обучения нейросети. <br /></ol><br /><br />Как скачать все текущие проекты?<br /><ol><li><a href="http://stocksharp.com/forum/3885/Nastoiashchaia-tusovka/" title="http://stocksharp.com/forum/3885/Nastoiashchaia-tusovka/">Подключиться</a> к нашему TFS (в любом случае надо будет сделать)<br /><li>Скачать через Visual Studio (ссылка в первом пункте)<br /><li><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACahbIAg0fTFjd0gx9LfSkkEwDt_WRj-cR5QuQsFGNpLP4YkpWkOxtw0gzlV5Cd9RL9_fE5Nr4uCIsd2vwLOUn8UeuleOTWZnyyNVy1eZybVjygkvpqIwCS-9M_HZdIalgXHHi463IDXfYQglowkO8PBgSlg5ZiD2YgGqHtMjeuv7dwNja5dF8hYa8hjhN8TPBwquNadV9XuLPXSiplVtAmc-6QMHmo7Wjw5qlKvEN8mw6bMVlVs0TieW42ZJlJHtU" title="https://stocksharpeducation.visualstudio.com/DefaultCollection/StockSharp%2520Public/_api/_versioncontrol/itemContentZipped?repositoryId=&path=%2524%252FStockSharp+Public&__v=4">Скачать архивом</a> всё что есть в StockSharp.Public (для ленивых)<br /><li><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACahbIAg0fTFjd0gx9LfSkkEwDt_WRj-cR5QuQsFGNpLP4YkpWkOxtw0gzlV5Cd9RL9_fE5Nr4uCIsd2vwLOUn8nCmI2ljYWCcjYIXukr7_zNKs_QZ3V3NlQD-43R_YwBpZgP1fiqoVSSqu5buMu7QJSpObhglWeVRj3_8LqisOwcX3ui95o9GMTWcwGgmqoRv3beWkEeqO5Fn5p9YblhHkTxgx_huOxW4lDchS5cfcfOTYOH28Aw36lUGVwVI6yvBk3rPoA2lYCIRzlt5sF0gs86KHWulvajUYWIoGldZd7Q" title="https://stocksharpeducation.visualstudio.com/DefaultCollection/StockSharp%2520Lessons/StockSharp%2520Lessons%2520Team/_api/_versioncontrol/itemContentZipped?repositoryId=&path=%2524%252FStockSharp+Lessons&__v=4">Скачать архивом</a> всё что есть StockSharp.Lessons (для ленивых)<br /></ol><br /><br />P.S. В связи с большим объёмом вложений, лучше качать их напрямую из Visual Studiohttps://stocksharp.ru/topic/314/использование PCA в торговле парами инструментов2013-11-05T10:42:57Z2013-11-05T10:43:27ZАндрей Шабановhttps://stocksharp.ru/users/16691/info@stocksharp.ruВсем доброго времени суток...сейчас занят в проекте создания нового алгоритма для маркет-мейкера, по этому почти нет времени для нормальных «исследований и тестирования» нашего рынка. Поэтому пришла идея выкладывать обзор разных статей из мира Quantitative Analysis, HFT, трейдинга и всего, что относится к нашему рынку. Сразу прошу извинить за вольность и не точность перевода. Основная цель просто передать суть, для любопытных – всегда есть ссылка на оригинал.<br /><br />Начну с любопытной статьи про использование PCА.<br /><br />Введение:<br />PCA - <b>Метод главных компонент</b> (англ. Principal component analysis, PCA) очень-очень популярный метод преобразования исходных признаков в анализе данных. Его идея состоит в следующем пусть у нас есть N признаков, факторов или переменных (назовем их X1,X2,X3,X4…).<br />Представим наши X (их может быть ооочень много) в виде матрицы. Применяя к этой матрице SVD-разложение, мы можем перейти к новым переменным, которые будут обладать рядом замечательным свойств:<br /><br />первое - наши новые признаки (назовем их главными компонентами и будем обозначать Y) будут некоррелированы (в смысле линейной корреляции.<br />второе – дисперсия главных компонент равна собственному числу ковариационной матрицы, а собственные числа у нас обладают упорядоченностью. Итого: DY1>DY2>DY3….<br /><br />Лучше всего это проиллюстрировать картинкой. Рассмотрим 2х мерное облако данных в коррдинатах X1 X2, которые в свою очередь обладают ненулевым коэффициентом корреляции:<br />После преобразования получаем Новые координаты Y1 Y2, которые не будут коррелированы между собой, и в тоже время первая компонента будет иметь наибольший вклад в общую дисперсию данных (красная стрелочка), а на вторую (черная полоска) придется остаток дисперсии.<br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACRORT8LzX51y9h9i819FDDm9IUKuUzKlBz-L7Ho5UjHg" title="http://postimage.org/"><a href='http://s23.postimg.org/cqcqnnvy3/pca01.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://s23.postimg.org/cqcqnnvy3/pca01.png" style='max-width: 600px;' alt=""/></a></a><br /><br />Есть сотни случаев, где такой метод может понадобиться в анализе данных. Например вы хотите анализировать 100500 признаков и их влияние на какую-то величину Z. Применяя PCA вы получаете некоррелированные признаки (что уже хорошо в смысле оценок коэффициентов регрессии или что вам там надо) и упорядоченные признаки, что дает вам возможность отбросить хвост из признаков и использовать только 10 первых компонент с наибольшим вкладом в дисперсию (такой метод называется отбеливание данных). Есть и другие примеры.<br /><br /><br />Причем здесь рынок, спросите Вы?<br /><br />Классическая торговля парами (спредами) обычно требует некоррелированности спреда с рынком..То есть нулевой корреляции между приращением спреда и приращением рынка (естественно нам также нужна ограниченность значений нашего спреда в каком-то смысле.<br /><br />Обычно когда мы хотим начать торговать парой инструментов мы выбираем 2 сильно коррелированных актива, и используя «бета коэффициенты инструментов» образуем нейтральную к рынку пару.<br />В случае конструкции синтетического инструмента состоящего из нескольких «ног» такой подход приносит трудности, и тут мы приходим к методу главных компонент: Используя PCA мы трансформируем наши данные при этом упорядоченность дисперсии дает следующий результат:<br />1-ая компонента, обладающая наибольшей волатильностью, зачастую очень сильно коррелирует с рынком. 2ая компонента, с одной стороны обладает наибольшей дисперсией после вычета из данных первой компоненты, с другой является нейтральной по отношению к первой. Соответственно портфель состоящий из компоненты Y2=a1X1+….anXn мы и будем рассматривать для нашей торговли.<br /><br /><a href='http://1.bp.blogspot.com/-kRujUhINIZU/UL0bSxEddlI/AAAAAAAADj8/GzEYNqC3aaI/s1600/energy.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://1.bp.blogspot.com/-kRujUhINIZU/UL0bSxEddlI/AAAAAAAADj8/GzEYNqC3aaI/s1600/energy.png" style='max-width: 600px;' alt="PCA" title="PCA" /></a><br /><br /><br />На этой картинке даны 4 инструмента (X1..X4 в нашей терминологии) и 4 главных компоненты после преобразования. Налицо убывание волатильности от 1ой компоненты к 4ой.<br /><br />Если взглянуть на оставшиеся компоненты после вычета первой, то можно увидеть что компоненты вполне торгуемы на той истории на которой проводилось исследование:<br /><a href='http://4.bp.blogspot.com/-EziqDUQ7cKY/UL0d5kThjAI/AAAAAAAADkM/XnqmWTiLof0/s1600/energy_zoom.png' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://4.bp.blogspot.com/-EziqDUQ7cKY/UL0d5kThjAI/AAAAAAAADkM/XnqmWTiLof0/s1600/energy_zoom.png" style='max-width: 600px;' alt=""/></a><br /><br /><br />оригинал: <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAD2dYSTDFBz5cMGKWBkfkvMBBVT5MUgPabp6us1hf3ASqEaDpC_56MqoxMFW0AEjgiS8QGyfzZIG-4T_Hwi_KZ24l7lHzRAUIXSSQi2YkzwlQ" title="http://matlab-trading.blogspot.ca/2012/12/using-pca-for-spread-trading.html">http://matlab-trading.blogspot....-for-spread-trading.html</a><br /><br /><br />P.S. данный подход относится к классической торговле акциями, куда не стоит относить торговлю ставкой или связанами инструментами.<br />P.P.S. недавно всвязи с переходом на Т2 рассматривал под микроскопом движение ставки в наших замечательных парах Акция-Фьючерс..<br />на лицо было заметна корреляция между движением нструмента (внутридневной масштаб) и микродвижением ставки.<br />Пример:<br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACRORT8LzX51y9h9i819FDDm9IUKuUzKlBz-L7Ho5UjHg" title="http://postimage.org/"><a href='http://s21.postimg.org/i7vp0w5t3/mean02.jpg' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="http://s21.postimg.org/i7vp0w5t3/mean02.jpg" style='max-width: 600px;' alt=""/></a></a><br /><br /><br />никто не строил стратегий на внутридневной торговли ставкой (базисом) в сбербанке,лукойле,газе?[glare] <br /><br /><br />на след. Неделе раскажу про популярный подход VPIN и OrderFlow для анализа микро движений рынка.https://stocksharp.ru/topic/315/Один день из жизни Ri. Или введение в микроструктурный анализ2013-10-10T11:26:28Z2013-10-10T11:30:44Zvlad1024https://stocksharp.ru/users/768/info@stocksharp.ruДля большинства трейдеров свечные графики различного таймфрейма это и есть рынок, там скрывается все - и тренд и боковик и хитрый маркет мэйкер с глобальным кукловодом. Начнем с простых фактов, за одну сессию 2012.11.07 на фьючерсе Ri ядро биржи обработало 10 449 043 транзакций или примерно 12 000 транзакций в минуту, одна свечка самого "высоко частотного" минутного таймфрема скрывает за собой огромное количество более элементарных действий. Поэтому мы спустимся на самый низкий уровень того, что происходит на бирже и начнем оттуда. <br /><br />Можно долго рассказывать про то как устроена биржа, про промежуточные сервера и другие части "транспортной" инфракстуры, какие задержки они вносят при путешествии заявки, но в конце пути любая заявка попадает в ядро биржие, где непосредственно происходит то ради чего все собственно и затевалось - сведение(matching). И на этом уровне, в смысле формата данных и производимых элементарных действий, FORTS мало чем отличается от той же CME или любой другой современной биржи. Входной поток состоит из заявко двух типов, на вставку(insert) и отмену(cancel). Бьете вы по рынку или выставляете заявку в глубь стакана - для ядра нет разницы, все это в конечном итоге преобразуется в заявку на вставку, которой присваивается свой уникальный идентификатор. Другой тип заявок - на отмену, позволяет убрать часть(или всю) предшествующей заявки на вставку. Ядро принимая на входе поток состоящий из заявок на вставку и отмену, создает поток сведенных сделок, каждая сведенная сделка связана с двумя заявками участвующих в сделке. Исходя из полученного потока, затем строятся стаканы, и тиковые данные(сведенные сделки), которые рассылаются пользователям(к примеру на RTS срезы стаканов строятся с периодичностью 30 миллисекунд), и лишь затем тики преобразуются в красивые свечки, отображаемые на экране. Поток данных содержащий заявки на вставку, отмену и сведенные сделки, на FORTS называется Full Order Log. <br /><br />Рассмотрим более подробно формат данных Full Order Log. Возьмем для примера маленький, кусочек:<br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:cpp">
QUOTE TYPE TIMESTAMP SESSION ORDER_ID STATUS ACTION PRICE VOL DEAL_ID DEAL_PRICE
['riz2', 1, 1352315357375000, 20121107, 9368447574, 101401, 1, 141870.0, 1,,]
['riz2', -1, 1352315357380000, 20121107, 9368447558, 100001, 0, 141900.0, 3,,]
['riz2', -1, 1352315357380000, 20121107, 9368447580, 101401, 1, 141890.0, 3,,]
['riz2', -1, 1352315357381000, 20121107, 9368447559, 100001, 0, 141890.0, 2,,]
['riz2', -1, 1352315357381000, 20121107, 9368447581, 101401, 1, 141880.0, 2,,]
['riz2', 1, 1352315357381000, 20121107, 9368447507, 100001, 0, 141840.0, 4,,]
['riz2', 1, 1352315357381000, 20121107, 9368447582, 101401, 1, 141860.0, 4,,]
['riz2', 1, 1352315357384000, 20121107, 9368447522, 100001, 0, 141850.0, 8,,]
['riz2', 1, 1352315357384000, 20121107, 9368447586, 101401, 1, 141860.0, 8,,] <- A
['riz2', 1, 1352315357386000, 20121107, 9368447255, 201401, 0, 141850.0, 2,,]
....
['riz2', 1, 1352315358149000, 20121107, 9368447396, 1, 2, 141860.0, 2, 657525271, 141860.0]
['riz2', 1, 1352315358149000, 20121107, 9368447454, 1, 2, 141860.0, 2, 657525272, 141860.0]
['riz2', 1, 1352315358149000, 20121107, 9368447586, 1, 2, 141860.0, 1, 657525273, 141860.0] <- B
['riz2',-1, 1352315358149000, 20121107, 9368447766, 402, 1, 134840.0, 5, ,,] <- C
['riz2',-1, 1352315358149000, 20121107, 9368447766, 2, 2, 134840.0, 2, 657525271, 141860.0]
['riz2',-1, 1352315358149000, 20121107, 9368447766, 2, 2, 134840.0, 2, 657525272, 141860.0]
['riz2',-1, 1352315358149000, 20121107, 9368447766, 1002, 2, 134840.0, 1, 657525273, 141860.0] <- D
['riz2', 1, 1352315358189000, 20121107, 9368447761, 100001, 0, 141840.0, 4, ,,]
['riz2', 1, 1352315358189000, 20121107, 9368447770, 101401, 1, 141860.0, 4, ,,]
</pre>
</div></div><br />QUOTE - содержит название инструмента, TYPE - направление заявки (+1 - bid, -1 - ask), TIMESTAMP - временная метка в микросекундах, SESSION - идентификатор сессии, ORDER_ID - идентификатор заявки, STATUS - флаги заявки, ACTION - тип заявки (0 - отмена, 1 - вставка, 2 - сведенная сделка), PRICE - цена, VOL - объем заявки, DEAL_ID - идентификатор сделки, DEAL_PRICE - цена сделки. <br />На примере выше показан цикл жизни заявки, вставка заявки c идентификатором 9368447586 в поток (A), вставка встречно заявки (C), первая сторона сведенной сделки (B) и вторая сторона (D).<br /><br />Теперь, немного разобравшись в формате данных, можно приступить к статистическому анализу. Всего за сессию было произведено 10 449 043 транзакций, из них 4 990 732 на вставку, и 4 362 829 на отмену, а сведено сделок - 1 095 482. То есть "в среднем по больнице" на каждую сделку приходилось 4 перестановки. Следующий вопрос, который возникает - каким образом данная активность распределена по объемам. Для этого посчитаем следующие факторы - количестов вставок и отмен для заданного объема, отношение отмененых заявок к выставленным, чем меньше это соотношение тем больше количество сделок сведено на каждую вставленную заявку, тогда умножив соотношение на количество вставленных заявок, мы получим количество проторгованных заявок для данного объема заявки. В результате получим следующую табличку, отсортированную по столбцу проторгованного объема(для анализа использовался python + scipy):<br /><br /><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:cpp">
cancel_count cancel_volume insert_count insert_volume ratio trade_volume
1176407 1 1452121 1 0.810130 275714
272998 5 327113 5 0.834568 270575
1257775 2 1369794 2 0.918222 224038
39698 10 55877 10 0.710453 161790
432361 4 470513 4 0.918914 152608
668395 3 718625 3 0.930103 150690
15002 20 20662 20 0.726067 113200
1455 50 3608 50 0.403271 107650
453 100 1404 100 0.322650 95100
201295 8 212359 8 0.947900 88512
21651 15 27185 15 0.796432 83010
99168 6 110608 6 0.896572 68640
1989 30 4107 30 0.484295 63540
4926 25 7438 25 0.662275 62800
1025 200 1310 200 0.782443 57000
37216 12 41715 12 0.892149 53988
68 500 172 500 0.395349 52000
17857 7 25274 7 0.706536 51919 </pre>
</div></div><br /><br />cancel_volume, insert_volume - объем в заявке на вставку или отмену, cancel_count - количество отмен, insert_count - количество вставок, ratio - соотношение, trade_volume - оценка проторгованного объема в контрактах. <br /> <br />Как видно, объемы заявок на вставку, можно условно разделить на две группы, small-volume traders с диапазоном объема 1-10 - высокочастотные трейдеры и скальперы, и всех остальных, как видно во второй группе, значения проторгованного объема кучкуются вокруг "психологических" уровней заявок - 15, 20, 25, 30, 50, 100, 200, 500.<br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACGbKb4OGqyVRvP33DJbGKgV8JAcGjEFb2CD5EV31L_kA" title="http://pastebin.com/ZBqyiY0n">код на питоне</a><br />Продолжение следует... https://stocksharp.ru/topic/316/Анализируем стаканы из плазы2013-10-09T18:40:31Z2013-10-09T18:40:31ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<span style="color:green"><span style="font-size:120%">Анализируем стаканы из Plaza!</span></span><br /><em>несложный проект по выводу стаканам на чарты S#</em><br /><br />Открываю серию простых ботов/проектов (<a href="http://stocksharp.com/products/api/" title="http://stocksharp.com/products/api/">S#.Api</a>). Простые и сложные версии будут лежать у нас на <a href="http://stocksharp.com/news/10188-gde-luchshaya-tusovka" title="http://stocksharp.com/news/10188-gde-luchshaya-tusovka">сервере</a> по обучению. Как это было:<br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/DXubn8muFpg" frameborder="0" allowfullscreen></iframe><br /><br />Собрались с алго-пацанами, стали обсуждать какие темы "тяжело" проходят у стокшарповцев. В итоге был реализован такой простой проект:<br /><ol><li>Подгружает хранилище стаканов, закаченное из <a href="http://stocksharp.com/doc/?topic=html/7eda6d74-d3b8-4fe5-b6a3-fab60e441daf.htm" title="http://stocksharp.com/doc/?topic=html/7eda6d74-d3b8-4fe5-b6a3-fab60e441daf.htm">плазы</a>, с помощью <a href="http://stocksharp.com/products/hydra/" title="http://stocksharp.com/products/hydra/">гидры</a><br /><li>Выводит простые индикаторы с расчетом по стаканам на чарт<br /><li>Можно поменять формулу и сделать свой аналайзер стакана.<br /></ol><br /><br />Проект простенький, данные сразу лежат в готовом варианте:<br /><a href='https://stocksharp.ru/file/102915/analyze_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102915/analyze_png/?size=500x500" alt="симпл" title="симпл" /></a><br /><br /><span style="font-size:120%">Скачать исходники можно через наше хранилище на TFS (бесплатно), <a href="http://stocksharp.com/news/10188-gde-luchshaya-tusovka" title="http://stocksharp.com/news/10188-gde-luchshaya-tusovka">подключиться к публичному серверу</a>! <a target="_blank" href="https://stocksharp.ru/file/102916/analyzer_rar/" title="https://stocksharp.ru/file/102916/analyzer_rar/">Скачать exe</a>.</span>https://stocksharp.ru/topic/317/Скоро на всех экранах страны. Исполнитель стратегий для Wealth-Lab.2013-10-08T14:50:18Z2013-10-08T14:50:18ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<div align="left">Как вы все наверное знаете Wealth-Lab это отличная штука для создания и тестирования торговых роботов. Он позволяет визуализировать, протестировать и оптимизировать вашу стратегию. Но к сожалению, Wealth-Lab очень плохо дружит с российским рынком. Мы конечно же решили эту проблему нашим адаптером S#.Wealth-Lab но перед вами встаёт другая проблема, это то что для запуска адаптера необходимо лицензионная версия Wealth-Lab которая к слову сказать стоит 800$ плюс 150$ за продление лицензии на следующий год, а это порой непозволительная роскош для российского человека. Плюс при проторговке системы мы столкнёмся с тем что Wealth-Lab не позволяет запускать тиковые и секундные стратегии через свой Strategy Monitor, а также в велсе отсутствует стакан. Мы решили все эти проблемы программой Wealth Script Executer.<br /><br /><a href='https://stocksharp.ru/file/102906/08-10-2013-14-00-20_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102906/08-10-2013-14-00-20_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102907/08-10-2013-13-55-26_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102907/08-10-2013-13-55-26_png/?size=500x500" alt=""/></a><br />Что же из себя представляет Wealth Script Executer? Wealth Script Executer это отдельная программа которая позволяет запускать велсовские стратегии и при этом подключаться к большинству российских и зарубежных площадок без переписывания роботов. Плюс у вас будет возможность работать с любым типом графиков которые поддерживает S# и пользоваться стаканом, отслеживать статистику по стратегиям и запускать их по расписанию, что полностью исключит человеческий фактор из торговли!<br /><a href='https://stocksharp.ru/file/102908/08-10-2013-13-56-41_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102908/08-10-2013-13-56-41_png/?size=500x500" alt=""/></a><br /><br />И так как происходит процесс работы с Wealth Script Executer. Вы берёте Wealth Lab создаёте и оптимизируете в нём стратегию можно использовать даже Wealth Lab 5.6 сохраняете стратегию стандартными средствами и отрываете её в Wealth Script Executer настраиваете параметры и запускаете в торговлю и наслаждаетесь результатом. <br /><a href='https://stocksharp.ru/file/102909/08-10-2013-14-29-47_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102909/08-10-2013-14-29-47_png/?size=500x500" alt=""/></a><br />Так же вы сможете использую Visual studio отнаследовавшись от специальной библиотеки создать и скомпилировать стратегию, а потом просто открыть её в Wealth Script Executer.<br /><br /><br />Сейчас Wealth Script Executer находится в состоянии закрытого бета тестирования и совсем скоро будет доступен нашим подписчикам. Ждите анонса.</div>https://stocksharp.ru/topic/319/Ещё один способ определения пробоя уровня2013-10-02T11:05:10Z2013-10-02T11:05:10ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<div align="left">Доброго времени суток. Я зная, что в предыдущей <a href="http://stocksharp.com/forum/4007/Mietody-opriedielieniia-istinnosti-proboia-urovnia/" title="http://stocksharp.com/forum/4007/Mietody-opriedielieniia-istinnosti-proboia-urovnia/">статье</a> я обещал развить тему методов определения отскока от уровня, но я решил немного дополнить предыдущую статью, добавив ещё один метод определения пробоя уровня.<br /><br />Суть данного метода заключается в том, что мы дожидаемся пока цена начнёт консолидироваться вокруг нашего уровня. Тестируя его в разные стороны. После того как цена некоторое время, а точнее некоторое количество баров тестирует наш уровень, мы откладываем от нашего уровня канал на заданный процент и только после того как цена пробьет наш канал мы входим в позицию. Суть определения того что цена тестирует наш уровень заключается в том что предыдущие свечки должны полностью оставаться в канале.</div><br /><div align="left"><br />В наглядном виде всё это выглядит примерно так.<br /><br />Входим в длинную позицию</div><br /><a href='https://stocksharp.ru/file/102889/01-10-2013-20-51-54_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102889/01-10-2013-20-51-54_png/?size=500x500" alt=""/></a><br /><br /><div align="left">Входим в короткую позицию</div><br /><a href='https://stocksharp.ru/file/102890/01-10-2013-20-52-11_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102890/01-10-2013-20-52-11_png/?size=500x500" alt=""/></a><br /><br /><div align="left">Результаты</div><br /><a href='https://stocksharp.ru/file/102893/01-10-2013-20-50-31_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102893/01-10-2013-20-50-31_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102891/01-10-2013-20-49-53_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102891/01-10-2013-20-49-53_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102892/01-10-2013-20-51-07_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102892/01-10-2013-20-51-07_png/?size=500x500" alt=""/></a><br /><br /><div align="left">Вы можете сравнить результаты данного метода с результатами методов из прошлой статьи и убедиться, что данный метод намного лучше определяет точки входа чем предыдущие.<br />Конечно такую торговую систему не в коем случае не стоит использовать на реальной торговли, она годится лишь для тестирования различных методик определения пробоя и отбоя от уровня. Так как если кто не помнит мы строим уровень на основе вчерашней цены закрытия.<br /><br />Думаю, результаты будут намного лучше, если мы будем использовать нормальный алгоритм определения уровней. К примеру, камарилья или уровни мюррея. Также можно попробовать строить канал на основе волатильности что позволит ему более динамически подстраиваться под текущее состояние рынка. Исходные коды данного метода, как и всегда лежат у нас на сервере. В свою очередь жду от вас предложений по улучшению данной методики.</div>https://stocksharp.ru/topic/320/HFT изнутри2013-09-25T10:21:25Z2013-09-25T10:22:19ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<span style="font-size:120%">Очень интересное видео про реально бота HFT, про опыт в алготрейдинге.</span><br />Смотрим, обсуждаем [biggrin] <br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/Lg_0qDt1plM" frameborder="0" allowfullscreen></iframe>https://stocksharp.ru/topic/337/Торговая система на основе линий боллинджера2013-09-24T15:55:17Z2013-09-24T15:55:17ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<b><span style="font-size:120%">Bollinger Bands</span></b><br />Хотел бы Вас познакомить со стратегией, которую я называю <b>BB</b> ну или <b>Bollinger Bands</b> или Big Boobs[rolleyes] , вообщем название пришло само по себе.<br /><br /><span style="font-size:120%"><b>Доходность:</b></span><br /><a href='https://stocksharp.ru/file/102327/profit_jpg/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102327/profit_jpg/?size=500x500" alt=""/></a><br /><br /><b><span style="font-size:120%">Характеристики:</span></b><br /><ul><li>Инструмент:склеенный фьючерс РТС (скачан с финама)<br /><li>Таймфрейм: 1 час<br /><li>Период тестирования: 01.04.2008 - 09.04.2013<br /><li>Проскальзывание:не учитывалось. Учитывался бар утренней сессии(10:00).<br /></ul><br /><br /><b><span style="font-size:120%">Настраиваемые параметры:</span></b><br /><ul><li>Экспоненциальная скользящая средняя или EMA в народе. Две штуки - в коде "ma"(медленная) и "ma1"(быстрая).<br /><li>Индикатор ROC. В коде - "roc"<br /><li>Линия боллинджера(только верхняя). В коде - "BBUp".<br /><li>Тейкпрофит.В коде - "_takeprofit".<br /><li>Стоплосс. В коде - "_stoploss".<br /></ul><br /><br /><span style="font-size:120%"><b><span style="color:green">Алгоритм для входа Покупка:</span></b></span><br />Ecли <b>Close</b>(на текущем баре)<b>>BBUUp</b>, то покупаем по рынку(покупка по открытию следующей свечи).<br /><br /><span style="font-size:120%"><b><span style="color:green">Алгоритм для выхода Покупка:</span></b></span><br />Если <b>Close<ma</b>, то продаем по рынку(по открытию следующего бара).<br /><br /><span style="font-size:120%"><b><span style="color:red">Алгоритм для входа Продажа:</span></b></span><br />Если значение индикатора <b>ROC<0</b> (на текущем баре) <b>и</b> <b>Close</b>(Цена закрытия свечки) <b>< ma_1</b>, то продаём по рынку(продажа по открытию следующей свечи).<br /><br /><span style="font-size:120%"><b><span style="color:red">Алгоритм для выхода Продажа:</span></b></span><br /><ol><li>Если <b>Close>BBUp</b>, то покупка по рынку(по открытию следующего бара).<br /><li><b>Стоплосс</b>(определенный процент от точки входа).<br /><li><b>Тейкпрофит</b>(определнный процент от точки входа)<br /></ol><br /><br /><span style="font-size:120%"><b>Код:</b></span><br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_45fb8eedcd2f423c833c2574b889e89c');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_45fb8eedcd2f423c833c2574b889e89c' style='display:none'><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
/****************************************
Стратегия создана специально
для обучения по Wealth-Lab от StockSharp
все подробности тут
÷ñÒ861429906êÖ0õæ÷http://stocksharp.com/lesson/wealth.aspx
÷ñÒ861429906êÖ1õæ÷
StockSharp <<торговые роботы>>
*****************************************/
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
private StrategyParameter _bbPeriod;
private StrategyParameter _bbdev;
private StrategyParameter _malength;
private StrategyParameter _malength1;
private StrategyParameter _roc;
//тейк профит и стоплосс
private StrategyParameter _takeprofit;
private StrategyParameter _stoploss;
public MyStrategy()
{
//индикаторы
_bbPeriod = CreateParameter("BBand Period", 114, 10, 200, 10);
_bbdev = CreateParameter("BBand StdDev", 1.86, 1, 4, 0.25);
_malength = CreateParameter("MA", 137, 10, 200, 5);
_malength1 = CreateParameter("MA1",83,10, 200, 5);
_roc = CreateParameter("ROC",1,1,5, 1);
//тейк профит и стоплосс
_takeprofit = CreateParameter("takeprpfit",1.81,1, 10, 0.1);
_stoploss = CreateParameter("stoploss",6.68,1,10, 0.1);
}
protected override void Execute()
{
//линия боллинджера
DataSeries BBUp = BBandUpper.Series( Close, _bbPeriod.ValueInt, _bbdev.ValueInt );
//скользящая средняя
DataSeries ma = EMAModern.Series(Close, _malength.ValueInt);//60
//индикатор roc
DataSeries roc = ROC.Series(Close,_roc.ValueInt);//2
//еще одна скользящая
DataSeries ma_1 = EMAModern.Series(Close, _malength1.ValueInt);//115
//Выводим графику ( BB,ROC)
PlotSeries(PricePane, BBUp, Color.Green, LineStyle.Solid, 2 );
ChartPane paneROC = CreatePane(75,true,true);
PlotSeries(paneROC,roc,Color.SlateGray,LineStyle.Histogram,20);
//Выводим графику (EMA)
PlotSeries(PricePane,ma,Color.Red,LineStyle.Solid,2);
PlotSeries(PricePane,ma_1,Color.Blue,LineStyle.Solid,2);
for(int bar = 114; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)//если активна позиция
{
Position p = LastPosition;
//Выход из позиции
if (p.EntrySignal.Contains("Sell"))
{
//уровень стопа для продажи
double Stop = p.EntryPrice * (1 + _takeprofit.Value / 100);
//уровень тейка для продажи
double Target = p.EntryPrice * (1 - _stoploss.Value / 100);
//выход по условию верхней линии Боллинджера
if (CrossOver( bar, Close, BBUp ))
{
CoverAtMarket(bar + 1, p, "Exit_Sell_1");
}
//условие на выход по стоплоссу(заведомо знаем что на первом баре невозможно выйти без проскальзывания)
if(bar+1<Bars.Count&&Bars.Date[bar+1].TimeOfDay.Hours!=10)
{
CoverAtStop(bar + 1, p, Stop, "Exit_Sell_2");
}
else if(Close[bar]>Stop)//если это первый бар, то выходим по его закрытию
{
CoverAtClose(bar+1,p,"");
}
CoverAtLimit(bar+1, p, Target, "Exit_Sell_3");
}
else if (p.EntrySignal.Contains("Buy"))
{
if (CrossUnder(bar, Close, ma))
{
SellAtClose(bar + 1, p, "Exit_Buy");
}
}
}
else
{
//если значение Roc меньше нуля
if (roc[bar] < 0)
{
//при пересечении цены закрытия свечи и скользящей
if (CrossUnder(bar, Close, ma_1))
{
ShortAtMarket(bar + 1, "Sell");
}
}
//пересечение цены закрытия и линии боллинджера вверх
else if (CrossOver( bar, Close, BBUp ))
{
BuyAtMarket(bar + 1, "Buy");
}
}
}
}
}
}
</pre>
</div></div><br /></div>https://stocksharp.ru/topic/335/Торговая система Kaufman's Adaptive Moving Average Binary Wave2013-09-24T15:54:34Z2013-09-24T15:54:34ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<b>Описание</b><br />KAMA - Адаптивная скользящая средняя была разработана Перри Кауфманом и впервые опубликована в его книге «Умный трейдинг» в 1995 году. Отличие адаптивной скользящей средней от ее сестер состоит в том, что период вычисления скользящей средней напрямую зависит от состояния рынка и динамики цен – при резких трендовых движениях период скользящей средней постепенно уменьшается для большей чувствительности, ну а в моменты затухания рынка и снижения активности период скользящей средней увеличивается, тем самым фильтруются незначительные колебания. В итоге, адаптивная скользящая средняя избавилась от извечных недостатков скользящих средних – запаздываний при увеличении периода и ложных срабатываний при его уменьшении.<br />Filter вычисляет разброс значений KAMA за определенный период с помощью стандартного отклонения. Если этот разброс не превышает определённую величину то используется предыдущее значения фильтра, если же оно превышает заданный порог происходит присвоение новой величины.<br /><br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_59f49f46dc5a470c834486bcbb7874a1');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_59f49f46dc5a470c834486bcbb7874a1' style='display:none'><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators; // ER is here
namespace WealthLab.Strategies
{
public class KAMABinaryWave : WealthScript
{
private StrategyParameter paramPeriod;
private StrategyParameter paramFilter;
public KAMABinaryWave()
{
paramPeriod = CreateParameter("Period", 10, 1, 100, 1);
paramFilter = CreateParameter("Filter %", 15, 1, 100, 1);
}
protected override void Execute()
{
int Periods = paramPeriod.ValueInt;
double FilterPercent = paramFilter.Value;
KAMA k = KAMA.Series( Close,Periods );
ER e = ER.Series( Close,Periods );
DataSeries bWave = new DataSeries(Bars,"KAMA Binary Wave");
DataSeries Filter = FilterPercent * StdDev.Series(k - (k>>1),Periods,StdDevCalculation.Sample);
double AMALow = 0;
double AMAHigh = 0;
for(int bar = Periods; bar < Bars.Count; bar++)
{
AMALow = k[bar] < k[bar-1] ? k[bar] : AMALow;
AMAHigh = k[bar] > k[bar-1] ? k[bar] : AMAHigh;
if( ( k[bar] - AMALow ) > Filter[bar] )
bWave[bar] = 1.0;
else
if( ( AMAHigh - k[bar] ) > Filter[bar] )
bWave[bar] = -1.0;
if (IsLastPositionActive)
{
if( bWave[bar] < 0 )
SellAtMarket( bar+1,LastPosition );
}
else
{
if( bWave[bar] > 0 )
BuyAtMarket( bar+1 );
}
}
ChartPane bwPane = CreatePane( 30,true,true );
PlotSeries( bwPane, bWave, Color.Blue, LineStyle.Solid, 1 );
PlotSeries( PricePane, k, Color.Red, LineStyle.Solid, 1 );
}
}
}
</pre>
</div></div><br /></div>https://stocksharp.ru/topic/334/Торговая система на основе индикатора ConnorsRSI2013-09-24T15:53:46Z2013-09-24T15:53:46ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<b><span style="font-size:120%">ConnorsRSI</span></b><br /><br /><a href='https://stocksharp.ru/file/102396/3_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102396/3_png/?size=500x500" alt=""/></a><br /><br /><div align="left">В этой статье я хотел бы рассказать вам о новом индикаторе, который был недавно реализован в <b>Wealth lab</b>. Данный индикатор называется <b>ConnorsRSI</b>. <br />Данный индикатор был разработан Ларри Коннорсом из Connors Research его доклад вы легко сможете найти в интернете по запросу <br />“Connors Research Trading Strategy Series An Introduction to ConnorsRSI”. И так давайте рассмотрим, что же из себя представляет индикатор <b>ConnorsRSI</b>. <br /><br /><b>ConnorsRSI</b> состоит из трех компонентов. Два из них используют расчеты, проводимые индикатором <b>RSI</b>. <br />Третий компонент измеряет последние ценовые изменения по шкале от 0 до 100. В сочетании все эти три компонента формируют осциллятор, то есть индикатор, <br />который колеблется в диапазоне от 0 до 100 и указывает на уровень перекупленности или перепроданности. А сейчас, давайте вспомним, что из себя представляет <b>RSI</b>. <br /><br />Индикатор <b>RSI</b>сравнивает величину подъемов цены актива за последнее время с величиной ее падений и предоставляет эту информацию в виде числа находящегося <br />в диапазоне от 0 до 100. Единственный параметр данного индикатора это временной период, то есть количество свечек используемых в расчете индикатора. <br />В индикатор заложена простая идея: <br />Рост цены отражает силу быков, ее падение говорит о преимуществе медведей. Проше говоря, индикатор RSI считает долю бычьих белых свечей на выбранном интервале. <br /><br /><b>Если RSI>70%, то на рынке правят быки, цены растут. <br />Если же RSI<30%, то настроение определяют медведи, цены падают.</b> <br /><br />Ну а теперь давайте вернемся к нашему индикатору <b>ConnorsRSI</b>. Как я уже говорил, ConnorsRSI состоит из 3 компонентов. <br /><br />Ценовой Импульс <b>(Price Momentum)</b> - использует индикатор RSI для измерения уровней перекупленности и перепроданности рынка.<br />По умолчанию, <b>ConnorsRSI </b>использует <b>RSI </b>с периодом 3 применительно к ценам закрытия. Будем ссылаться на это значение как на RSI(Close,3).<br />Длительность Бычьего/Медвежьего Тренда: Когда текущая цена закрытия ниже предыдущей, это значит, что рынок закрылся с понижением. Если наоборот, <br />то рынок закрылся с повышением. Исследования <b>Connors Research</b> показали, что чем дольше длиться медвежий тренд (последовательность из нисходящих цен закрытия), <br />тем более сильным будет рост, когда рынок развернется. То же самое можно сказать и о бычьем тренде. <br /><br />Иными словами, длительность тренда – это также индикатор перекупленности и перепроданности рынка.<br />Но проблема в том, что теоретически она неограниченна во времени. Хотя зачастую мы можем установить некоторые искусственные границы, основываясь на прошлом.<br />К примеру, изучив исторические данные, можно заметить, что на определенном инструменте было очень мало случаев, <br />когда последовательность из нисходящих или восходящих ценовых баров длилась больше 20 баров. <br />Но это еще не дает нам значения индикатора, которое вписывается в диапазон от 0 до 100.<br /><br />Выход из данной ситуации состоит из двух шагов. Сначала мы подсчитываем количество последовательных баров, в течение которых цена двигалась в одном направлении. <br />То есть используем положительные значения для бычьего тренда и отрицательные - для медвежьего. К примеру давайте посмотрим на таблицу.<br /><br /><a href='https://stocksharp.ru/file/102394/1_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102394/1_png/?size=500x500" alt=""/></a><br /><br />Цена закрытия второго бара выше, чем цена закрытия первого бара, поэтому мы наблюдаем бычий тренд, который длится один бар. <br />На третьем баре цена снова закрывается выше предыдущей. Теперь наш тренд длится уже два бара. На четвертом баре цена закрывается ниже цены предыдущего бара, <br />давая нам медвежий тренд длительностью в один бар (тут мы указываем негативное значение: -1). Медвежий тренд продолжается на 5 и 6 баре (-2 и -3). <br />На седьмом баре цена закрытия остается неизменной, поэтому показатель продолжительности тренда возвращается к 0. <br />На восьмом баре цена закрытия снова растет, тем самым увеличивая показатель продолжительности тренда до 1.<br /><br />Следующая часть в решения проблемы заключается в способе применения расчетов RSI к последовательности значений длительности тренда (о которой только что шла речь). <br />По умолчанию, для этой части расчетов для ConnorsRSI используется период 2. Будем обозначать его как RSI(Streak,2). <br />В результате мы получаем следующую зависимость: <br />чем больше продолжительность бычьего тренда, тем ближе к 100 будет значение RSI(Streak,2), и наоборот, чем больше продолжительность нисходящего тренда, <br />тем ближе к 0 будет значение RSI(Streak,2). Теперь у нас есть два показателя: <br /><br /><ul><li>RSI(Close,3)<br /><li>RSI(Streak,2) </ul><br />Оба используют шкалу от 0 до 100. Которая указывает на перекупленность или перепроданность рынка. <br /><br />Относительная Величина Изменения Цены: Это последний компонент индикатора ConnorsRSI. Он измеряет размер текушего ценового изменения относительно предыдущих цен. <br />Для этого используется градация в процентах (Percent Rank). Конкретное значение указывает на процент прошлых значений, которые меньше текущего значения. <br />В данном случае мы измеряем расчеты не в рублях, а в процентах от цены предыдущего бара. <br />Этот процентный показатель прибыли или убытка рассматривается как однодневный возврат средств.<br />Если, цена закрытия предыдущего бара была 80.00, а цена закрытия текущего равна 81.60, то данный показатель составит: (81.60 ‐ 80.00) / 80.00 = 0.02 = 2.0%.<br />Чтобы определить значение Percent Rank, нам нужно выбрать временной период.<br /><br />Значением Percent Rank – это сумма значений за выбранный период, которые меньше текущего значения, деленное на общее количество значений за данный период. <br />Например, если мы выбрали период 20 баров, то нужно сравнивать текучее 2.0% значение с аналогичными значениями для всех 20 баров выбранного периода. <br />Давайте предположим, что 3 из 20 значений меньше 2.0%. В этом случае Percent Rank будет рассчитываться следующим образом:<br />Percent Rank = 3 / 20 = 0.15 = 15%<br />Временной период Percent Rank по умолчанию равен 100. Обозначается как PercentRank(100).<br /><br />Мы сравниваем текуший процентный показатель с аналогичными показателями для всех 100 баров.<br />Конечный расчет индикатора ConnorsRSI заключается в простом вычислении среднего значения трех компонентов.<br />Формула с параметрами по умолчанию выглядит следующим образом: <b>ConnorsRSI(3,2,100) = [ RSI(Close,3) + RSI(Streak,2) + PercentRank(100) ] / 3</b><br /><br />В результате у нас получился индикатор, который эффективнее любого из трех компонентов, используемых отдельно.<br />У <b>ConnorsRSI </b>есть преимущество перед использованием трех его компонентов как 3 самостоятельных индикаторов. <br />Когда мы используем 3 индикатора для генерации торговых сигналов, то обычно устанавливаем для каждого из них определенный целевой уровень. <br />Чтобы появился сигнал, все три индикатора должны достичь этих уровней. <br />Однако индикатор <b>ConnorsRSI </b>основан на их усредненном значении. Тем самым он позволяет сильному сигналу от одного, частично компенсировать слабый сигнал от другого.<br /></div><br /><br /><span style="font-size:120%"><b>Доходность:</b></span><br /><a href='https://stocksharp.ru/file/102395/2_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102395/2_png/?size=500x500" alt=""/></a><br /><br /><b><span style="font-size:120%">Характеристики:</span></b><br /><ul><li>Инструмент:обыкновенные акции Сбербанка (скачан с финама)<br /><li>Таймфрейм: 1 час<br /><li>Период тестирования: 14.05.2008 - 10.05.2013<br /><li>Проскальзывание:не учитывалось. Комиссия 0.05 на сделку.<br /><li>Комиссия 0.05 на сделку.<br /></ul><br /><br /><b><span style="font-size:120%">Настраиваемые параметры:</span></b><br /><ul><li>Oversold Level 29<br /><li>Overbought Level 32<br /><li>RSI Period 20<br /><li>Streak Period 25<br /><li>PercentRank Period 29<br /></ul><br /><br /><span style="font-size:120%"><b><span style="color:green">Алгоритм для открытия длинной позиции:</span></b></span><br />Ecли ConnorsRSI(на текущем баре)пересекает уровень перепроданности снизу вверх, то покупаем по рынку(покупка по открытию следующей свечи).<br /><br /><span style="font-size:120%"><b><span style="color:green">Алгоритм для закрытия длинной позиции:</span></b></span><br />Если на текушем баре обнаружен свечной паттерн LongBlackLine, то продаем по рынку(по открытию следующего бара).<br /><br /><span style="font-size:120%"><b><span style="color:red">Алгоритм для входа в короткую позицию:</span></b></span><br />Ecли ConnorsRSI(на текущем баре)пересекает уровень перекупленности сверху вниз, то продаем по рынку(по открытию следующего бара).<br /><br /><span style="font-size:120%"><b><span style="color:red">Алгоритм для закрытия короткой позиции:</span></b></span><br />Если на текушем баре обнаружен свечной паттерн LongWhiteLine, то продаем по рынку(по открытию следующего бара).<br /><br /><span style="font-size:120%"><b>Код:</b></span><br /><div class='spoilertitle'><input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_6bfe96f2b7df4729a7ad9efa01c687dd');" title='Показать спойлер' /></div><div class='spoilerbox' id='spolier_6bfe96f2b7df4729a7ad9efa01c687dd' style='display:none'><br /><div class="code"><strong>Код</strong><div class="innercode"><pre class="brush:csharp">
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators;
using WealthLab.Rules.Candlesticks;
/****************************************
Стратегия создана специально
для обучения по Wealth-Lab от StockSharp
все подробности тут
÷ñÒ1643724068êÖ0õæ÷http://stocksharp.com/lesson/wealth.aspx
÷ñÒ1643724068êÖ1õæ÷
StockSharp <<торговые роботы>>
*****************************************/
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
StrategyParameter connorsRSIOversoldLevel;
StrategyParameter connorsRSIOverboughtLevel;
StrategyParameter connorsRSIPeriod;
StrategyParameter connorsRSIStreakPeriod;
StrategyParameter connorsRSIPercentRankPeriod;
public MyStrategy()
{
connorsRSIOversoldLevel = CreateParameter("Oversold Level", 30, 1, 30, 1);
connorsRSIOverboughtLevel = CreateParameter("Overbought Level", 35, 30, 60, 1);
connorsRSIPeriod = CreateParameter("RSI Period", 22, 2, 30, 1);
connorsRSIStreakPeriod = CreateParameter("Streak Period", 2, 2, 30, 1);
connorsRSIPercentRankPeriod = CreateParameter("PercentRank Period", 100, 2, 100, 1);
}
protected override void Execute()
{
bool[] bearishLongBlackLine;
CandlePattern.BearishLongBlackLine(this, "-Long Black Line", true, out bearishLongBlackLine);
bool[] bullishLongWhiteLine;
CandlePattern.BullishLongWhiteLine(this, "+Long White", true, out bullishLongWhiteLine);
ConnorsRSI cr = ConnorsRSI.Series( Close, connorsRSIPeriod.ValueInt, connorsRSIStreakPeriod.ValueInt, connorsRSIPercentRankPeriod.ValueInt);
ChartPane paneRSI = CreatePane(75,true,true);
PlotSeries(paneRSI, cr, Color.Navy, LineStyle.Solid, 2);
DrawHorzLine(paneRSI, connorsRSIOversoldLevel.Value, Color.Red, LineStyle.Solid, 1);
DrawHorzLine(paneRSI, connorsRSIOverboughtLevel.Value, Color.Green, LineStyle.Solid, 1);
for(int bar = 20; bar < Bars.Count; bar++)
{
if (IsLastPositionActive)
{
if (LastPosition.PositionType == PositionType.Short)
{
if (bullishLongWhiteLine[bar])
{
CoverAtMarket(bar + 1, LastPosition);
}
}
else
{
if (bearishLongBlackLine[bar])
{
SellAtMarket(bar + 1, LastPosition);
}
}
}
else
{
if (CrossOver(bar, cr, connorsRSIOversoldLevel.Value))
{
BuyAtMarket(bar + 1, "");
}
if (CrossUnder(bar, cr, connorsRSIOverboughtLevel.Value))
{
ShortAtMarket(bar + 1, "");
}
}
}
}
}
}
</pre>
</div></div><br /></div><br /><span style="font-size:120%"><b>P.S.</b></span><br />Цель данной статьи была в том что бы донести до вас сведения о существовании такого интересного индикатора как СonnorsRSI. <br />В представленной стратегии есть большое пространство для манёвра по улучшению её характеристик. <br />К примеру, вы можете заменить код для закрытия открытых позиций на что-нибудь другое или же можно добавить какой либо фильтр для отсечения убыточных сделок.https://stocksharp.ru/topic/321/Методы определения истинности пробоя уровня2013-09-24T15:48:29Z2013-09-24T15:48:29ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<div align="left">Здравствуйте, в своей предыдущей <a href="http://stocksharp.com/forum/323/Struktura-torghovoi-sistiemy-ili-anatomiia-robotov/" title="http://stocksharp.com/forum/323/Struktura-torghovoi-sistiemy-ili-anatomiia-robotov/">статье</a>, я затронул тему создания торговых роботов из различных блоков, комбинируя которые между собой мы создаём робота. Сначала я хотел рассказать про уровни, но начав писать статью на эту тему, я столкнулся с вопросом, как определить истинный пробой или отскок от уровня и поэтому я решил сначала осветить именно эту тему, а уже потом приступить к уровням.<br /><br />В качестве сетапа для открытия позиции, мы будем использовать пробой вчерашней цены закрытия. Для выхода будем использовать выход люстры.<br />В чистом виде стратегия выглядит так. <br /><a href='https://stocksharp.ru/file/102658/1_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102658/1_png/?size=500x500" alt=""/></a><br /><span style="font-size:120%">Результаты:</span><br /><a href='https://stocksharp.ru/file/102663/2_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102663/2_png/?size=500x500" alt=""/></a><br />Тестировать методы пробоя уровня мы будем на сбербанке за последний год с таймфреймом в 15 минут. И в качестве комиссии выставим такие значения.<br /><a href='https://stocksharp.ru/file/102659/0_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102659/0_png/?size=500x500" alt=""/></a><br />И так существуют огромное число способов определения пробоя уровня. Если вы знаете дополнительные способы определения пробоя или отбоя от уровня, пожалуйста оставляйте их в комментариях с удовольствием закодирую и протестирую. А также поделюсь результатами. Также каждая стратегия подвергнется оптимизации методом полного перебора для получения наиболее подходящий параметров.<br /><br /><span style="font-size:120%">Утверждение первое</span><br />Истинность пробоя можно определить по объему, то есть, если пробой прошел на больших объемах нежели предыдущие бары, нужно считать его истинным. Тут конечно можно наколдовать массу кода. К примеру взять скользящую построенную на объёме или какой-либо другой индикатор. Но мы пойдём самым лёгким путём и просто будем сравнивать текущий объём с предыдущим, и если текущий объём меньше предыдущего то мы не входим в сделку считая такой сетап некорректным.<br /><a href='https://stocksharp.ru/file/102661/volume_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102661/volume_png/?size=500x500" alt=""/></a><br />Результаты:<br /><a href='https://stocksharp.ru/file/102662/volume-per_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102662/volume-per_png/?size=500x500" alt=""/></a><br />Как вы видите результаты хуже чем у эталонной стратегии. Думаю если бы мы взяли иной способ работы с обьёмами результат был бы лучше. или же можно попробовать использовать несколько баров для сравнения, а не один.<br /><br /><span style="font-size:120%">Утверждение второе</span><br />Обычно если пробой состоялся цена от уровня пробоя уходит на приличное расстояние. Здесь встает вопрос что считать значительным расстоянием? Будем считать, что свечка, которая пробила уровень должна быть больше двух предыдущих свечей.<br /><a href='https://stocksharp.ru/file/102664/ver-2_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102664/ver-2_png/?size=500x500" alt=""/></a><br /><span style="font-size:120%">Результаты:</span><br /><a href='https://stocksharp.ru/file/102665/ver-2-per_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102665/ver-2-per_png/?size=500x500" alt=""/></a><br />У второго варианта дела тоже обстоят не очень. Хотя казалось бы здесь мы имеем дело по сути с импульсом. но видимо большинство крупных игроков просто гасят эти импульсы на корню и следовательно такой подход нужно использовать в отбойной стратегии. Или попробовать какой либо другой индикатор для определения импульса к примеру ADX.<br /><br /><span style="font-size:120%">Утверждение третье</span><br />Консервативный вариант если цена пересекает не сам уровень а отложенный от него канал на заранее заданный процент.<br /><a href='https://stocksharp.ru/file/102666/ver-3_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102666/ver-3_png/?size=500x500" alt=""/></a><br /><span style="font-size:120%">Результаты:</span><br /><a href='https://stocksharp.ru/file/102667/ver-3-per_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102667/ver-3-per_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102668/ver-3-win_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102668/ver-3-win_png/?size=500x500" alt=""/></a><br />Данный способ обогнал эталонный вариант. Думаю это связано с тем что здесь происходит отсев большинства ложных пробоев. Которые гасятся крупными игроками и следовательно данный подход следует развивать и дальше, у меня есть пара идей как это сделать, возможно расскажу о них в следующих статьях.<br /><br /><span style="font-size:120%">Утверждение четвертое</span><br />Можно определить пробой уровня, если произошло пересечение уровня и первая свеча и вторая закрылись выше уровня.<br /><a href='https://stocksharp.ru/file/102669/ver-4_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102669/ver-4_png/?size=500x500" alt=""/></a><br /><span style="font-size:120%">Результаты:</span><br /><a href='https://stocksharp.ru/file/102670/ver-4-per_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102670/ver-4-per_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102671/ver-4-win_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102671/ver-4-win_png/?size=500x500" alt=""/></a><br />Ну эти результаты совсем не куда не годятся. даже затрудняюсь их объяснить. Может быть это связано с тем что современные рынки очень нестабильны и к моменту срабатывания сетапа его сила уже угасает. Возможно переход на меньший временной интервал поможет данному методу. Но на это могут ответить только тесты.<br /><br /><span style="font-size:120%">Утверждение пятое</span><br />Пробоем считается касание уровня тенью свечи<br /><a href='https://stocksharp.ru/file/102672/ver-5_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102672/ver-5_png/?size=500x500" alt=""/></a><br /><span style="font-size:120%">Результаты:</span><br /><a href='https://stocksharp.ru/file/102673/ver-5-per_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102673/ver-5-per_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102674/ver-5-win_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102674/ver-5-win_png/?size=500x500" alt=""/></a><br />Данный метод показал результаты чуть хуже эталонных. Но думаю введение дополнительного фильтра может существенно улучшить их. Как вы думаете какой фильтр можно было бы добавить?<br /><br />Как и всегда, все коды доступны у нас на сервере. Скачивайте, тестируйте, модифицируйте и делитесь результатами. Давайте соберём коллекцию, всех возможных методов пробоя уровня. Следующая статья будет посвящена работе с отбоем от уровня. Жду ваших комментариев и предложений. </div>https://stocksharp.ru/topic/244/Что такое алготрейдинг? (вебинар)2013-09-23T17:02:09Z2013-09-23T17:02:09ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ru<span style="color:green"><span style="font-size:120%">Что такое алготрейдинг?</span></span><br /><br />Вопреки распространенным стереотипам, <b>робот — это вовсе не мифическая программа</b>, которая черпает деньги с рынка, отправляя при этом свои сигналы настолько быстро, что обычному трейдеру никак с этим не совладать.<br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/ADpXgCxjDPU" frameborder="0" allowfullscreen></iframe><br /><br />На вебинаре мы раскроем всю поднаготную алгоритмического трейдинга и обьясним, что такое алготрейдинг на самом деле и почему <b>им стоит заниматься</b>. По окончании вебинара вы четко осознаете, почему алготрейдинг — это сочетание математики, системной торговли и автоматизации сигналов.<br /><br /><b>План занятия:</b><br /><ol><li>Теория системной торговли. Риски ручной торговли.<br /><li>Почему стоит торговать системно.<br /><li>Что такое алготрейдинг и какие бывают роботы.<br /><li>Примеры торговых роботов на софте StockSharp (S#).<br /></ol><br /><br />Для участия в вебинаре достаточно <b>26 сентября в 20:00</b> перейти по <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAABdLXP7Im-gMQu6DM3MLRKBVpQEIkmTHy9r2WFN7KiYCtYQEa9GxhFD3i9cYuaCmKM" title="http://meet29954100.adobeconnect.com/free/">ссылке</a> и авторизоваться в роли гостя, указав свое имя.<br /><br />Хотите узнать всю правду об алготрейдинге? Тогда не пропустите трансляцию!https://stocksharp.ru/topic/323/Структура торговой системы или анатомия роботов2013-09-17T13:26:30Z2013-09-17T13:26:30ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<span style="color:green"><b><span style="font-size:120%">Теория шаблона идеи торговой системы</span></b></span><br /><em>Собери своего робота из нужных пазлов!</em><br /><br />По сути построение торговой системы практически всегда сводится к нахождению оптимального <b>входа</b> и <b>выхода</b>, конечно есть и более изящные системы, но в основном все сводиться к этому!<br /><br /><b>Давайте выделим основные, самые важные блоки торговой систем:</b><br /><ol><li>Блок входа в позицию<br /><li>Блок выхода из позиции<br /><li>Блок управления капиталом</ol><br /><br />Задача алготрейдера всегда сводится к постоянному поиску наиболее подходящих комбинаций для этих трех основных блоков.<br />В этом уроке собраны все самые популярные методы для перебора блоков.<br /><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/F5nRkoq4Iow" frameborder="0" allowfullscreen></iframe><br /><br /><span style="font-size:120%">Чтобы построить свою торговую систему, нужны только простейшие знания математики. Вы выделяете определенные блоки входа и выхода, который понравились Вам, а в дальнейшем отталкиваетесь от них, дорабатывая их до совершенства!</span><br /><br />А вот и наши блоки, которые мы упорядочили на нашем <a href="http://stocksharp.com/forum/3885/Onlain-chaty--komandnaia-rabota--proiekty/" title="http://stocksharp.com/forum/3885/Onlain-chaty--komandnaia-rabota--proiekty/">сервере</a> по обучению (для <a href="http://stocksharp.com/lesson/wealth/" title="http://stocksharp.com/lesson/wealth/">учеников</a> и подписка <a href="http://stocksharp.com/lesson/bonus/" title="http://stocksharp.com/lesson/bonus/">EduLive</a>). Блоки постоянно добавляются, расширяются и модернизируются:<br /><br /><a href='https://stocksharp.ru/file/102638/1_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102638/1_png/?size=500x500" alt="http://" title="http://" /></a>https://stocksharp.ru/topic/329/Обзор визуалайзера Analysis Series для платформы Wealth Lab (видео-урок)2013-09-10T23:31:20Z2013-09-10T23:31:20ZВалентин Мирошниченкоhttps://stocksharp.ru/users/6156/info@stocksharp.ru<iframe width="640" height="390" src="//www.youtube.com/embed/vcPtVrDjypo" frameborder="0" allowfullscreen></iframe><br /><br /><span style="font-size:140%"><b>Тема занятия </b></span><br /><br /><div align="left">В данном видео-уроке, мы рассмотрим с вами, такой слабо освещённый визуалайзер для платформы <a href="http://stocksharp.com/lesson/wealth.aspx" title="http://stocksharp.com/lesson/wealth.aspx">Wealth lab</a> как <a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAACAf055gYlUZrDBiDZ5UZ3iqeNWDV14I2vhU8aQT2hcc4DY7DeEyY4ZtXT8zasRihdceRsjP6_4UxUU6DW3tDIU" title="http://www2.wealth-lab.com/WL5Wiki/PVAnalysis.ashx">Analysis Series</a>. Данный визуалайцзер поможет нам подобрать оптимальное значение фильтра, для нашей торговой системы. Не используя при этом большое количество вычислительных мощностей и не рискую нарваться при этом на переоптимизацию.</div>https://stocksharp.ru/topic/332/S#. Вебинар для алготрейдеров на Америке (Nyse)2013-09-10T23:29:28Z2013-09-10T23:29:28ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ruВсе особенности программирования торговых роботов на Nyse!<br /><a href="http://stocksharp.com/products/pricing/" title="http://stocksharp.com/products/pricing/">DMA</a> платформа Fusion <a href="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm" title="http://stocksharp.com/doc/?topic=html/89c3f13d-2602-446a-8c3d-5615b6f901b9.htm">(BlackWood)</a><br /><br /><iframe width="560" height="350" src="https://player.vimeo.com/video/69308006?show_title=1&show_byline=1&show_portrait=1&&fullscreen=1" frameborder="0"></iframe><br /><br /><em>Видео уже подготовлено и отформатировано!</em>https://stocksharp.ru/topic/327/S#. Автоматическая торговля (вебинар)2013-09-10T23:23:01Z2013-09-10T23:23:01ZСамунджян Артемhttps://stocksharp.ru/users/675/info@stocksharp.ruВебинар про <a href="http://stocksharp.com/products/studio/" title="http://stocksharp.com/products/studio/">S#.Studio</a> (1 час)!<br /><br />Запись:<br /><br /><iframe width="560" height="350" src="https://player.vimeo.com/video/71350329?show_title=1&show_byline=1&show_portrait=1&&fullscreen=1" frameborder="0"></iframe><br /><br />Краткий план:<br /><ol><li>Общее описание всего функционала S#.Studio<br /><li>Создаем и запускаем простого робота<br /><li>Тестируем торгового робота<br /><li>Анализируем полученные результаты</ol>https://stocksharp.ru/topic/324/Лекции Твардовского по опционам2013-08-28T19:06:33Z2013-08-28T19:06:33ZMikhail Sukhovhttps://stocksharp.ru/users/201/info@stocksharp.ruСистематизирую их, чтобы можно было найти ссылки в одном месте. У самого айти такой страницы не нашел, поэтому искал самостоятельно через Ютюб.<br /><br /><span style="font-size:140%"><b>Лекция номер 1. Основные понятия.</b></span><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/AeSCpfGL8B4" frameborder="0" allowfullscreen></iframe><br /><br /><ol><br /><li>Понятие срочного контракта. Базисный или подлежащий актив (БА)<br /><li>Понятие опциона (Option)<br /><li>Понятие опциона колл (CALL)<br /><li>Понятие опциона пут(PUT)<br /><li>Покупатель и продавец. Держатель и подписчик<br /><li>Американский и европейский стили опционов<br /><li>Исполнение опционов.<br /><li>Основные понятия опционов (БА, Тип, Экспирация, Страйк = цена исполнения)<br /><li>Премия опциона= Цена опциона.<br /><li>Примеры<br /></ol><br /><br /><span style="font-size:140%"><b>Лекция номер 2. Внутренняя стоимость опциона. Факторы, влияющие на ценообразование.</b></span><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/YZnJDnL-lkA" frameborder="0" allowfullscreen></iframe><br /><br /><ol><br /><li>График выплат и внутренняя стоимость опциона.<br /><li>Понятия «на деньгах» (atthemoney, ATM), «вне денег» (outofthemoney, OTM), «в деньгах» (inthemoney, ITM), глубоко в деньгах, глубоко вне денег.<br /><li>Страховка -- дело добровольное. Страхователь или страховщик? Сколько стоит страховка?<br /><li>Основные факторы, влияющие на ценообразование опциона.<br /><li>Волатильность -- что это за зверь? Три вида волатильности: HV, IV, FV<br /><li>Формула Блэка -- Шоулза. Формула Блэка<br /></ol><br /><br /><span style="font-size:140%"><b>Лекция номер 3. Греки и волатильность.</b></span><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/I2Bet-EH70w" frameborder="0" allowfullscreen></iframe><br /><br /><ol><br /><li>Графическое представление цены опциона от текущей цены БА<br /><li>Временная стоимость опциона.<br /><li>Зависимость премии от цены БА. Дельта.<br /><li>Зависимость премии опционов от времени до экспирации. Тэта<br /><li>Зависимость премий от волатильности. Vega<br /><li>Зависимость от процентных ставок. Ро.<br /></ol><br /><br /><span style="font-size:140%"><b>Лекция номер 4. Учимся читать рынок.</b></span><br /><br /><iframe width="640" height="390" src="//www.youtube.com/embed/uZvn_vilxxo" frameborder="0" allowfullscreen></iframe><br /><br /><ol><br /><li>Как читать доску опционов?<br /><li>Распределение ликвидности по страйкам<br /><li>Работа с графическим опционным стаканом<br /><li>Текущая картина рынка и функция выплат, как предсказание будущего<br /><li>Put-Call ratio и распределение длинных и коротких позиций по рынку.<br /></ol><br /><br />Еще есть лекция номер 5 - <b>Мифы опционной торговли</b>, но она доступна только клиентам брокера.https://stocksharp.ru/topic/328/Особый мани-менеджмент, или фиксированно-пропорциональный метод2013-07-25T17:41:09Z2013-07-25T17:41:09ZНиколай_Флёровhttps://stocksharp.ru/users/6456/info@stocksharp.ru<a href='https://stocksharp.ru/file/102614/0_b59ef_7f86a721_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102614/0_b59ef_7f86a721_xl_png/?size=500x500" alt="Метод Райана Джонса" title="Метод Райана Джонса" /></a><br /><br />Многие опытные и публичные трейдеры говорят, что управление капталом может погубить прибыльную стратегию. Некоторые даже говорят, что можно из плохой стратегии сделать хорошую с помощью мани-менеджмента. <br />Мое мнение - важно не бояться просадок, а реагировать на них.<br />И желательно реагировать по заранее намеченному плану, а не паникой, жадностью и другими прелестями человеческой психологии.<br /><br />Почему нормальные люди не торгуют на все плечо?<br />Все просто - чем больше позиция на которую мы входим, тем больше возможный убыток, тем более, если у нас прибыльных сделок только 20-30% от общего числа сделок.<br />А если попадем в серию убыточных сделок, то счету не поздоровится. <br /><br />Все слышали фразу типа "Давай прибыли течь, убытки уменьшай". Но мало кто задумывался, что это универсальной правило, применимое не только к сделке, но и к управлению капиталом. <br />Некоторые считают, что именно наращивание позиции в звездные моменты стратегии и уменьшение позиций во время глубоких просадок - единственно правильное решение.<br />В качестве примера, трендовые стратегии в последний квартал 2012 года. Никто не кричал "Яхуу, беру на все.." наоборот, многие вообще переждали этот период.<br /><br />После того, как мы провели оптимизацию, проверили стратегию на устойчивость, как могли - максимальная просадка по стратегии к примеру - 15%. Какую просадку мы можем ожидать по счету? Правильно, ожидаемая просадка всегда должна составлять 100%. Это сделано таким образом, мы всегда должны подготовить план на случай экстренной ситуации.<br />Что может привести наш счет к такому плачевному состоянию? Ответ, затянувшаяся череда убыточных сделок, ну и конечно - большое плечо.<br /><br />Пример, описанный во всех книгах наглядно показывает: заработав 25% к капиталу и проиграв 20%, мы оказываемся даже в минусе, за счет комиссии, проскальзывания, оплаты PlazaII, инфраструктуры, нашего вложенного времени, которое могли бы потратить на другие цели. Объяснение этому процессу довольно простое - процент прибыльной и убыточной сделки рассчитывается по разному значению капитала на счете. (После прибыльной сделки капитал увеличился, а значит и возрос риск).<br />И чем больше плечо, тем убыток от ошибки пересчета больше.<br />Как же быть?<br /><br />Товарищ Райан Джонс говорит, что все уже сделал за нас и написал про это книгу, содержащую "волшебную" формулу с использованием которой мы можем одновременно работать и с плечом и не боятся длинной череды убыточных сделок.<br />Ознакомимся с не подробнее.<br /><a href='https://stocksharp.ru/file/102591/0_b59d6_e24cb2b0_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102591/0_b59d6_e24cb2b0_xl_png/?size=500x500" alt="Формула для расчета уровней по которым уже рассчитываем количество контрактов" title="Формула для расчета уровней по которым уже рассчитываем количество контрактов" /></a><br /><br />Мани-менеджмент Мистера Джонса называется Фиксированно-Пропорциональный метод. В системе мани-менеджментов он занимает следующую позицию:<br /><a href='https://stocksharp.ru/file/102592/0_b59d7_fb2fb612_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102592/0_b59d7_fb2fb612_xl_png/?size=500x500" alt="Схема разновидностей манименеджмента" title="Схема разновидностей манименеджмента" /></a><br /><br />Фиксированно-Фракционный метод его не устроил по причине того, что, как он пишет "этот метод требует неравномерных доходов при различном числе контрактов". Если проще, то Ф-Ф метод требует с 10000 доход 10000 с одного контракта для перехода с одного уровня на другой, затем ту же сумму, но уже с 2-х контрактов, то есть по 5000 с контракта и так далее. В связи с этим, чтобы начать торговать более-менее крупной суммой уходит довольное большое количество времени, хотя в это время мы как раз могли хорошо заработать, ну или потерять.<br /><br />Суть Фиксированно-пропорционального метода:<br /><a href='https://stocksharp.ru/file/102615/0_b59f5_fbb3aeff_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102615/0_b59f5_fbb3aeff_xl_png/?size=500x500" alt="Визуальное представление уровней фиксированно-пропорционального метода" title="Визуальное представление уровней фиксированно-пропорционального метода" /></a><br /><br />Данные уровни - это точки перехода от одного количества контрактов к другому в большую или меньшую сторону. Увеличение и уменьшение количества контрактов зависит от того, упал наш капитал или вырос и насколько он вырос. Как правило, непосредственно от последней сделки. Если мы получили прибыль, количество контрактов увеличивается, если получили убыток - уменьшается.<br /><a href='https://stocksharp.ru/file/102594/0_b59d9_7182ad74_l_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102594/0_b59d9_7182ad74_l_png/?size=500x500" alt="Как работает уровень" title="Как работает уровень" /></a><br /><br />Вот, наглядный пример, как такие уровни можно было бы рассчитать:<br /><a href='https://stocksharp.ru/file/102593/0_b59d8_abce999c_l_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102593/0_b59d8_abce999c_l_png/?size=500x500" alt="Расчет уровней в ручном режиме" title="Расчет уровней в ручном режиме" /></a><br />Delta - представлена в виде % от капитала, но по сути - его можно рассчитать по-разному, главное, чтобы число это было неизменным.<br />10000 - начальный капитал<br /><br /><b>Проблемы написания такого мани-менеджмента в Wealth-lab:</b><br />Дело в том, что желательно мани-менеджмент в Wealth-lab прописывать в виде такого элемента, как PosSezer - это специальный компонент с помощью которого можно применить мани-менеджмент любой сложности к стратегии. В связи с этим я столкнулся с несколькими проблемами:<br /> - я не умел еще писать PosSizer<br /> - использование готовых PosSizer- это черный ящик, если досконально не разбирать их код<br /> - их нет в StockSharp, а значить тестирование с использованием PosSizer может отличаться от подобного мани-менеджмента, написанного на S#, для реальной торговли.<br />Поэтому я приступил к написанию универсального метода.<br /><br />Дальше больше:<br />В Wealth-lab размер позиции определяется, уже после того, как стратегия просчитала все позиции в режиме Raw Profit Mode:<br /><a href='https://stocksharp.ru/file/102598/0_b59de_6fc9ab49_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102598/0_b59de_6fc9ab49_xl_png/?size=500x500" alt="Вырезка из Quick Ref" title="Вырезка из Quick Ref" /></a><br /><br />То есть не в реальном времени, а накладывая мани-менеджмент, комиссии и статистические данные, уже на готовые сделки. Мне же было нужно размер позиции менять в зависимости от изменений самой эквити. Решением стало создать свою собственную эквити , рассчитывая ее из эквити по каждой сделке.<br /><br />И в заключении:<br />Wealth написан на C#, значит мы можем в работе своей использовать всю мощь этого языка, но даже опытные разработчики могут задаться вопросом работает ли он например с System.Linq. Я бы не задавался бы этим вопросом, если бы мне не пришлось с ним столкнуться. Зная точно, что Linq должен работать в Wealth, я не мог понять почему все-таки у меня получается ошибка.<br />А вот и решение:<br /><a href='https://stocksharp.ru/file/102596/0_b59dc_61a3a5af_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102596/0_b59dc_61a3a5af_xl_png/?size=500x500" alt="Шаг № 1" title="Шаг № 1" /></a><br /><br /><a href='https://stocksharp.ru/file/102595/0_b59db_8090363b_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102595/0_b59db_8090363b_xl_png/?size=500x500" alt="Шаг № 2" title="Шаг № 2" /></a><br /><br /><a href='https://stocksharp.ru/file/102597/0_b59dd_fc61814f_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102597/0_b59dd_fc61814f_xl_png/?size=500x500" alt="Шаг № 3" title="Шаг № 3" /></a><br /><br />Далее идем по этому вот пути:<br />C:\Windows\Microsoft.NET\Framework64\v4.0.30319<br /><br />Находим там System.Core:<br /><a href='https://stocksharp.ru/file/102599/0_b59df_e9ad04d5_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102599/0_b59df_e9ad04d5_xl_png/?size=500x500" alt="Шаг № 4" title="Шаг № 4" /></a><br /><br />В StockSharp препятствий для написания выявлено не было, реализовалось изящно:<br /><br /><a href='https://stocksharp.ru/file/102600/0_b59e0_69f407a1_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102600/0_b59e0_69f407a1_xl_png/?size=500x500" alt="Код метода" title="Код метода" /></a><br />*Для Wealth-lab код практически идентичен. Коду быть.<br /><br /><b>Самое время сравнить результаты:</b><br /><a href='https://stocksharp.ru/file/102606/0_b59e6_bb374ee6_m_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102606/0_b59e6_bb374ee6_m_png/?size=500x500" alt="HotDayEnter" title="HotDayEnter" /></a><br /><br /><a href='https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/?size=500x500" alt="Расположение стратегий мани-менеджмента в следующем порядке" title="Расположение стратегий мани-менеджмента в следующем порядке" /></a><br /><a href='https://stocksharp.ru/file/102609/0_b59e9_ffc70f69_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102609/0_b59e9_ffc70f69_xl_png/?size=500x500" alt="Performance, Ударный день, 2 мани-менеджмента" title="Performance, Ударный день, 2 мани-менеджмента" /></a><br /><br />А теперь посмотрим динамику контрактов, которыми торговали стратегии:<br /><a href='https://stocksharp.ru/file/102608/0_b59e8_51f88552_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102608/0_b59e8_51f88552_xl_png/?size=500x500" alt="Количество контрактов, которыми стратегии разрешено торговать" title="Количество контрактов, которыми стратегии разрешено торговать" /></a><br /><br />А также, сравнение по периодам:<br /><a href='https://stocksharp.ru/file/102607/0_b59e7_4ab78d37_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102607/0_b59e7_4ab78d37_xl_png/?size=500x500" alt="Сравнение результатов в квартальном разрезе" title="Сравнение результатов в квартальном разрезе" /></a><br /><br /><a href='https://stocksharp.ru/file/102602/0_b59e2_87b00ee3_m_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102602/0_b59e2_87b00ee3_m_png/?size=500x500" alt="Donchian chanel" title="Donchian chanel" /></a><br /><br /><a href='https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102603/0_b59e3_8ea50e24_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102603/0_b59e3_8ea50e24_xl_png/?size=500x500" alt="Performance, канал Дончиана, 2 мани-менеджмента" title="Performance, канал Дончиана, 2 мани-менеджмента" /></a><br /><br />Динамика изменения числа торгуемых контрактов:<br /><a href='https://stocksharp.ru/file/102604/0_b59e4_14be9308_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102604/0_b59e4_14be9308_xl_png/?size=500x500" alt="Количество контрактов, которыми стратегии разрешено торговать" title="Количество контрактов, которыми стратегии разрешено торговать" /></a><br /><br />Сравнение по периодам:<br /><a href='https://stocksharp.ru/file/102605/0_b59e5_7d078230_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102605/0_b59e5_7d078230_xl_png/?size=500x500" alt="Сравнение в квартальном разрезе" title="Сравнение в квартальном разрезе" /></a><br /><br /><a href='https://stocksharp.ru/file/102610/0_b59ea_db993473_m_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102610/0_b59ea_db993473_m_png/?size=500x500" alt="Parabolic SAR" title="Parabolic SAR" /></a><br /><br /><a href='https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102601/0_b59e1_d33ae33f_l_png/?size=500x500" alt=""/></a><br /><a href='https://stocksharp.ru/file/102611/0_b59eb_30f1bc21_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102611/0_b59eb_30f1bc21_xl_png/?size=500x500" alt="Performance, parabolic, 2 мани-менеджмента" title="Performance, parabolic, 2 мани-менеджмента" /></a><br /><br />Динамика изменения числа торгуемых контрактов:<br /><a href='https://stocksharp.ru/file/102612/0_b59ec_10ed615a_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102612/0_b59ec_10ed615a_xl_png/?size=500x500" alt="Количество контрактов, которыми стратегии разрешено торговать" title="Количество контрактов, которыми стратегии разрешено торговать" /></a><br /><br />А также, сравнение по периодам:<br /><a href='https://stocksharp.ru/file/102613/0_b59ed_b251ff82_xl_png/' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'><img src="https://stocksharp.ru/file/102613/0_b59ed_b251ff82_xl_png/?size=500x500" alt="Сравнение в квартальном разрезе" title="Сравнение в квартальном разрезе" /></a><br /><br />В наше распоряжение мы получаем довольно гибкий инструмент, который еще нужно уметь правильно настроить. <br />Во-первых контракты могут наращиваться не по 1-му, а скажем по 2 или 3. Также, мы можем решить для себя с какого контракта мы больше не будем снижать их число, по умолчанию - это 1.<br />И в третьих, можно регулировать начальный торговый объем, то есть начнем с такого объема, который будет уменьшаться прямо с первой сделки. Например, начнем с 10 контрактов и если сразу попадем в неблагоприятный период, стратегия защищая капитал, спустит вас до 1-го контракта.<br /><br />Использовать его можно по-разному. Из графиков видно, что данный подход скорее помогает защитить нам капитал, чем увеличить доходность. Я думаю, он будет интересен при торговле портфелем инструментов. В тот момент, когда какая-нибудь из стратегий начинает сливать, она сбрасывает капитал, давай другой стратегии, которая сейчас в тренде, подхватить свободный капитал и использовать его по назначению. То есть, происходит естественное перераспределение капитала, по результат работы стратегий.<br /><br />В результате своего исследования, лично я уяснил то, что может мани-менеджмент и может погубить прибыльную стратегию, но из убыточной стратегии прибыльную не может сделать даже самый хитрособранный мани-менеджмет.<br />Статистики, я мог бы еще много показать, но лучше выложу код.)<br /><br />Стратегии использовались те же, что и в статье <a href="http://stocksharp.com/forum/3823/Diviersifikatsiia-v-pomoshch--trieidieru/" title="http://stocksharp.com/forum/3823/Diviersifikatsiia-v-pomoshch--trieidieru/">про портфели стратегий</a>, они заходят в позицию лимитками, также учтены комиссии(для фьючерса на индекс ртс) и проскальзывание.<br /><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADPSDpWMWjYmE3Esu0urmEdLJCqSS1B9fKPpOs9NDgJTQ" title="http://yadi.sk/d/Rhmw8pbB7C_7i">DonchianWLD</a><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADPSDpWMWjYmE3Esu0urmEdbYLAxuijVY_U3Nma65HAMw" title="http://yadi.sk/d/-1TkudVf7C_8A">Ударный деньWLD</a><br /><a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAADPSDpWMWjYmE3Esu0urmEdfCglhRHkKFWlZ5fVFbNJ9Q" title="http://yadi.sk/d/go_xfjB57C_9A">ParabolicWLD</a><br /><br />Спасибо за внимание!