Перейти к содержимому


Фотография

Специализированный курс программирования WLD


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 20

#1 Николай Степенко

Николай Степенко

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 9 440 сообщений
  • Пол:Мужчина
  • Город:Холон
  • Интересы:трейдинг, биржа, обучение трейдингу, технический анализ, фундаментальный анализ, велосипед, море, путешествия

Отправлено 12 Ноябрь 2008 - 18:02

Завершено создание Специализированного консультационного плана по обучению работе с аналитической программой Wealth-Lab Developer (версии 3.0 и 4.0). Консультационный план разработан профессиональным программистом и трейдером Романом Таткиным, успешно прошедшим консультирование по Универсальному плану в 2006 году. В данный момент, план состоит из шести консультаций, на освоение материала которых требуется порядка одного – двух месяцев, в зависимости от начальной подготовки и скорости работы консультируемого. Материал Специализированного консультационного плана по Wealth-Lab Developer не является простым переводом официальной документации с разбором тривиальных примеров, но представляет собой квинтэссенцию практических методов работы с аналитической программой, реально применяющихся при инвестировании. Вместе с курсом поставляется готовый программный пакет для тестирования Механических Торговых Систем, состоящий из модулей на языке WealthScript (ядро пакета) и высокоскоростного Add-In модуля, реализованного на C++. Данный пакет позволяет существенно расширить возможности, предоставляемые Wealth-Lab Developer по умолчанию.

#2 Рыночный механик

Рыночный механик

    Активный участник

  • Пользователи
  • PipPipPip
  • 101 сообщений
  • Пол:Мужчина

Отправлено 14 Декабрь 2008 - 21:13

А отдельный уроки можно получить?

#3 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 15 Декабрь 2008 - 15:50

А отдельный уроки можно получить?


Абстрактный ответ - можно, поскольку курс номинально не монолитен и состоит из фрагментов-уроков.
Но на практике, появится много вопросов, относящихся к урокам, которые своими названиями показались ненужными. Курс по WLD, по своему масштабу, существенно меньше курсов Николая, поэтому делится он на обособленные куски материала сложнее.

Кроме того, например, вместе с пятым и шестым уроками поставляется готовый исходный код-шаблон (достаточно масштабный и сложный) для тестирования, в который можно вставлять свои стратегии, и который не распространяется отдельно от курса. Прорабатывая полный курс, консультируемый постепенно получает знания, достаточные для того, чтобы этот код понимать и менять под себя, получение же самого готового кода, на мой взгляд, составляет едва ли не половину ценности всего курса (как с точки зрения чистой функциональности, так и в силу экономии времени). Сложность тут в том, что без кода финальные уроки 5 и 6 имеют мало смысла, а поставка этого кода с дисконтом в связи с заказом неполного курса едва ли методически и экономически оправдана - в случае пробелов в знаниях, с ним будет весьма непросто разобраться, а ответы на вопросы в стиле "это разбиралось в том уроке, что вы не заказали", не доставят удовльствия ни отвечающему, ни вопрошающему; в случае же достаточной начальной подготовки для самостоятельного изучения кодов, встаёт вопрос их объективной стоимости, особенно принимая во внимание то, что распространение кодов отдельно от курса и не планируется.

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

Когда в курсе 50 консультаций - вопрос деления на нужные и ненужные темы решается существенно проще, да и то некоторые блоки материала раздробить не удаётся. Когда в курсе всего 6 консультаций, целесообразность и полезность дробления становится тем более сомнительной.

#4 Рыночный механик

Рыночный механик

    Активный участник

  • Пользователи
  • PipPipPip
  • 101 сообщений
  • Пол:Мужчина

Отправлено 15 Декабрь 2008 - 22:30

Заинтриговали. А подробнее можно узнать об этом коде? Что он дает конкретно? А по окончании курса будут ли консультации?

#5 Kerl

Kerl

    Новичок

  • Пользователи
  • Pip
  • 8 сообщений
  • Пол:Мужчина
  • Город:Ижевск

Отправлено 16 Декабрь 2008 - 00:43

Я так понял, что желающий обучиться должен обладать навыками программирования на паскале, чтоб понять ваш курс. Правильно?

#6 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 16 Декабрь 2008 - 00:46

Заинтриговали. А подробнее можно узнать об этом коде? Что он дает конкретно?
А по окончании курса будут ли консультации?


Код - не есть торговая система, это обрамление, в которое можно системы вставлять. Разработано оно, в своё время, для личных нужд, тестировалось и применялось на торговле дневок (интрадэй я не торгую вообще), но может быть адаптировано и для интрадэя. Вкратце, обрамление это может следующее:

1. Симулировать торговлю как на одном инструменте, так и на портфеле (переключение режима работы осуществялется прямо в коде)
2. Задавать начальный капитал и реализовывать money management прямо в коде chart script, есть возможность
указывать плечо с подсчётом комиссии за перенос займа на следующий торговый день
3. Подсчитывать линии капитала (в деньгах) и просадок (в процентах), отображая их прямо под графиком цен
4. В виде гистограммы выводить график использования капитала в процентах (на сколько процентов от максимально доступной суммы система в позиции в данный момент)
5. Автоматически вести подсчёт CAGR и соотношения CAGR/MaxDD
6. Выводить полезную служебную информацию прямо на график

Я прикрепил скриншот из WLD, на котором показана симуляция некоторой примитивной системы на портфеле из трёх инструментов.
На базе этого кода каждый может реализовать именно то, что нужно ему. В том случае, если трейдер по совместительству является и программистом, то курс скорее всего не для него (поскольку потенциальных навыков для разработки своего инструментария и него достаточно). Однако, большинстов людей таковыми не являются, и в этом случае функциональность кода, поставляемого вместе с курсом, может быть весьма полезной.

Прикрепленные файлы

  • Прикрепленный файл  Screen.zip   34,12К   208 Количество загрузок:


#7 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 16 Декабрь 2008 - 00:56

Я так понял, что желающий обучиться должен обладать навыками программирования на паскале, чтоб понять ваш курс. Правильно?


Нет.
Если человек вообще не имеет понятия о программировании как таковом да ещё и является по складу ума чистым гуманитарием - то помочь я наверное не смогу. Однако, если до WLD имеется опыт работы с чем-то ещё (например - метасток с его языковыми конструкциями, вообще, хоть какой-то программный пакет, в котором компьютеру нужно указывать, что и как делать (даже эксель, если есть опыт работы с его макрокомандами)), то начальная почва уже считается достаточной. Перед тем, как приступить к материалу, связанному с торговлей, работа ведётся на тему программирования на Паскалеподобном языке WealthScript вообще.

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

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

#8 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 16 Декабрь 2008 - 01:03

Заинтриговали. А подробнее можно узнать об этом коде? Что он дает конкретно?
А по окончании курса будут ли консультации?


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

Ценность продукта в исходных кодах как раз в том, что пользователь может изменять его так, как потребуется. Это не наглухо запечатанный чёрный ящик. Изменить или улучшить уже работающее решение куда проще и быстрее, чем пытаться построить его с нуля.

#9 Рыночный механик

Рыночный механик

    Активный участник

  • Пользователи
  • PipPipPip
  • 101 сообщений
  • Пол:Мужчина

Отправлено 16 Декабрь 2008 - 20:31

Мне так и получается что нужны только 5 и 6 темы. Небольшую базу в программировании я имею. Но из за Вашего кода я конечно подумаю. Сократить кучу времени.

#10 Рыночный механик

Рыночный механик

    Активный участник

  • Пользователи
  • PipPipPip
  • 101 сообщений
  • Пол:Мужчина

Отправлено 16 Декабрь 2008 - 20:35

И еще планируется ли переход кода и курса на пятую платформу WLD с его си шарпом?

#11 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 16 Декабрь 2008 - 21:16

И еще планируется ли переход кода и курса на пятую платформу WLD с его си шарпом?


Пока что с пятой версией можно констатировать следующее:

1. Весьма неприятная ценовая политика (799 долларов сразу + по 150 долларов в год за то, чтобы программа продолжала работать). Фактически, последней надёжной версией WLD, которую можно ... ээ ... "достать", является 3.0 build 21B. Уже начиная с четвёртой версии система защиты программы была изменена, в природе нет "бесплатной" версии четвёрки, которая бы гарантированно корректно работала. О пятой версии с её ежегодным лицензированием я вообще не упоминаю (правда, умельцы научились продлять срок trial для пятёрки до бесконечности - но я не думаю, что эта дыра будет вечной).

2. Имеющиеся пятые версии являются по сути своей полуфабрикатами. Пятый WLD пока что не позволяет управлять размером позиции из кода скрипта, в нём нет оптимизации, он вообще сырой почти во всём.

3. Переход на C# - не более, чем фигура речи. Язык другой, трудности с переходом на него имеются (как ни крути, это язык с объектно-ориентированной моделью программирования, которую как таковую надо изучать), но для чего эта кутерьма затеяна - непонятно. Проблема в том, что пятый WLD, по отзывам, НЕ стал быстрее предыдущих (если не замедлился). Основная проблема WLD - это скорость работы. Но если пятёрка не стала быстрее, при этом став сильно дороже, да ещё кардинально поменяв язык - становится искренне непонятно, зачем она нужна, если на трёшке можно сделать абсолютно всё, что нужно.

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

#12 Kerl

Kerl

    Новичок

  • Пользователи
  • Pip
  • 8 сообщений
  • Пол:Мужчина
  • Город:Ижевск

Отправлено 17 Декабрь 2008 - 00:59

Роман, вы работаете с 3 или 4 версией? И есть ли там принципиальные различия в языке программирования?

#13 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 17 Декабрь 2008 - 01:56

Роман, вы работаете с 3 или 4 версией? И есть ли там принципиальные различия в языке программирования?


Как я уже сказал - 3.0 build 21b. Рабочая лошадь, от четвёрки не отличается почти ничем (в третьей версии нет скринера - но я не пользуюсь ни скринером, ни симулятором (в условиях российского рынка с 7-8 фишками в этом просто нет необходимости)), вообще не пишу SimuScripts, всю функциональность загоняю в код самого ChartScript).

Разницы в языке программирования почти нет (или она такова, что я до сих пор не сталкивался с этим на практике, вообще же, если не изменяет память, в четвёрку добавили пару функций, который ни на что принципиально не влияют). 4 - это всего лишь слабое развитие трёшки, не более того.

#14 Maxx

Maxx

    Активный участник

  • Пользователи
  • PipPipPip
  • 60 сообщений

Отправлено 19 Декабрь 2008 - 00:04

4 - это всего лишь слабое развитие трёшки, не более того.


Роман, позволю себе не согласиться.
Внешне они действительно почти не отличаются, но внутри в четверке полностью заменен блок работы с оперативной памятью.
Это существенно повышает надежность.
Трешка у меня периодически валилась с ошибками обращения к блокам памяти.
В четвертой версии этой проблемы нет (у меня круглосуточно крутится на сервере и все ок).

#15 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 Декабрь 2008 - 01:50

Роман, позволю себе не согласиться.
Внешне они действительно почти не отличаются, но внутри в четверке полностью заменен блок работы с оперативной памятью.
Это существенно повышает надежность.
Трешка у меня периодически валилась с ошибками обращения к блокам памяти.
В четвертой версии этой проблемы нет (у меня круглосуточно крутится на сервере и все ок).


Под "не отличаются" имелась в виду именно функциональная насыщенность, четвёрка не умеет чего-то принципиально большего, чем тройка, и она не быстрее. Менеджер памяти был переработан, это верно, и если WLD используется как база для торгового робота, то это важно (хотя, я бы делал робота на омеге, она действительно надёжна, хотя и гораздо менее удобна). При offline работе, у меня получалось валить 3.0 build 21b либо в процессе отладки, либо при подключении внешних COM объектов, в остальном - работало на привычном уровне.

О причинах недоверия к четвёрке я ответил в другой ветке.

#16 eugene

eugene

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 19 Декабрь 2008 - 03:07

Пока что с пятой версией можно констатировать следующее:

1. Весьма неприятная ценовая политика (799 долларов сразу + по 150 долларов в год за то, чтобы программа продолжала работать). Фактически, последней надёжной версией WLD, которую можно ... ээ ... "достать", является 3.0 build 21B. Уже начиная с четвёртой версии система защиты программы была изменена, в природе нет "бесплатной" версии четвёрки, которая бы гарантированно корректно работала. О пятой версии с её ежегодным лицензированием я вообще не упоминаю (правда, умельцы научились продлять срок trial для пятёрки до бесконечности - но я не думаю, что эта дыра будет вечной).

Вопрос не совсем по теме - не сочтите за антирекламу курсов, но чем тогда WLD привлекателен, если для работы пригодны в основном старые версии, как будут развиваться новые - неизвестно, со скоростью у него проблемы и т.д.? Есть же например Amibroker, у которого тоже гибкий собственный язык, он активно развивается, новые версии вроде бы лучше старых, скорость работы очень хорошая...

#17 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 Декабрь 2008 - 15:10

Вопрос не совсем по теме - не сочтите за антирекламу курсов, но чем тогда WLD привлекателен, если для работы пригодны в основном старые версии, как будут развиваться новые - неизвестно, со скоростью у него проблемы и т.д.? Есть же например Amibroker, у которого тоже гибкий собственный язык, он активно развивается, новые версии вроде бы лучше старых, скорость работы очень хорошая...


Я не работал с Amibroker, однако, по вашей наводке, ознакомился с ним по докам и форумам. Пока складывается впечатление, что принципы его построения (идеи и концепции) во многом схожи с принципами WLD, даже термины и названия похожи. WLD, по сути, явился первым серьёзным инструментом, который позволял с помощью команд в коде сделать всё, что может потребоваться трейдеру (в особенности работу с портфелями), при этом не изобретая костылей и надстроек (как, например, для омеги). Насколько я вижу из исходного кода систем для AMI, его язык представляет собой странную смесь синтаксиса C и макрокоманд в стиле метастока, WLD в этом плане куда более упорядочен и последователен (однако, если язык AMI позволяет делать всё тоже самое, что язык WLD, то это вряд ли может стать камнем преткновения). Сравнить эти два продукта объективно я сейчас не возьмусь, поверхностное же изучение предмета не вселило в меня осознания превосходства или существенно большего удобства AMI по сравнений с WLD ни с трейдерской, ни с программистской точки зрения (с программистской позиции очки даже не в пользу AMI).

Протестировать быстродействие AMI в сравнении с WLD я так же не могу - для этого его надо поставить и с ним разобраться, однако, мне думается, что существенной разницы с WLD у AMI нет, поскольку принцип их работы один и тот же, обрабатывается исходный код интерпретатором, который медленен по своей сути. Под проблемами со скоростью понимается тот факт, что масштабная система, написанная под WLD и тестируемая на портфеле инструментов будет работать заметно медленнее, чем стандартный набор IFF и REF метастока, при этом тестируемый на одном тикере. Хочется быстрее - но при этом понимается, почему стало медленнее.

Сама постановка вопроса в форме "почему учите WLD, если есть, например, AMI" несколько странная :-) У меня есть опыт работы с WLD и свои наработки, которыми я готов поделиться. Использование WLD в повседневной жизни показывает, что продукт чего-то стоит. Логично предположить, что помогать в изучении какого-либо предмета можно тогда, когда в предмете разбираешься. В WLD я разбираюсь и считаю затраты времени и сил на его изучение стоящими, с AMI я не работал, поэтому обучать AMI не собираюсь. Проблема выбора чего угодно из набора вариантов всегда сопряжена с проблемой отказа (или, как минимум, отсрочки) от прочих вариантов. Таким образом, даже если бы AMI стал объективным эталоном в мире трейдерского софта, курсов по нему в моём испольнении не появилось бы до той поры, пока не образовалась бы (если бы образовалась вообще) необходимая масса опыта и знаний по предмету, которая могла бы стать полезной для окружающих.

У WLD сейчас есть неприятная проблема с версиями, связанная со сменой языка с Паскаля на C#, причём пятую версию с C# пока трудно назвать боевой - это лишь тестовая версия, полуфабрикат. Это, во-первых, означает, что актуальность 3 и 4 версий с точки зрения возможностей ничуть не снизилась. Во-вторых, я, будучи профессиональным разработчиком и зная, среди прочего, Паскаль, C/C++ и C#, могу утверждать, что человек, изучивший полноценный структурный язык (каковым является Паскаль, используемый в WLD), сможет в будущем (при необходимости) легко перейти на любую другую платформу, включая AMI и (при некоторой дополнительной подготовке) WLD версии 5.xx с его объектно-ориентированным C#. С переходом с AMI я не был бы так уверен. Ещё более затруднительным выглядит вариант первоначального изучения WLD версии 5.xx с ровного места - если честно, я с трудом представляю, как человека без предварительной подготовки можно учить C#. В силу вышеизложенного, мне думается, что для человека, решившего всерьёз заниматься трейдингом, причём трейдингом формализованным, лучшего фундамента, чем WLD с его полноценным Паскалем, пока что не найти. Однако, я ещё раз оговорюсь, что это моё личное мнение.

#18 eugene

eugene

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 19 Декабрь 2008 - 20:21

Протестировать быстродействие AMI в сравнении с WLD я так же не могу - для этого его надо поставить и с ним разобраться, однако, мне думается, что существенной разницы с WLD у AMI нет, поскольку принцип их работы один и тот же, обрабатывается исходный код интерпретатором, который медленен по своей сути. Под проблемами со скоростью понимается тот факт, что масштабная система, написанная под WLD и тестируемая на портфеле инструментов будет работать заметно медленнее, чем стандартный набор IFF и REF метастока, при этом тестируемый на одном тикере. Хочется быстрее - но при этом понимается, почему стало медленнее.

Спасибо за такой развернутый ответ! Не соглашусь лишь с этим пунктом - у них разный принцип работы, интерпретатор WLD производит операции пошагово на каждом баре, а Амиброкер оперирует массивами, то есть у него по умолчанию один проход по коду скрипта, а массовые операции над данными выполняются с максимально возможной скоростью, то есть самое узкое место предельно оптимизировано (его автор реализацию работы индикаторов и т.п. операций над массивами уже в виде ассемблерного кода оптимизирует до последнего такта). Скорость различается раз в 20 по тестам и по моим субъективным ощущениям (я пользуюсь и тем, и другим, WLD именно потому что он несколько проще в программировании). Другой вопрос, конечно - насколько так уж важна эта скорость и не вгоняет ли она в опасный соблазн всяких переподгонок.

#19 Роман Таткин

Роман Таткин

    Участник

  • Пользователи
  • PipPip
  • 29 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 Декабрь 2008 - 21:20

Спасибо за такой развернутый ответ! Не соглашусь лишь с этим пунктом - у них разный принцип работы, интерпретатор WLD производит операции пошагово на каждом баре, а Амиброкер оперирует массивами, то есть у него по умолчанию один проход по коду скрипта, а массовые операции над данными выполняются с максимально возможной скоростью, то есть самое узкое место предельно оптимизировано (его автор реализацию работы индикаторов и т.п. операций над массивами уже в виде ассемблерного кода оптимизирует до последнего такта). Скорость различается раз в 20 по тестам и по моим субъективным ощущениям (я пользуюсь и тем, и другим, WLD именно потому что он несколько проще в программировании). Другой вопрос, конечно - насколько так уж важна эта скорость и не вгоняет ли она в опасный соблазн всяких переподгонок.


Это интересная информация, я не смог её обнаружить при поверхностном рассмотрении AMI. Как у всякой медали, у этой тоже есть две стороны, и вы очень верно это отметили: в плюсах скорость, в минусах - программирование с другой степенью абстракции и с оговорками, а так же возможность неверно использовать скорость.

Насколько важно ускорение в 20 раз - вопрос сложный. Если скрипт на WLD работает секунду, а на AMI 1/20 секунды - это не важно, пока речь не заходит об оптимизации. Если обычный комфортный временной горизонт для оптимизации на WLD составляет час (например), а с AMI - 3 минуты, то это важно. Но искусство оптимизации вообще является отдельной темой, для человека неискушённого, возможность загнать в 20 раз более обширную область поиска для оптимизации является не пользой, а огромным вредом (причина вами обозначена крайне точно - переподгонка). Курс по WLD создан как раз для людей с минимальным уровнем программистско-технической подготовки.

Таким образом, я снова озвучу мнение о том, что начинать вникать в серьёзные системы лучше именно с WLD, в силу академичности и логичности его языка. Поняв, как программировать WLD, человек получает базу, позволяющую работать с системами другого уровня абстракции.

#20 Andersan

Andersan

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений

Отправлено 08 Ноябрь 2014 - 12:14

Протестировать быстродействие AMI в сравнении с WLD я так же не могу - для этого его надо поставить и с ним разобраться, однако, мне думается, что существенной разницы с WLD у AMI нет, поскольку принцип их работы один и тот же, обрабатывается исходный код интерпретатором, который медленен по своей сути. Под проблемами со скоростью понимается тот факт, что масштабная система, написанная под WLD и тестируемая на портфеле инструментов будет работать заметно медленнее, чем стандартный набор IFF и REF метастока, при этом тестируемый на одном тикере. Хочется быстрее - но при этом понимается, почему стало медленнее.






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных