Ось уже півтора року пройшло з тих пір, як я почав писати роботів на бібліотеці Stock Sharp. Мій блогерський борг кличе. Вимагає від мене взятися за ручку. І сьогодні відмінний день щоб почати про це писати! Почнемо ми здалеку, гуманітарно - філософськи, а закінчувати будемо оглядом проблем бібліотеки S # .Api, хардкорно - хаскерскі.
Ми поговоримо про програмування в цілому і його складнощі, програмуванні роботів взагалі, місці Stock Sharp в цьому у всьому. Поговоримо про тих знаннях які потрібні для освоєння цієї технології і про проблеми, які тут мають місце.
Я олдскульний програміст і орієнтуюся на StockSharp Api. Звичайно ж, ми торкнемося найрізноманітніші аспекти цієї платформи, але основний упор буде на ній. Прошу вибачення у тих, хто думав знайти тут інструкції з перенесення кубиків в S # .Designer. Ви тут цього не знайдете.
Тим часом, це не просто якийсь там огляд. Це Гайди по Stock Sharp. Ваш путівник по цьому химерному і небезпечного світу. Щось мені підказує, що він не застаріє і через п'ять років.
Корисний він всім хто коли-небудь хотів, захоче або прямо зараз вивчає цей самий Stock Sharp.
1. Про програмістів і їх житлах;
2. Хто такий програміст StockSharp
3. Про платформі СтокШарп. Що в неї входить;
4. Про способи створення роботів;
5. З чого почати вивчаючи Stock Sharp Api;
6. Так що зі стабільністю?
Перші кілька глав будуть з демотиватори. Прошу не дивуватися. Прекрасно розумію, що так не роблять, але ж і питання не просте. Повірте, я просто намагаюся бути з Вами чесними. СтокШарп - це не для всіх.
У мене в скайпі безліч початківців програмістів. Коли мені пишуть люди в скайп, я намагаюся з усіма поспілкуватися і з деякими у мене дуже хороші стосунки. Так ось, точно не пам'ятаю, але п'ять або навіть сім чоловік мені зізналися, що купили курси навчання у СтокШарп. І тепер ніхто з них не може створювати програми на цьому самому StockSharp. І це не з проста. Тому перші три глави я спробую Вас відрадити від вивчення цієї технології.
Кожен програміст може почати працювати зі StockSharp. Для цього потрібно лише трохи часу і сил. Потрібно лише бути програмістом, причому не важливо який предметної області. Треба "бути" программітом. Пройти через навчання цьому ремеслу, розуміти що таке дебаггінг і що таке зворотна сумісність. Писати можна на будь-якій мові. На Сі ++, Делфі, HTML або VBA.
Загалом, якщо Ви коли-небудь писали на якомусь з мов програмування, відмінно! Ви обов'язково розберетеся зі СтокШарп і впораєтеся зі StockSharp Api.
Але, якщо Ви ще не програміст, то Вам доведеться їм стати, якщо Ви хочете писати на StockSharp. Я маю на увазі не те що Вам доведеться йти вчиться кудись в інститут або довести свої знання до рівня впевненого фахівця, якому за кодинг будуть платити. Ні. Але Вам доведеться пройти тест на сумісність з професією. Стати стрессаустойчівим і допитливим. Людиною, який готовий розбиратися з проблемою дві доби, і не занудьгувати ні разу. Ви повинні володіти повним набором якостей справжнього програміста. Це єдиний шлях.
Це як з професією лісоруба, хірурга або рятувальника. Потрібно розуміти, чи готовий ти на це чи ні. І коли вирішив - робити до кінця. На вивчення цих професій потрібен час. Дуже багато. Так само як на вивчення StockSharp. І також, як у вивченні СтокШарп, тобі потрібно володіти набором деяких базових якостей.
В цьому розділі подивимося на якості людини, який вже пише на СтокШарп. Я це не з себе пишу, це звичайні якості будь-якого програміста. Ну про це вже писав.
Якість перша: Любов доводити справи до кінця.
Будь-який програміст повинен бути таким. І програміст торгових роботів, вже якщо ви їм хочете стати.
У моїй практиці, на початку своєї кар'єри програміста, я часто стикався з думкою, що хочу кинути цю справу і піти на завод. Тепер я розумію що саме в такі моменти з'ясовується хто ти, програміст або слюсар (нічого не маю проти слюсарів, так до слова).
Коли Ви будете розбиратися зі Stock Sharp Api, такі ситуації будуть виникати постійно. Трохи нижче я поясню чому це відбувається, а поки треба приміряти це на себе.
Наведу лише один приклад. Як то я робив замовлення, і там в боті одночасно використовувалося два типи заявок: Ліміт і СтопЛіміт. Вони обробляються різними методами на вході і виході. Взявши свіжу версію СтокШарп Апі я зібрав програму. Після чого з'ясувалося що стопЗаявкі не працюють. Це було при готовності проекту 80%.
Оскільки StockSharp, Ліба закрита, мені не залишалося нічого іншого як завантажити старішу версію. Дуже швидко з'ясувалося що мій код майже повністю несумісний (там якраз змінювали спосіб створення індикаторів і ще щось з чартом). Я переписав код. Це ще пара днів. І після запуску з'ясувалося що індикатори працюють не вірно. Ніяк не промальовувалися і чарт постійно падає з помилкою.
Я взяв версію ще більш ранню. В цей час клієнт мене підганяв і нервував. Потрібно було здавати проект, а я не міг знайти стабільну Stock Sharp Api версію! І я його здав. Через два дні, в черговий раз переписавши МТС під іншу збірку S.Api вдалося таки запустити програму. До чого це я?
Якість друге: Терпіння
Дуже подобатися визначення з Вікіпедії.
Терпіння - чеснота, спокійне перенесення болю, біди, скорботи, нещастя в особистому житті.
Це якість схоже на перше. Просто робити справу незважаючи на жодні перешкоди.
Stock Sharp (S #) - це проект надає повний цикл програм для алготрейдінга. Принаймні, саме так вони позиціонуються. Це цілий набір різних програм, які можуть Вам знадобитися для алго торгівлі. Код цих програм закритий. Ліцензії заборонні, необхідно купувати. Навчання платне. Є закриті частини форуму.
Крім програм стокШарп це: сайт, форуми, магазин, колективний блог.
Раніше ця програма мала назву S # .Studio і вона перебувала в стадії бета тестів протягом здається трьох років. Коли кожен програміст спробував її використовувати і публічно сматірілся, було прийнято рішення про зміну назви її в S # .Desingner і перезапустити тести.
Загалом, доля конкретно цієї програми викликає питання.
Слід зазначити зайву складність програми і не очевидність багатьох рішень.
Бібліотека для написання МТС. Саме про неї ми поговоримо докладніше нижче. Поки в загальних словах.
StockSharp Api це бібліотека надає оточення для створення ботів для трейдингу. З yoе допомогою можна тестувати торгові алгоритми на свічкових даних, тикових і ордер балці. Торгувати на декількох майданчиках світу, через кілька десятків способів підключення до бірж.
Проблеми (поки коротко) СтокШарп Апі, за ступенем важливості:
1) Відкрито тільки інтерфейси високого рівня. Решта код, а це близько 90% - знаходяться в закритих dll.
2 Стабільність. Можуть не працювати базові функції доступу на біржу.
3) Зворотна сумісність відсутня.