Недавние посты о программировании, а также собственное увлечение сабжем (что презабавно, — популярным у трейдеров подвидом C#), сподвигли творческую мысль на рождение; вследствие зачатия весьма порочного, к слову.
В коллективе — сила, в обмене идеям — сила, в общении - сила. То, что не подвластной одному — легко решается в коллективе. В большинство великих свершений человечество вляпалось благодаря коллективам.
Не хотелось бы метрам этого замечательного ресурса создать курс (бесплатный! ага) для новичков и продвинутых ребят по программированию? Как видео-курс, так и печатный — статьи. На мой взгляд, в РФ такого продукта нет. Есть отдельные поползновения (не буду перечислять, хотите-в личку), но чего-то комплексного, удобного, с внедрением последних достижений нейрологии, методов обучения — нет.
Что нужно? Необходима куча практических задач, заточенных под биржу, под взаимодествие с коннекторами, под обработку ордеров и тп., под чтение стакана и тп. С обсуждением решений, с постоянной разработкой новых задач. Можно хоть сайт делать и рубить капусту на лохах рекламке.
Большинство начинающих, в особенности я — как образец бестолковости, делает одну ошибку — они пытаются охватить всю теорию разом, по большому счёту не решая практических задач. Новички пытаются досконально разобраться в каждой фигне, пренебрегая практикой. Как результат — нейронные связи в мозгу попросту не тренируются, и как таковых навыков программирования нет. Излишняя скрупулезность мешает освоить предмет. На многие вещи лучше просто забить и не терять времени.
Скажете, садись за учебники сам и учи. Мы же учили, ночами не спали — кодили, кодили, кодили… Не рискну спрашивать, стоило ли оно того. И не буду. Но это видится мне крайне неэффективным.
Не знаю у кого как со временем, но у большинства людей такой возможности нет. А неистово TRUE Трейдер всегда стремится к эффективности в лабутеновой степени.
Сам неплохо программирую на VBA. Немного кодю на всякой всячине типа SQL, HTML, CSS и тп.VBA — язык процедурный, достаточно простой для большинства задач, решаемых в EXCEl. Написал код, и он идёт построчно — вроде просто. Если что-то непонятно — смотришь справку. Там всё подробно и ясно. Даже по русски есть. Любая книга, справочник проясняют большинство непонятных моментов.И по EXCEL есть макрорекордер. Да, он глупый. Но есть.
Что для вдохновения? Ну в частности:
В C# какие-то делегаты, куча всяких using'ов и прочих бебеней. Когда пытаешься в своём честно краденном (у меня нет!) Studio проделать операцию Step Into, то зачасутю код выполняется в непредсказуемом порядке. Что такое делегаты я не понял и на 3-ий раз.
Как учиться?
Сам я занимаюсь на бесплатных он-лайн ресурсах. Есть куча бесплатных, кто хочет — пишите, кину ссылки… Для меня там всё достаточно понятно и просто. Но опять же — нужна практика и еще раз практика. Кроме этого есть куча бесплатных курсов. Очень часто слышу про решение практических задач как наиболее эффективный способ обучению программированию. Согласен с данным утверждением. Но при самостоятельном изучение возникают проблемы: какие именно практические задачи решать, что это даёт, и самое главное — как их решать. Задача должна соответствовать либо немного превышать текущий уровень навыков. Либо нужен наставник, который поможет в решении задачи.
Наличие наставника всегда желательно.
Если задача не соответствует уровню программиста — задача решается чересчур долго, либо вовсе не решается по причине трудности.Как ещё учиться? Смотреть готовый код — тоже вариант, но он слабоэффективный. Нужно делать самому и доходить до многих вещей своим умом. Но опять же проблема — зачастую такая пропасть между навыками и задачей, что непонятно как решать задачу впринципе.
Да и готовый код зачастую тоже непонятен, потому как использует неизвестные способы решения проблемы.
Гнутые пальцы и кривые руки несовместны. Но гнутые руки и кривые пальцы?
А по теме обучения, ИМХО, всякие учебники и курсы — это шлак, не стоит эту макулатуру читать. Лучший учитель — практика. Для справочной информации есть доки.
А писать все самому — это полный пинцет, для людей с безграничным свободным временем и согласных отложить получение результата на неопределенное время
iolanguage.org/about.html
в прошлом веке, когда в отрасли не было такого количества мартышек, львиная доля сложного софта писалась индивидуалами и небольшими командами на лиспе и смоллтоке.
И только так учится любой язык, в том числе иностранный.
Все учится быстро, если вызывает эмоции.
И английским, и немецким владею где-то на уровне B1. Видел очень много людей, которые упорно учили языки и здесь, и за рубежом. Это процесс пожизненный! Понимание разговорного языка — это вообще особая тема, а проработка произношения — полный ад, когда каждая фраза прокрикивается сотнями раз и заканчивается все уже когда язык не ворочается от усталости.
Раз тридцать пытался проходить интервью в попытках трудоустроиться. Из них лишь пару раз было более-менее комфортно общаться. Один раз с голландцами, другой с киприотами. Речь британских или американских коллег просто не понимаю (не слышу), хотя переписываться в скайпах и вайберах более-менее удается.
И опять же — я учился в английской школе для иностранцев, мной занимались преподаватели англичане, я общался каждый вечер в семье, в которой жил. Почти весь день — английский. С русскими вечером, на обеде. И весь день — английский. Прогресс колоссальный, с полугодом в РФ — та самая зубрёжка pronunciation, когда говоришь, как в школе коррекции, пока зубы язык не сточат — не сравнить.
Ну и учтите, что неплохой уровень каждый понимает по-своему :)
влюбись в иностранку — сразу прогресс. Сможешь о театре рассуждать и лекции о космосе читать на языке.
Это как научится пользоваться сваркой и лобзиком, чтобы после этого сразу делать «яйца фаберже».
Чуете разницу между «яйцами» и «лобзиком+сварка»?
Хоть бы кто-то написал «есть 10 стратегий, надо их просчитать, и если предположение верно, то будет вагоны денег».
А то в фигню всякую, типа потоки и протоколы, народ лезет...
Напишите детально, как должно выглядеть ваше «яйцо фаберже», слабо?
А сделать его, это тупо «лобзик+сварка» (кодинг).
PS
Вы не сможете придумать то, что нельзя сделать. Так что, не стесняйтесь, пишите про «яйца», а не «лобзик+сварку».
В основном фантазеры и околорыночники.
Можно нанять трейдера и прогера. Дешево? Отобьет расходы?
Какую такую задачу в стратегиях нужно обсчитывать именно с помощью C#? Я вот что-то не соображу.
Или вы считаете, чем больше миллионов строк вы через свой код пропустите — тем прибыльнее будете торговать?
завидую. у меня пока не ахти. Есть конечно пару недограалей, но все сыро.
да я тоже могу экселем по 2000 свеч, убыточную стратегию целый день разбирать.
А вот прогой на джаве своей — я за 5 мин пучок. И стату собрать для идей -главное: напр сколько на каком тайме было бычьих поглощений, гэпов и пр....
осталось тестер доделать.
А в тслабе чтобы свечные паттерны проверить — уже надо кодить, в кубиках я не могу (да и другие....)
Можно хоть сайт делать и рубить капусту на лохах рекламке?
Их есть у меня, но только начальный этап (Программирование стратегий в AMIBroker) — 3 месяца и 300 000 рублей. (чем я хуже Герчика-то?). Если интересно — пиши в личку
Мне о них мало известно, ибо тусуюсь в англоязычном инете.
Да, автор сказал, что он не понимает делегаты. Я хоть и не пишу на статически типизированных языках, надеюсь, что правильно понимаю их суть. Попробую на пальцах. Представьте, что у Вас есть функция, которая содержит в себе некоторые операции(псевдокод)
Допустим, мы хотели бы в дальнейшем расширять функционал без переписывания и перекомпиляции этой функции.
теперь можно добавлтяь сколько угодно операций. Грубо говоря, вместо ф-ции там класс, а все эти делегаты, как отдельные костыли нужны чтобы обойти ограничения статической типизации. Как-то так. Если не так пусть кто-нибудь поправит:)
Например можно написать
var x = 100;
X будет хранить число 100.
Можно написать
var x = new MyObject;
X будет хранить ссылку на «какой-то объект».
А можно вот так:
function doSomeThing(){
bla… bla… bla...
}
var x = doSomeThing
X будет хранить саму эту функцию,
и потом можно будет ее вызывать
x();
Это все, что вы хотели знать о делегатах, но боялись спросить :)
А обвязка с типами — это уже рюшечки
Я полностью согласен с выше сказанным, не нужно пытаться охватить в самом начале, необъятное, когда не понятно, насколько ваша идея будет работать. Поэтому, самой простой способ, это сначала разработать и оттестировать, именно стратегию. Данные в этот модуль, стратегии, можно передавать через массивы, через текстовые файлы и другими легкими методами, не нужно кодить протокол обменна данными с биржей, если нет рабочей стратегии, только время зря убъете.
Вот если стратегия рабочая, то можно и обвес писать.
Процесс тестирования стратегий, и процесс непосредственной торговли уже ОТТЕСТИРОВАНЫМ стратегиям. Это ДВА РАЗНЫХ процесса. Для тестирования есть прекрасные программы, и не надо изобретать свой велосипед.
а за курсы русалго действительно стоить заплатить, ибо стоящие.
Выучите один любой язык. Выучите ООП. Все. Все двери для вас открыты.
Но и это не гарантирует стабильного заработка с рынка :) Не надо думать, что если освоишь С#, то сразу начнешь писать прибыльных роботов.
Вообще я заметил такое романтическое настроение у многих, что типа робот = прибыль. В смысле у тех, кто ни строчки кода не написал в жизни и ни одной стратегии не формализовал даже на словах.