Блог им. Saro

Изучение с#, нужна помощь!

Приветствую.

Последнее время редко пишу, ибо особо не о чем писать. Творческий кризис в поисках новых алгоритмов. и отсутствие сил на анализ кластеров рынка (хочется использовать в роботах, но нет столько времени чтоб сидеть следить за ними). Вялотекуще работают древние, занудные алгоритмы с долгими сделками. Краткосрочно в большинстве случаев не торгую (кучу сделок в день, но не скальпинг имеется ввиду). Связанно с тем, что лень прописывать все тонкости рынка (при каких обстоятельствах не торговать, например праздники, новости и тд) а когда это не прописываю, часто пожинаю убыточные плоды. Обычно если рядом с ноутом, то всегда слежу за рынком и алго, и в случае чего сбавляю роботу обороты, или отключаю если ожидается некий хаос, который не учитывается алгоритмом. Но частенько уезжаю куда-либо, или занят рутиной — забываю проверить ситуацию и получаю лосей. в основном это топтание на месте, потому пока торгуется то, что работает само. 

Так вот, начал изучать С#. в целом мне математика обычно легко дается и ожидаю, что проблем с кодом не будет серьезных возникать. Но столкнулся с тем, что очень сложно изучать язык самостоятельно когда не понимаешь с чего начать и куда двигаться. Материалов в инете полно, как и обучений. НО это ж отдельная вселенная, и не туда повернув — заплутаешь надолго. 
На какой я стадии? в самом начале пути. Учусь на простых примерах кодить. Обычно я в роли преподавателя и скажу честно, я всегда тараторю, и стараюсь максимально сжато мысли излагать — что часто еще сильнее запутывает. Так вот учусь я по видосам где скорость обучения на уровне улитки. 3 часа = 12 строкам кода. И такое размусоливание убивает желание учиться. Итак, ежики кололись, но лезли на кактус, это про меня.

Собственно к чему пост. хотелось бы советов, от опытных программистов (ибо пробовал гуглить и выдает тонны информации, и моя компетенция не позволяет определить значимость советов). Какие я преследую цели? Научившись кодить, хочется все же реализовать все свои математические фантазии в рынке, всякие интегральные, дифференциальные, матричные и тд схемы. (по правде, уже пробовал на матпрограммах это все просмотреть, и чисто теоретически нифига не работает на рынке это все, но хочется уж наверняка убедиться. (речь об именно моих фантазиях, они не работают, а не в целом математика)) Так же хочется научиться, писать доп софт/коннектор. К примеру софт который транслирует новости в тслаб, грубо говоря. Ну и мобильные приложения тоже. Губу конечно раскатал себе на десятилетия вперед.

Так вот, порекомендуйте пожалуйста литературу или ресурсы. Возможно обучатели на личном опыте имеются или некие полезные видео ресурсы, которые вам помогли. 

 

★18
брать совершенно конкретную задачу и пытаться ее решить. лучше способ трудно представить. без конкретных задач изучать можно вечно.
avatar

vfreeman

Роберт Мартин «Принципы, паттерны и методики гибкой разработки на языке C#»

Это книга не про синтаксис и условные конструкции, а о том, как из классов собирать работающие программы и управлять кодом.
avatar

SergeyEgorov

SergeyEgorov, Благодарю! 

Микаелян Саро, такое вам ещё рано.

Это архитектурные вещи.

Для начала следует освоить базис.

Доступно излагает Герберт Шилдт.

Правда новых книг по C# давно не выпускал.

Вполне неплох Эндрю Троелсен https://www.labirint.ru/books/550458/

По паттернам классикой считается https://www.ozon.ru/context/detail/id/2457392/

И побольше практики.

На первых этапах меньше глобальных задач, и больше мелких, быстро реализуемых.

Тарас Громницкий, Спасибо, я по названию предыдущей книги, понимаю что это на будущее. и теоретически к этому и стремлюсь на будущее.

Для текущего изучения так же благодарю за совет.  

 

Микаелян Саро, Например, придумать интересный для себя проект — для меня это какой-нить супер-бэктестер)). И пилить его, практикуясь на этом. 
avatar

Replikant_mih

Микаелян Саро, не за что.

Обращайтесь в случае чего.

Микаелян Саро, при изучении любого языка программирования требуется чёткий порядок действий. Просто прочтение книги этого не даст.  Советую обратить внимание на ресурс https://coursehunters.net/. Здесь выкладываются курсы по программированию с чётким пошаговым алгоритмом изучения материала. Да и самое главное всё бесплатно.
avatar

ANTI_Finsov

Микаелян Саро, не надо на будущее. Покупайте и читайте сейчас. А вообще программирование — это навык. Надо немного читать, и много программировать. Есть мои бесплатные видео уроки по C# для трейдеров. Они короткие, по 10-15 минут.

Чего хотите запрограммировать? Спрашивайте прямо здесь, я вам подскажу куда смотреть и что делать. Я это проходил все. Код для торговых роботов писал и для анализа стратегий писал и много всякого другого кода.
avatar

SergeyEgorov

Тарас Громницкий, Да, тоже Шилдта хотел порекомендовать — отлично с нуля все объясняет. Ну а то, что это книга позволит «ускорять» если нужно процесс (ну типа пропускать что-то, хотя не рекомендую). И конечно кодить каждую новую тему, чтоб осталось в голове. С какого-то момента можно кодить на трейдерские темы — новые проекты, или единый сложный, т.е. кодить новые темы в рамках трейдерской тематики для большего вовлечения, погружения.
avatar

Replikant_mih

Микаелян Саро, советую взять исходники готового робота написанного на С# (например простейшего на МАшках) и его уже изменять под свой алгоритм.
В этом случае сможете путем несложных изменений алгоритма заложить в него свою торговую систему, не отвлекаясь на такие сложные вещи, как разработка с нуля подключения к терминалу или работа с БД, настройками, работа с объектами.
Затем постепенно разберетесь со всеми аспектами автоматизации на С#
да какой то подозрительный пост от человека, зарегистрированного на СЛ в 2013. Не?
avatar

Андрейка

Андрейка, так я всю жизнь на тслаб работаю, там визуальный редактор. тут решился все же на новый уровень пойти. сделать свой труд более удобный. 

Попытки кодить давно были, но всегда упирался в отсутствие времени.

Не ожидал, пропогандировал кубики и тут на тебе)
avatar

Чужой

Чужой, саморазвитие (надеюсь случится). Кубики пока кормят, кто знает что через лет 5 будет)
Микаелян Саро, какие идеи сейчас на рынке рулят, если не секрет?
avatar

Чужой

Чужой, у меня алгоритмы однотипные, открыл лонг выставил стоп, рынок в твою сторону — радуется прибыли, как считает что рост остановился, двигает стоп, выбило стоп, перевернется в шорт и тот же принцип. 

стопы или от рынка беру или по математике

Микаелян Саро, эй, не накаркайте, кубики должны быть вечны! )

PS: знакомая история и вопрос изложен точно как я его переживал.
Наверно у всех одно и то же. Надо искать обучающий курс.
Кстати, у меня есть ХОРОШИЙ (хоть и ворованный) для ТСЛаб. 
Никому не даю, но если что… хорошему человеку не жалко.
avatar

VladMih

VladMih, кубики то да, а вот алгоритмы и тд. трейдеры не вечны ж в любом случае у многих трудности со временем возникают.
Микаелян Саро, вы в hft собрались. Если нет обратите внимание на на это 
https://smart-lab.ru/blog/496838.php. На много проще тслаб вплане внутредневного трейдинга. Проект в стадии развития. Но уже работает.
avatar

ANTI_Finsov

ANTI_Finsov, Вы предлагаете полагаться на ТВ как на поставщик рыночных данных и совершать по ним сделки? Забавно. А если у Вас на машине инет заглючил? Браузер затупил? Если в бесплатной версии ТВ Вам взяли и прислали радикально неверные рыночные данные? Или, может быть, как раз аккаунт в ТВ должен быть платный???

 

Или нет. Вы предлагаете другое! Я понял. Человек рисует алгоритм в виде блок схемы в ТСЛаб, оптимизирует и отлаживает его, используя исторические данные. Платит при этом 0 рублей. Затем идет в ТВ, берет платный аккаунт, долго возится, чтобы переписать уже оттестированного робота на скриптовом диалекте ТВ. Добивается идентичного исполнения. Ура! "Ура!" — говорят разработчики ТВ — "И вправду интересное эквити получается. Спасибо, дорогой клиент. Пиши еще!"

 

ПС Все совпадения имен и названий случайны. История представляет собой фантастический рассказ про жизнь трейдеров на Марсе.

avatar

ch5oh

ch5oh, я наоборот зато, чтобы лудоманить без затрат. 
avatar

ANTI_Finsov

ANTI_Finsov, лудоманить вообще не надо.

Торговля — это бизнес. У него есть вложения, есть операционные затраты, есть результат, соответствующий этим затратам.

 

Или более прямая аналогия с инструментами. Можно закручивать саморезы в стенку голыми руками. Это будет бесплатно. Но долго и утомительно. Почему-то если под руками есть шуруповерт все происходит значительно бодрее и руки потом не отваливаются.

 

Собственно, напишите пост про Вашу торговлю чудо-стратегиями из ТВ. Покажите реальное эквити — и все вопросы сами собой отпадут.

 

avatar

ch5oh

я думал Вы всё познали…
avatar

2153sved

Подход верный, ищите напарника и самое главное, решайте прикладные задачи. Нет смысла тратить время на учебные примеры. Вкернее, смысл есть, но не в вашем случае.
avatar

Cristopher Robin

Cristopher Robin, да, тут самое главное, рационально использовать временноой ресурс
А раньше кодировать приходилось на чем-нибудь?
avatar

SergP

SergP, в универе разве что vba и только примитивные циклы. не более
Микаелян Саро, изучайте лучше сразу нейронные сети от Гугла: https://www.tensorflow.org/
Серьезно. Мне кажется, там можно получить гораздо более интересный результат
avatar

kiki

Микаелян Саро, «Шилдт C# 4.0. Полное руководство» 11-го года издания (более позднего, кажется, не было) должна стать вашей настольной книгой. Есть в электронном виде.
avatar

SergP

SergP, Спасибо, нашел электронную версию
Сложно Вам будет. И долго.
Если работали с TSLAB — у них был курс по API (по сишарп).
А если с нуля — будете писать коннектор, графичекую оболочку, изучать ООП, придумывать классы, всё это криво писать, а потом переписывать, тестить и тд.
Можете попробовать StockSharp. У них многое уже написано.
Ну и Шилдт для начала почитайте.
Могу порекомендовать курс C# за час на youtube :) для затравки
www.youtube.com/watch?v=IF7YRBokJAw
avatar

shprots

shprots, не, это лишнее. коннекторы я имел ввиду не к брокерам, а допустим к некой математической программа для обмена данными, или же новостные ресурсы. грубо говоря будет проверка есть новость или нет, ожидания оправдались или нет и тд
Микаелян Саро, поподробнее опишите цели и задачи. Пока мне кажется, что для ваших целей больше подойдёт питон.
ЗЫ: перечитал. Если хотите связку с тслаб, HFT — то сишарп. Если матмодели, новости, нейронные сети то питон.
avatar

shprots

shprots, не. хфт для меня это утопия. в одиночку сложно тянуть.) а так спасибо, но хочется все же c# а там возможно проще будет потом питона изучить если понадобится
Микаелян Саро, тогда лучше начните с питона, он как учебный язык лучше, чем решетка, и проще для новичка.
Его, как раз сейчас и практикуют чаще всего в обучении.
Хотя, вообще учить надо не язык, а программирование.
И Вы заблуждаетесь, что математический бекграунд сможет Вам сильно помочь в программмировании. Часто наоборот бывает, математики совершенно не способны к программированию, и начинают прятаться в «математические» языки типа Хаскеля. Они хотят, чтобы у них все было «отображением»:)
В итоге они в своем дерьме так и ковыряются, факториалы там разными способами вычисляют, а ничего дельного родить не могут:)
avatar

sortarray sortarray

sortarray sortarray, =) питон — сакс. То, что для него сделали много библиотек сути не меняет. Для R библиотек еще больше. Let's Holy War begin!
avatar

ch5oh

ch5oh, мне он тоже не очень нравится, но обучение лучше с него, во всяком случае, чем с C#
avatar

sortarray sortarray

sortarray sortarray, Вообще, кстати,  C# заточен под коллективную крупную разработку. То что его в частном трейдинге используют широко, для написания мелкого софта — это какое то недоразумение. Для подобных задач традиционно всегда использовались скриптовые языки
avatar

sortarray sortarray

sortarray sortarray, скриптовые языки не обладают производительностью от слова совсем. Например, простенькая симуляция траекторий на R работает примерно на 3-4 порядка медленней эквивалентной реализации на шарпе.


Что касается учиться. В старые времена хорошо было учиться на паскале или на чистом си. В современных условиях шарп также хорош для этой цели. Только не надо лезть в новомодные конструкции типа асинков и линка. Достаточно ограничиться относительно чистым синтаксисом. C# версии 3.5 имхо имеет оптимальное соотношение по (удобству использования и богатству возможностей) делить на (количество синтаксических граблей об которые можно легко убиться).

 

Ну и опять же процедурное программирование воспринимается (должно восприниматься) легче ООП.

avatar

ch5oh

ch5oh, производительность там не особо то и нужна.
К тому же, это утверждение сейчас уже не особо то и актально. Си конечно скриптове языки пока не сделали, но уже на подходе.
Языки типа решетки и жабы показывают скорость только на синтетике, в реальности же как правило, тормознейшее говно. Там где нужна скорость, действительно нужно брать низкоуровневые. Но для трейдерских роботов это все глупость, там издержки сети любую скорость сожрут. на таких вещах асинхронщина нужна а не скорость.
Вообще, все жалобы на тормоза в сетевых приложениях, в 99% обуславливаются блокирующим кодом и соответствующим простоем, на производительность там напрасно грешат

А R пример вообще ниачем, кстати, насколько я помню это макронадстройка над Scheme, это не язык, строго говоря, не язык с собственной полноценной реализацией
avatar

sortarray sortarray

sortarray sortarray, в крайне специализированных синтетических случаях типа майнинга где компиллятор СИ может использовать специализированные процессорные инструкции — в этих и только в этих задачах СИ обыгрывает сишарп. Почему майкрософт занимается ерундой, а не пилит оптимизированный JIT с поддержкой новых процессорных инструкций — для меня загадка большая досада.

 

А при разработке математических алгоритмов общего вида (читай, торговые индикаторы) компиллятор на СИ получает преимущество перед JIT в среднем не более чем на 10%. Ассемблер обыграет шарп тоже только по причине доступа к современным инструкциям ЦПУ.

 

Сетевые задержки, естественно, выносим за скобки. Это отдельная песня.

 

С уважением.

avatar

ch5oh

ch5oh, 
А при разработке математических алгоритмов общего вида (читай, торговые индикаторы) компиллятор на СИ получает преимущество перед JIT в среднем не более чем на 10%. Ассемблер обыграет шарп тоже только по причине доступа к современным инструкциям ЦПУ.
добавлю чуть чуть. Если совсем опуститься низко, то острый момент есть — это умение программиста работать с памятью. В принципе компиляторы многое подчищают за программистом. Но можно незнаючи написать на ассм на спец инструкциях, но жутко проиграть во времени при работе с памятью. 
avatar

Андрей К

ch5oh, 
 в этих и только в этих задачах 

Уже даже само наличие GC и JIT этому противоречит. Это все имеет свои издержки.
avatar

sortarray sortarray

sortarray sortarray, JIT работает один раз как правило для одного фрагмента кода. GC на вычислительных алгоритмах тоже особенно не мешает. Суммарное воздействие этих двух факторов (на вычислительных алгоритмах общего вида) порядка 10% или меньше.

avatar

ch5oh

ch5oh, это зависит от кода, нет там фиксированных цифр. Кто знает тонкости компиляции и исполнения, у того всегда издержки будут на порядки меньше
avatar

sortarray sortarray

sortarray sortarray, можно и на асме писать и добиваться, чтобы вся прога помещалась в кеш проца L1.

 

Но в реальности надо соотносить затраты на разработку с ожидаемым  выхлопом и со своим уровнем скила.

 

Саро сейчас эти тонкости просто не надо.

avatar

ch5oh

ch5oh, 
можно и на асме писать и добиваться, чтобы вся прога помещалась в кеш проца L1.
я на плюсах абсолютно всегда в боевой момент сижу в L1. =))) Это мне стоило достаточно много времени разработок и изучений =)
avatar

Андрей К

Андрей К, «какой интересный человек» © ДМБ.

avatar

ch5oh

Андрей К, если плюсы == С++ то коллега )))
avatar

Константин

ch5oh, 
JIT работает один раз

А если бы JIT работал один раз, он не был бы JIT-ом, то бишь Just-In-Time
Один раз работают обычные компиляторы
avatar

sortarray sortarray

sortarray sortarray, блин. Разговор потерял конструктив. Вы вообще в шарпе разбираетесь?

 

Когда JIT обнаруживает вызов функции, он компиллирует байт-код этой функции в нативные инструкции. И запоминает. При втором обращении к той же функции повторная компилляция не делается. Используется уже готовый нативный код.

 

Поэтому при выполнениии тестов сначала делают несколько «прогревающих» вызовов и только потом меряют скорость.

 

Засим откланиваюсь.

avatar

ch5oh

ch5oh, Но это не значит, что все сводится к одноразовой компиляции. Вы смысл термина JIT уясните
avatar

sortarray sortarray

Микаелян Саро, smart-lab.ru/mobile/topic/515344/
Про питон, может загоритесь :)
avatar

shprots

shprots, на нашем рынке для хфт сишарп в текущей ситуации уже не подойдет
avatar

Андрей К

Андрей К, Почему? Сейчас какие-то другие решения?
avatar

shprots

shprots, да, рыночек у нас омертвел за последний год резко, сейчас на hft еще можно попробовать потягаться на плюсах и то тяжело. А сишарписты уже уходят пачками.
avatar

Андрей К

Андрей К, ярких трендов нет — зарабатывают в основном опционщики. Но не потому, что самые быстрые. =)

А ХФТ — он же не только от скорости исполнения проги зависит. Тут и колокация нужна и продвинутые протоколы получения данных без задержек и т.д. и т.п.
avatar

ch5oh

ch5oh, 
А ХФТ — он же не только от скорости исполнения проги зависит. Тут и колокация нужна и продвинутые протоколы получения данных без задержек и т.д. и т.п.

Сейчас много от скорости зависит. Песочница резко сузилась. Стаканы обмелели. Раньше, например, на одной и той же страте первым четверым хватало ликвидности в стакане, а теперь только первому и тд.

Вот уралпро зря именно сейчас публикуется подробно. Он показывает где еще деньги лежат и свои скорости. Если бы было не лень, я бы например пришел и забрал. Но пока оно того не стоит. А ведь найдутся те, кого уже совсем прижало, придут и заберут. Колокация то резко сокращается.

avatar

Андрей К

Неожиданно...


Попробую вспомнить по какой книге сам учил c#. Она состояла из примеров программ, описывающих различные конструкции языка. Клал перед собой книгу и набирал приведенный в ней пример кода. Добивался, чтобы работало. Затем вносил те изменения, которые мне приходили в голову. Если после моих изменений работало так, как задумал — ставил галочку "понял тему хотя бы поверхностно". Безрадостная для тебя новость: на проработку той книги у меня ушло примерно 6 месяцев.

 

В твоем случае параллельно можно пытаться делать вещи связанные с трейдингом непосредственно. Причем позволю себе крайне настоятельно предостеречь тебя от попытки написать полностью робота на сишарпе. Ни сейчас ни в каком-либо обозримом будущем. Самая правильная для тебя стратегия — писать отдельные кубики. Нужен тебе кубик для интеграции с языком R — пиши кубик для интеграции с R. Нужен кубик для поиска в интернете новостей — пиши кубик для выдергивания из интернета конкретных новостей. Нужен кубик, который засунет свежие котировки в уже готовую обученную нейронную сеть — пиши кубик-обертку вокруг нейронных сетей, который будет выдавать тебе на выходе прогноз цены для следующего бара.

 

Ну, или можем потрындеть в личку и что-то вместе замутить… ;-)

avatar

ch5oh

Автор, Вы знаете английский? У меня есть отличная книга специально под Ваш запрос
avatar

Макеев Евгений

Макеев Евгений, Не. англ смутно. как бы бытовые моменты еще понять могу, но сложный текст или фразы какие либо узконаправленные — уже плыву. 
Микаелян Саро, там не сложный текст. Книга уникальная, но не очень известная. Написана практиками непосредственно для обучения (первоначально это были курсы болгарской конторы степик) Лучшая из того что мне попадалось по программированию. Это не Шилтд с его тоннами воды и нудными примерами, по сути полное пособие по самообразованию. Там есть все, чтобы выучить правильные азы программирования и шарп. Строго структурирована, главное есть упражнения на закрепление материала. Через шарп идут и сами основы программирования. Скиньте мне вашу почту в личку я Вам ее отправлю. Та же книга есть на болгарском, не знаю может вам так понятней будет.
Макеев Евгений, можете ISBN сюда кинуть? Или она не распространялась в книжных магазинах? =) просто интересно. Нечасто такой восторженный отзыв о книге можно услышать.
avatar

ch5oh

ch5oh, да конечно, вот книжка
Svethen Nakov, 2013
Fundamentals of computer programming with c#
ISBN 798-954-400-773-7
Бесплатная кстати лицензия
Макеев Евгений, ну, наверное, опытный программист или выпускник профильного факультета ВУЗа действительно может счесть эту книгу «легким развлекательным чтением». =)
avatar

ch5oh

ch5oh, дак в том то и дело, что это не развлекательное и не легкое чтение, а четко продуманная программа. Там трудиться нужно, зато и результат будет. Удобно, что все что нужно для начала есть в одном месте. А так в огромном количестве разноплановой литературы, можно погрязнуть и так ничего и не добиться. Тут все по полочкам разложено — бери и делай. Ну и самые основы на мой взгляд, очень грамотно обьясняются.
Зачем насиловать себя шарпом? Если задача делать рисерч рынка, а не написание софта, то берете питон плюс пандас и нампи, далее питоновские библиотеки по вкусу и моде. Машин Ленинг, нейросети и прочее
avatar

wrmngr

на сайте фриланса я заказал за 500р

переделать мою программу с бейсик на сишарп
и через день смог проверить результат

на доселе незнакомом мне языке
и думаю далее смогу программировать сам

причём чистовик программы только у меня
доделывал сам без помощника
Саро, я вот тут: https://smart-lab.ru/blog/522032.php разместил видео по программированию стратегий (сравнение кубиков и API). Там буквально всё разжевано. И т.к. ты кубики наверно, лучше всех знаешь — воспринять информацию по C# будет очень легко.
avatar

Дмитрий Власов

Дмитрий Власов, программировать стратегии лучше на кубиках. Если какого-то кубика не хватает — дописываем на сишарпе конкретно его.

 

С уважением.

avatar

ch5oh

ch5oh, Согласен, что это рабочий подход. Но зачем тогда кубики вообще нужны? Если предварительно прикинуть (как говориться на раз-два-три) — то кубики незаменимая вещь. А вот для рабочей стратегии — всё таки лучше стратегия написанная. Там и управление капиталом прикручивается и т.п. Но с Вами согласен в том, что  пусть каждый делает так, как ему удобнее.

Дмитрий Власов, например, чтобы не морочить себе голову с переписыванием стратегии с кубиков на АПИ. Зачем? Если страта годная — ее надо брать и торговать. При этом при «переписывании» возникнут дополнительные риски. Там ошибся, тут в индексах запутался, здесь вместо больше поставил «больше или равно». Потом бац! в скрипте сделки одни, переписанные на АПИ — другие.

 

А мани менеджмент… а какое Вы управление капиталом хотите? Портфель роботов заработал в течение недели — сайз увеличиваем всем пропорционально. Портфель слил — снижаем. Также всем пропорционально. Вы же не будете гадать на кофейной гуще какая страта завтра заработает, а какая сольет, чтобы им каждой свой индивидуальный сайз поставить на каждый следующий день?

 

А потом возникнет проблема рефакторинга. Пришла Вам в голову еще одна мысль. Вы ее в скрипте за 5 секунд накидали, связи между кубиками перекинули, тут же оттестировали и сравнили. Удачное изменение? тогда Вам надо лезть в исходники и тоже самое изменение делать в исходниках страты. А там цепочки вызовов вовсе не так весело отслеживать, как когда они в блок-схеме нарисованы.

avatar

ch5oh

ch5oh, Честно говоря, я на кубиках вообще никогда не делаю. Мне намного проще сразу кодировать. Там всё очень быстро происходит и ошибки практически исключены. То, что удобнее и понятнее в коде — можно сделать такой эксперимент. Если мне дать сложную стратегию, сделанную с помощью кубиков — я больше чем на день зависну, чтобы понять — в чём смысл стратегии. Если же мне дадут код на C# — я всё пойму буквально за 10 минут. При этом практически сразу же смогу протестировать, что-то подкрутить и т.п.
Дмитрий Власов, При этом я нисколько не программист. Знаю только ту часть C#, которая нужна для работы со стратегиями.

Дмитрий Власов, возможно, это Ваша личная особенность какая-то. Хорошо, что никто не будет заниматься такой проверкой.

 

Но смысла переписывать готовый алгоритм в виде блок-схемы на АПИ я так и не увидел. Либо в силу исторических причин Вы пишете сразу всю страту на шарпе, либо делаете блок-схему и с ней живете.

 

ПС И я, конечно, в курсе, что ТСЛаб и так генерит код стратегии на сишарп и его легко выдернуть при желании, если уже есть готовая блок-схема.

avatar

ch5oh

ch5oh, ну да, код программа генерит, но человеку такой код трудно читать. Уж очень этот сгенерированный код специфически-машинный. А торговые алгоритмы я используя «на запчасти». Т.е. разделяю их на торговые техники, создаю коллекцию этих  техник. И потом новые системы из них создаю. Поэтому, наверно, для моих целей удобнее всё-таки код. Кранить коллекцию из кубиков — проблематично и легче запутаться. Но ещё раз скажу,  что кому как удобно, тот таки и делает. Спорить тут смысла нет.

Дмитрий Власов, Вы просто храните сови личные кубики в виде фрагментов кода и потом компонуете. Только в Студии, а не через блок-схему.

 

Ладно, будем считать что мы обменялись мнениями и услышали друг друга. =)

avatar

ch5oh

Саро, специально для тебя откопал.

Джесс Либерти "Программирование на C#"

Скачать можно отсюда. Кстати, там же полно других книг по шарпу. Читай аннотацию, качай, смотри. Если «не заходит» — бери следующую.

avatar

ch5oh

Микаелян Саро, я бы вам порекомендовал комплексный подход, читать выше предложенные книги, смотреть видео курсы, например от ITVDN(есть разделения материала по уровням, материал очень качественный), читать метанит, ну и конечно же ковырять программы для алготорговли, например OsEngine или тот же TSLab. 
avatar

Андрей

Эндрю Стиллман Изучаем C#  книга+ параллельно ковыряться в коде изучая теорию
avatar

BRAZZERS

 на ютубе вбей с# для маленьких и тупых
avatar

BRAZZERS

Я учился вот здесь https://stocksharp.ru/, у них есть (а может был, не знаю, давно туда не заходил) базовый курс по самому языку и прикладной по роботам, плюс все необходимые связки, в свое время довольно успешно (успешно в плане работы алгоритмов, работали как часы) занимался парной торговлей роботами, которые написал сам на C#, мое мнение, что лучше сначала понять основу языка, а потом уже к роботам переходить. Обучение стоило денег, но я был готов платить за обучение. А дальше ставишь задачу и решаешь, в инетнете полно ресурсов по запросу решения конкретных задач.
avatar

Vitaliy83

если проект маленький, то проще взять с#  и все написать на обычном си через глобальные переменные… а сам си это 28 операторов
avatar

ves2010

ves2010, да любой язык по большому счету это переменные, методы, условные операторы и циклы и это можно понять за три урока, если знать какие уроки надо смотреть. А дальше начинаются пляски с компоновкой и архитектурой большой программы из этих методов и вот это как раз настоящие проблемы, которые и приходится решать программистам. А синтаксис очень многих языков похож.
avatar

SergeyEgorov

Надо действовать от простого к сложному.
1. Установить VisualStudio
2. Скачать какой нибудь пример скрипта отсюда http://forum.tslab.ru/ubb/ubbthreads.php?ubb=postlist&Board=25&page=1
3. Подключить к тслабу, поковырять и понять код.
Если надо писать что то сложнее, например подключаться к сторонним программам, парсить новостные данные, то надо уже поглубже покопать в C#.
Рекомендую: https://metanit.com/sharp/tutorial/
avatar

Андрей Возяков

Реклама
Консультирую по прикладным вопросам программирования на C#. Внятно, но дорого.

На простые вопросы отвечу бесплатно.
avatar

SergeyEgorov

SergeyEgorov, посоветуйте книжку по среде (Visual Studio или как там её). Язык и так понятен, а вот в среде разработки сам чорт мозги вывихнет. А то большинство книжек что я видел, почему-то начинаются с приложения командной строки, это 19-й век.
avatar

robomakerr

robomakerr, Официальная документация на русском языке
avatar

SergeyEgorov

C# Эндрю Троелсен
avatar

Фима

В языке есть направления, его полностью можно всю жизнь изучать. А так первый комент лучший.
avatar

Stasik

Вот ещё, кстати, гляньте. Для начала ничего не будет понятно — но это разрабатываемая платформа ML.net для машинного обучения на C#. Как раз всякие новости, мат модели и прочее. Но я пока сам не разбирался :)
blogs.msdn.microsoft.com/dotnet/2019/02/07/announcing-ml-net-0-10-machine-learning-for-net/?utm_source=vs_developer_news&utm_medium=referral
avatar

shprots

Запрогайте кросс двух машек, на c# на wld. Начнете разбираться. Когда стоит задача, то все намного проще.
avatar

robot_bsk


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
UPDONW