1. Читаю книгу «изучаем C#» Стиллмена.
2. Кодю в Visual Studio все примеры
3. Пока не пойму, как работает программа, дальше не иду.
4. Чтобы лучше усвоить, каждую программу объясняю в деталях и записываю это с экрана на ютуб
5. Записываю каждый день сколько времени потратил на программирование.
Таким образом я уже потратил 42 часа чистого времени. Учёт времени я веду в помидорах, используя
http://tomato-timer.com/ Данную технику когда-то в фейсбуке посоветовал Константин Бронштейн, — я решил взять на вооружение. Суть в том, что 25 минут ты концентрированно занимаешься проблемой, потом 5 минут отдыхаешь. И в сумме при таком подходе расход времени становится более эффективным. Я реально эту тему уже 2 года использую.
3 года назад я уже читал Стиллмена, прогал примеры. Дошёл до 254 страницы и бросил. Надоело. Кстати надоело именно из-за того, что я
пытался быстро с наскоку во всем разобраться. Сейчас я на 241 странице (всего 700 стр.). На книгу я потратил пока 27 часов чистого времени. До неё я смотрел вебинары по C# и пытался разбирать коды. Мне кстати есть с кем поговорить. В офисе тут как минимум три программиста: два из них пишут только на старом С ещё и под линукс, третий ещё и до C# дошел. Счас уровень подтяну, будет о чем с ними поговорить.
Параллельно я выписываю задачи, которые я собираюсь решить в будущем при помощи программирования. Какие расчеты присобачить к биржевым графикам, какие параметры, индикаторы, и т.п.
Местами программирование идёт невероятно туго. Вчера 1,5 часа потратил чтобы найти в коде ошибку. Ошибка была до безумия тупая — я забыл написать перед функцией что она void, а найти ошибку не мог, потому что думал, что компилятор ругается из-за функции, которая была перед ней, потому что именно там был установлен маркер ошибки (соответственно я искал ошибку не в той функции). Но я все равно намеренно не пропускал эту программу, и нашёл таки эту ошибку, к-ю сам сделал по невнимательности.
Еще должен сказать, что мозг реально кипит. Потому что тебе приходится держать в голове совершенно новые и совершенно абстрактные конструкции. С непривычки идёт перестройка нейронных связей в префронтальной коре, мозг бешенно потребляет глюкозу и очень быстро утомляется. Я заметил, что после 4-х часов чистого занятия программированием в день, моя производительность резко падает. Поэтому я не делаю это целый день.
Кстати всем спасибо, кто оставлял советы к моим предыдущим постам про программирование! Они действительно помогли приобрести правильный настрой.
Предыдущие посты на эту тему:
22.01.2016:
Программирование и я (+126,83к)
20.01.2016:
Продолжаю изучать C# (+67,63к)
14.01.2016:
Я и программирование (+279,260к)
12.12.2012:
Чем для гуманитария оборачивается изучение C# (+20,36к)
p.s. кстати, знающие люди, подскажите плиз, как так у меня получилось, что в текстовых метках последний символ свойства Label.Text стал первым?:))
уже и речь программиста начинается.
главное настрой
Если нормально сформулируешь вопрос подскажу
А все понял этого не может быть глюк какой то
если написало
Label1.Text=«бла бла ?»;
то так и должно выводится
даж не понял как это произошло:((
Или в коде написать
Label1.RightToLeft=false;
Ты написать не сможешь даже после 2х лет изучения си
edu.cbsystematics.com/ru/education/roadmap
интересно
professorweb.ru/
msdn.microsoft.com/ru-ru/library/618ayhy6.aspx
metanit.com/sharp/
.....
MessageBox (Этот кусок пройден, переменные = ..)
...
MessageBox (Эта функция отработана, переменные = ..)
try
{
SMAhigh = this.SMAhigh_h.Execute(HighPrices[bar], periodShort, bar);
}//Вычисляем SMAhigh
catch (System.ArgumentOutOfRangeException )
{
throw new TSLab.Script.ScriptException(«Ошибка при вычислении блока \'SMAhigh\'. Индекс за пределам диапазона.»);
}//Сообщение если произошла ошибка в вычислении
Бывают ситуации в процессе выполнения программы, когда программист заранее не может просчитать. Ситуация может вызвать такую ошибку в программе, что она ее вешает/портит/глючит. Ну например, вы что то высчитываете какой то формулой и у вас происходит деление на 0 (что в математике не приемлемо). Или например, вы что то пытаетесь записать в файл, а windows вам этого не дает. Возникают глюки. Такие ситуации называются в программировании — исключительные ситуации. Если вы знаете, что какой то участок кода способен создать такую засаду, вы его оформляете в конструкцию try-catch
Оформляется так:
Например
Тогда программа не глюканет, а грамотно обойдет эту ситуацию. Подобный ход называется обработкой исключения.
smart-lab.ru/blog/306231.php
я между прочим полезные вещи описал, а не рассказал как я посрать сходил
Не в бровь, а в глаз)))
alexKa, верно только отчасти. Если нет базового набора знаний и ты не готов сразу набросать скелет программы для решения этой задачи, лучше всё-таки изучать основы по существующим примерам. Но вот в уме (в подсознании), конечно, нужно держать реальные задачи, которые ты собираешься решать. Поэтому считаю, что Тимофей всё правильно делает, выписывая задачи, которые он планирует решать. Как только знаний будет достаточно для какой-то из них, мозг сам выстрелит мыслью «Я ведь могу попробовать решить такую-то задачу прямо сейчас»
неплохой видеокурс, по моему мнению. Нравится голос автора и его подход к обучению. Ну и не так скучно, нежели по книжке )
Я пока умею только отслеживать значение переменных через watch
Просто стоит уделить немного внимания изучению непосредственно IDE, не только с#
но
вспоминая как вы говорите что то что я пишу никому не интересно, и что у меня запрет писать в общую, + то что вы не дали мне возможность писать в разделе алготрейдинг
( я признателен что вы переместили по просьбе туда мой вопрос)
ответьте себе честно посты данного направления соответствуют тематике ресурса? какому проценту ваших посетителей они интересны?
я вот тоже ищу частенько ответы по программным вопросам, тоже учу языки, так мне тут писать в общую? или все таки искать спец форумы?
удачи в изучении C# :)
ни одной записи про алготрейдинг
так что всё справедливо
1 не расценивайте мой комент выше как жалобу :) сколько людей столько мнений :)
2 вы главное ответьте сами на вопросы о вашем комментарии, можно не озвучивать :)
3. по поводу отсутствия записей про алготрейдинг -
так их и не будет, потому что доступа что то писать в разделе нет, а на вопросы и темы написанные в вопросах и общей никто не отвечает, какой смысл писать?
нет есть конечно вариант написать и попросить вас перенести, что и сделал вот с этим вопросом:
smart-lab.ru/vopros/305771.php
но честно три раза подумаешь а стоит ли писать
а я перенесу ручками в раздел пост, если он будет соответствовать)
Опыт у меня был. Еще в детстве программировал, бейсик, Паскаль, потом хорошо изучил Яву. Долгое время не программировал.
Так вот я скачал с торрентов видео уроки какого-то перца (кажись с Украины). Занятий 20, где он все разжовывает. Где-то за пару месяцев я все освоил и написал нужный код.
Но так как я не программист, больше я ничего не кодил и сейчас уже все подзабыл… т.е. в целом просто потеря времени…
https://learnxinyminutes.com/docs/csharp/
Добрый день, Тимофей,
Если есть реальное желание ЗАРАБАТЫВАТЬ на рынке, то лучше приходи к нам, в Мастер группу «Финансовой лаборатории» Игоря Чечета и Дмитрия Власова. (chechet.org)
Здесь и C# и Resharper и VisualStudio изучишь. Сразу с практическим уклоном.
Наставники «за ручку» проведут по тернистому пути становления алгоритмического трейдера от простого к сложному.
Чтобы не быть голословным, даю ссылку на итоги работы на реальном счете: http://smart-lab.ru/profile/VDV/
можешь и ко мне в профиль заглянуть.
нас много здесь. Просто мы не «светимся». Мы работаем.
Удачи в трейдинге!
Добрый день, Тимофей!
Да. Только что закончилось занятие Мастер группы.
На базе моей системы он сделал свою :), показал. Уже поставили в торговлю.
Ему сейчас некогда: его младшая дочь стала чемпионкой Европы по шахматам в своей возрастной группе. Ездили на чемпионат мира в Италию.
Трейдингом (алгоритмическим, автоматическим) занимается очень активно.
Здесь бывает ежедневно. Ведет учет движения средств на счете.
дочь его просто кросавчег!
я просто до глубины души восхищен
Тимофей, я почитал, что тебе советуют.
Вот мой совет: пройди курс по ТСлаб у Родиона Скуратовского из RusAlgo.ru
Во-первых, научишься работать с VisioStudio.
Во-вторых, изучишь ТСлаб — программу для алготорговлию
В-третьих, изучишь С#. И не просто язык, а конкретные вещи для программирования стратегий.
Останется изучить Wealth-Lab для оптимизации стратегий.
За этим — к Дмитрию с Игорем.
Это самый правильный путь в алготрейдинг.
Тимофей,
Это не просто курс. Родион просто и ясно расскажет сложные вещи по принципу от простого к сложному. После каждого занятия дается «домашка». Первые — простейшие. Но с каждым разом они становятся сложнее и по окончанию курса (18 дней) становишься профессиональным программистом на С# с трейдерским уклоном.
Я не знаю ни одного трейдера, прошедшего этот курс, сказавшего, что курс — «фуфло».
Курс реально стоящий.
Но, Родион сразу предупреждает на 1 занятии, чему он не будет учить:
— создавать торговые стратегии;
— трейдингу.
Он дает базовые знания программирования торговых систем для ТСлаб на С# с использованием Visual Studio & ReSharper.
А торговые идеи, реальный трейдинг — это Игорь и Дмитрий.
Что касается книг, их никто не отменял. :)
Сегодня Игорь выложил в своем блоге рецензию на очередную книгу. Захотелось самому её прочитать.
chechet.org/174
А еще можно нескромный вопрос, а зачем C# ?
Я вот знаю шарп, а куда приткнуть его не знаю ...
задача то какая у Тимофея стоит после изучения с # -?
Тимофей! Какая версия студии? 2010 ?
Тяжело шло и мотивация куда-то испарилась. Зачем что-то новое учить если и так все без проблем реализую в среде multicharts и кубиками в тслаб. Да, сишарп даст новые возможности, но блин какие, если и текущих возможностей вроде как достаточно ))
По твоему обучения я вот не понимаю, тебе просто интересно изучить язык программирования или все же применительно к трейдингу?
по поводу Label.Text вы бы хоть код выложили, без него не разобраться :-)
p.s.: ошибки ищут через дебагер ставите точку остановки и строчка за строчкой проверяете как работает программа.
wpf сложно понять будет для новичка лучше начинать с винформ
А я искал в свойствах где у меня Left или Right стоит, но искал в правой колонке, а не в левой)))
денег у меня столько нет, чтобы содержать команду
успехов в изучении. но как мне думается, Тебе так тяжело, потому, что смысла за этим нет. У тебя задача какая, просто выучить сиш или что то на нем написать? ты просто хочешь стать прогером? Вообще я когда учил, я начинал с синтаксиса я зыка, затем изучал принцип или шаблонность, а потом тупо стал программировать, то ради чего я учил язык. могу сказать о себе, что программировать уверенно я только стал когда год потратил на практику, без практики я не хера бы не научился.А практиковался я на конкретной задаче, которая мне была интересна и понятна, и так получилось, что я выучил нюансы уже походу программирования. по этому я не понимаю твою задачу, ибо вижу что нет конкретной цели для чего тебе сиш. если она у Тя есть, то начинай кодить сразу ее.
Тяжело в любом случае, если с нуля делаешь
Как ты собираешься применять это знание?
PS
Я весь програминг у хохлов заказываю, у них цена\качество — супер!
Вдруг вам тоже будет интересно!
Удачи в освоении с##!
Начал изучать Python в контексте инструментария для применения в Data Science и далее в Machine Learning. Навыков программирования до этого не имел, если не считать работу со сложными связанными таблицами excel.
Начал с самого базового курса "Основы программирования на Python", книги Марка Лутца «Изучаем Python» и тренинга Python Essentials от Enthought, Inc. И официальные инструкции поглядываю: The Python Tutorial.
Также обучаюсь на курсах:
• массачусетского технологического института (MIT) MITx: 6.00.1x Introduction to Computer Science and Programming Using Python на edX;
• Introduction to Python for Data Science (от Microsoft) на edX;
• Python на Codecademy.
В феврале начинаю изучение курса МФТИ Математика и Python для анализа данных на Coursera.
После завершения всего, что указано выше, планирую осилить совместный курс Высшей школы экономики и Школы анализа данных Яндекса на Coursera по Machine Learning:
https://www.coursera.org/learn/intro...chine-learning
В плане софта и среды разработки осваиваю:
Enthought Canopy;
Anaconda;
Jupyter;
и штатный IDLE.
А делать то когда начнешь?
Вы 11 лет на рынке и с 11 года на СЛ. За это время что-то заработали на рынке? Я без троллинга, реально интересует этот вопрос. Пошлёте подальше — не обижусь :-)
Я, правда, так и не понял: что с программированием на питоне в итоге?
Но обилием осиленных курсов — сражён!
Проще выучиться программировать, чем освоить все эти курсы )
Alchemist,
Серьезный у Вас подход. Много усилий потребует.
Это для трейдинга или новую профессию Data Mining получаете?
Я так прикиул, что если по 8 часов в день заниматься, то за год реально и все эти курсы пройти. Куда дальше двигаться с этим...
Как вариант:
-год-второй в России набраться практического опыта.
-потом сдать экзамен по английскому.
-засветиться в решении заданий на Kaggle.com (там конкуренция ппц — китайци и индусы рулят)
— искать работу в Европе или США:
а квалификацию тут можно бесконечно повышать
www.edx.org/course/programming-c-microsoft-dev204x-1
Есть замечательный форум — ЛУЧШИЙ В СЕТИ, на нем есть все языки и радиотехника и прочие, не сочтите за рекламу!
Вот раздел по си — www.cyberforum.ru/csharp-net/
Там есть раздел для новичков решайте задачи (старайтесь решить или просто читайте) по си в этом разделе, которые выкладывают новички и вы набьете руку
Самая простая модель программы — это когда код выполняется последовательно строчка за строчкой (как мы читаем книги). Чуть сложнее — это когда есть циклы и переходы (типа как гиперссылки).
А вот событийная модель программы представляет собой «разорванное» исполнение кода.
В такой программе существует функция(и), которую может даже не вызывать сама программа. То есть, грубо говоря, присутствует участок кода, к которому вообще нет «ссылок» внутри кода. Как бы островок кода.
Для чего он нужен?
К такому коду обращается сама система (как это обеспечивается чисто технически: читай про callback-функции).
Итак, система (операционная система или другая программная среда) сама обращается к части программы. Причина по которой система обращается к этому «островку кода» и называется сообщением(событием). Приходит сообщение извне(в принципе и сама программа может высылать себе сообщения).
Принимающий код (тот самый «островок» без явных ссылок на него) называется обработчик сообщений(событий). Внутри обработчика происходят ответные действия на внешние события.
Пример: пользователь нажимает кнопку в окошке — обработчику сообщений этого окна ОС высылает сообщение о левом клики мышки, о том, что кнопку нажали, потом отпустили и т.д. Обработчик может опустить не нужные события (перекинуть их системе) и обработать только нужные.
В твоём случае сообщения будет посылать не ОС, а трейдерская среда программирования (не важно в какой системе ты будешь потом кодить, везде так будет).
Это главное, что надо понять о событийной модели — основное взаимодействие программы с внешней средой происходит через события.
А вот это зачем??
рекомендую javarush.ru, там очень продуктивный подход к обучению. Сам сейчас там учусь )
Хоть он и по джаве, но перейти с джавы на С# это проще, чем изучать С# с нуля. После 26 уровня начинается самое интересное. На реальных примерах показаны паттерны и как их применять в жизни. Сейчас на 30м уровне пишу сетевой чат, хотя еще летом даже не понимал, как это вообще делать :-)
Пройдёшь весь курс — очень сильно повысишь скил программера.
хз ваще как так можно если ты не понимаешь ООП и принципы взаимодействия между объектами и тп
я понял что надо руку постепенно набивать
Читаешь
book.mql4.com/ru
разбираешь примеры и статьи.
переходишь на биржевой
www.mql5.com/ru/docs
Он ни чем не отличается, только дополнен ООП и некоторые особенности. Куча статей и примеров с объяснениями
www.mql5.com/ru/articles/mt5
Когда на учишься тут свободно писать (а это просто). Ты уже сможешь переложить логику робота на любой язык программирования быстро, не зная его, имея под рукой только документацию. Главное — не знание синтаксиса языка, а принцыпы программирования, которые везде одинаковы.
Имхо, пойдя этим путем ты в 10 раз быстрее станешь алготрейдером на том же С#, нежели начиная изучать C# с нуля, где будешь влазить во всякую лишнюю навороченную шелуху, которая в алготрейдинге вряд ли пригодится.
==========================
В Комментах от SECRET читал что он начал тоже с MQL
book.mql4.com/ru/content
да, эта тема может повысить эффективность!