Амадей_МФ
Амадей_МФ личный блог
15 декабря 2012, 15:22

Как не надо учиться писать роботов в ВЕЗЛ ЛАБЕ

Чтобы написать своего первого робота в ВЕЛЗ-ЛАБЕ достаточно одного дня, Но каждый имеет право портить себе жизнь как хочет !



Как не надо учиться писать роботов в ВЕЗЛ ЛАБЕ
 
Вообще, если честно, складывается впечатление что от народа специально скрывают как на-учиться писать роботов в ВЕЛЗ-ЛАБЕ, а наоборот хотят запутать. Для этого посылают на х.. учить С#
 
При том что для написания роботов он вообще не нужен, а достаточно школьных знаний.
 
 И все кто решит «вначале я досконально изучу C#» и зациклятся на этом — безнадёжно потеряны, потому что, чтобы досконально изучить язык программирования надо минимум несколько лет, хотя бы два года изучения + работы. Это как учить английский.  
 
А теперь секретная информация как СУПЕР-ЭФФЕКТИВНО научиться писать роботов :)
 
1. изучаем 10 страниц текста в хелпе-велзлаба. Help -> WealthScript QuickRef   (это займет 4-5 часов)
 
2. выборочно читаем-просматирваем Wealth-Script Programming Guide (HELP ->  Wealth-Script Programming Guide ) (2-3 часа) 
 
3. учимся писать скрипты у ВЕЛЗ-ЛАБОВСКОГО генератора скриптов. Этот генератор из заданных правил на основе выбранных сигналов индикаторов генерирует скрипты. Т.е. сначала генерируем похожего робота с помощью генератора ВЕЛЗ-ЛАБА а потом открываем его код и учимся как это делать быстро, правильно и эффективно.
 
(это займет еще пару часов)
 
Всё.
34 Комментария
  • Sergey F
    15 декабря 2012, 15:32
    со всем согласен. +
    • Евгений
      15 декабря 2012, 20:40
      Тунеядец, слишком однобокое суждение. Достаточно оторваться от небес, и спуститься на землю (увидев результаты аспиранта и ЮТ), чтобы понять — знания языка программирования (в т.ч. C#) must have
  • esl А.И.
    15 декабря 2012, 15:45
    Спасибо!
  • А. Г.
    15 декабря 2012, 15:58
    Смотря какие стратегии писать. Мои стратегии в WLB вообще писать гемморойно из-за «технологии» DataSeries. Также трудно там запрограммировать стратегии с «крестиками-ноликами» с переменным выбором «шага» (по волатильности). А тестирование на минутных данных с 2008-го года вообще вырубает комп на сутки.
      • А. Г.
        15 декабря 2012, 16:15
        Амадей_МФ,

        Да ничего особенного. Неужели трудно вычислить несколько несложных функции, начиная с некоторой точки в прошлом и решить: новая точка — это новое начало отсчета этих функций или нет?

        Вот в технологии DataSeries этот алгоритм не реализуем в принципе, а на любом языке — это элементарно.
        • StockChart.ru
          15 декабря 2012, 16:31
          А. Г., некоторые алгоритмы довольно сложно реализовать на нестандартных языках. Например, возился дня 2, что бы реализовать фрактальный барометер, т.к. алгоритм работает с понятиями прошлый/предыдущий, а SQL ориентирован на множества
          • А. Г.
            15 декабря 2012, 16:44
            RuTicker.com,

            Во-во, именно это я и говорил про Wealth-Script — это пример нестандартного языка, основными операциями в котором являются поэлементные операции с DataSeries. А далеко не каждый алгоритм можно описать в этих операциях и я не удивлен, что Вам потребовалось два дня, чтобы совместить алгоритм фрактального барометра, с нестандартным языком SQL.

            Лично мне знающие люди тоже за неделю реализовали итерактивный алгоритм, описанный выше, на Wealth-Script. Но когда он при тестировании вырубил машину на 5 часов (при том, что на обычном C# работал минуты 2), а код на 30% состоял из функций, не описанных в helpe, я понял, что мне бесполезно этим заниматься.
            • StockChart.ru
              15 декабря 2012, 16:48
              А. Г., ну вообще то это типичная диллема инструментов высокого/низкого уровня.
              Мой опыт подсказывает, что не стоит даже тратить время на инструмент, который за 5 минут позволяет написать стратегию «привет, мир!». Это значит, что шаг влево — шаг вправо — либо не работает, либо работает раз этак в 700 медленней
            • A2
              15 декабря 2012, 16:55
              А. Г., насколько я знаю wealth-sript уже давно не используется WL, кажется от него отказались еще в 5 версии, те года 3 как.
              Сейчас основной язык C#, даже стратегии, которые вы делаете в конструкторе транслируются в код. Вы можете привести пример функции, которую у вас не получилось реализовать за 5-10 минут?
              • А. Г.
                15 декабря 2012, 17:04
                at60hz,

                Там специфический С#, работающий с массивами. А алгоритм, который не реализуется в нем за 10 минут: простой нарисовать «крестики-нолики», у которых следующий «крестик» или «нолик» рисуется по k*волатильность минуток, прошедших за период рисования предыдущего «крестика» или «нолика».
                • A2
                  15 декабря 2012, 17:14
                  А. Г., честно говоря не вижу проблем, и специфичности никакой не вижу. Проходите про TimeSeries поэлементно, собираете данные, вычисляете волу за период, пока не готовы отрисовать новый блок (крестик/нолик), рисуете, собираете данные дальше. Может быть я чего-то не понял в сути задачи, но проблемы не вижу. В любом случае, в реальности, если писать робота на любой платформе, на любом языке вы будете работать с тем же временным рядом, который сами будете собирать из сделок на лету.
                  • А. Г.
                    15 декабря 2012, 22:01
                    at60hz,

                    Угу, первое с чем у меня был «затык» — это код, который мне дал специалист, выбора элементов из TimeSeries в конечный массив. Там я ничего не понял из-за использования функций, не описанных в хелпе. Ну и про время работы я уже писал.
                    • Антон Кротов
                      15 декабря 2012, 23:06
                      А. Г., хелп по функциям в велсе очень скудный. Там и его собственные функции описаны довольно поверхностно, а описания функций C# там вообще нет. Но это не значит, что он их не поддерживает.
                      • А. Г.
                        16 декабря 2012, 03:00
                        Антон Кротов,

                        В том то и дело, что описания этих функций нет и в справочнике микрософта по С#, но, правда, они есть в бумажном англоязычном руководстве по скриптам WLD 6.
                • Антон Кротов
                  15 декабря 2012, 17:16
                  А. Г., да не, обычный C#. Просто для классов DataSeries есть перегруженные операторы сложения, умножение, сдвига и пр. Так что реализация рисования крестиков и ноликов сопоставима с обычным C#, а учитывая спец. функции для рисования в координатах цена-бар, наверное, даже быстрее.
                  • А. Г.
                    15 декабря 2012, 22:03
                    Антон Кротов,

                    Тут не простые «крестики-нолики», а динамические и со специфическим расчетом.
                    • Антон Кротов
                      15 декабря 2012, 23:04
                      А. Г., это, как говорил Мюллер, вопрос технологии, а не принципа. Есть возможность поэлементного обращения к массивам (оупенов, клоузов и пр.), так что можно вычислить волатильность в любой точке с любыми параметрами.

                      Другое дело, что оформить это в виде обычного индикатора посредством операций над массивами (над DataSeries'ами) может и не получится (хотя, не факт). Но C# в велсе — это обычный C#, который позволяет создать свой массив, заполнив его своими элементами и вывести его на экран в предпочтительном для себя виде (хоть в виде крестиков, хоть в виде снежинок). Wealth всего лишь предоставляет небольшую надстройку в виде библиотеки с классами и функциями.
                      • А. Г.
                        16 декабря 2012, 03:09
                        Антон Кротов,

                        Да все, что Вы описали, можно, но на порядок проще и главное с более высоким быстродействием реализуется в связке C# (а можно и C++, delfi или piton и даже обычный VBA)+база рыночных данных. И смыcла в программировании таких стратегий в WLD никакого нет. Один гемморой и потеря времени.

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

                        Мы даже столкнулись с тем, что часть запаянных в WLD индикаторов не совпадает с результатами их расчета вне WLD по формулам, которые приведены в руководстве. В-частности, индикатор Frama.
                        • Антон Кротов
                          16 декабря 2012, 03:22
                          А. Г., насчет «проще», наверное, зависит от подготовленности программиста. Без велса так или иначе придется реализовывать какие-то базовые функции, какой-то интерфейс и т.п., которые в велсе уже реализованы (если, конечно, не работаем «в лоб»). Насчет быстродействия — согласен (сам сейчас сделал себе велслаб-подобную оболочку, делающую вычисления в 60 раз быстрее).

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

                          Насчет несоответствия индикаторов тоже согласен. Нарвался на стохастике. Ну, а где нет багов? :)
                          • А. Г.
                            16 декабря 2012, 12:12
                            Антон Кротов,

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

                            А говорил я в этой теме только о том, что если для стратегии не подходит работа с поэлементными операциями DataSeries, то лучше не с вэлсом, ни с амиброкером (в его языке реализована такая же идеология, но гораздо более простым языком) не связываться, так как прямая реализация будет и проще по написанию, тестированию и быстрее по работе.
    • StockChart.ru
      15 декабря 2012, 16:32
      А. Г., на тиковых вы имели в виду? ВСЕ минутные свечи по ММВБ это всего навсего 12 млн. штук
      • А. Г.
        15 декабря 2012, 16:56
        RuTicker.com,

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

        Ну и алгоритм расчета параметров был итерактивный, как я описал выше.
  • UlySseS
    15 декабря 2012, 16:26
    а если писать не роботов, а собственные индюки, типа Gom Volume Ladder в Ninja — то сколько дней?
    Или на тестирование все возможности ВЕЛЗ-ЛАБа заканчиваются.
    • А. Г.
      15 декабря 2012, 16:33
      UlySseS,

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

      Если у Вас есть алгоритм расчета индюка в таких операциях, то написать своего индюка в WLD пара пустяков, а если нет, то наживете гемморой.
      • UlySseS
        16 декабря 2012, 03:24
        А. Г., я про то, сколько написано индикаторов для Нинзьи, расширяющих платформу (есть целые форумы) и сколько для Велза.
        Т.Е. о том нужен ли Велз для ручников, ведь для них история если и повторяется, то на этом не заработать.
  • alexvitk
    15 декабря 2012, 16:54
    кстати а кто что скажет про прогу smartTrade от айти инвест?
    • Максим Милованов
      15 декабря 2012, 20:38
      alexvitk, насколько известно, адаптер был для WLD 4, который работал через SmartCom — на форуме АйТи Инвест информация об этом.
      Я вообще в последнее время перешел на SmartX, а робот под старый добрый тормознутый Quik на Qpile и S#
  • Максим Милованов
    15 декабря 2012, 20:41
    Надеюсь, команда Stock# скоро выпустит StockSharp Studio, тогда будет значительно интереснее и проще тестировать стратегии/делать роботов.
  • Cheshirscy
    15 декабря 2012, 20:49
    Для того чтобы вырезать аппендикс некоторые учатся 6 лет. Хотя реально можно прочитать пару форумов и посмотреть видео. Слава богу что такие как автор, пишут роботы для себя, а не оперируют других.
    • StockChart.ru
      15 декабря 2012, 21:53
      Cheshirscy, так потому и учатся 6 лет, что деятельность с риском для жизни, если бы рисков не было, хватало бы 4х месячных курсов
  • Иван Гуров
    16 декабря 2012, 03:18
    Второй пост подряд по программированию. =)

    Скорее надо знать не сам C#. А основные базовые понятия ООП(оно везде). Рассказать их вкратце можно(основные), можно за часа 2.
    Но использовать, какие либо компоненты, не зная как внутри они работают, чревато, не корректным результатом.

    Если идеи интересные, можно ко мне обращаться. Можем вместе подумать.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн