Чтобы написать своего первого робота в ВЕЛЗ-ЛАБЕ достаточно одного дня, Но каждый имеет право портить себе жизнь как хочет !
Вообще, если честно, складывается впечатление что от народа специально скрывают как на-учиться писать роботов в ВЕЛЗ-ЛАБЕ, а наоборот хотят запутать. Для этого посылают
на х.. учить С#
При том что для написания роботов он вообще не нужен, а достаточно школьных знаний.
И все кто решит «вначале я досконально изучу C#» и зациклятся на этом — безнадёжно потеряны, потому что, чтобы досконально изучить язык программирования надо минимум несколько лет, хотя бы два года изучения + работы. Это как учить английский.
А теперь секретная информация как СУПЕР-ЭФФЕКТИВНО научиться писать роботов :)
1. изучаем 10 страниц текста в хелпе-велзлаба. Help -> WealthScript QuickRef (это займет 4-5 часов)
2. выборочно читаем-просматирваем Wealth-Script Programming Guide (HELP -> Wealth-Script Programming Guide ) (2-3 часа)
3. учимся писать скрипты у ВЕЛЗ-ЛАБОВСКОГО генератора скриптов. Этот генератор из заданных правил на основе выбранных сигналов индикаторов генерирует скрипты. Т.е. сначала генерируем похожего робота с помощью генератора ВЕЛЗ-ЛАБА а потом открываем его код и учимся как это делать быстро, правильно и эффективно.
(это займет еще пару часов)
Всё.
ваши стратегии даже знатокам С# будет тяжело писать )
Да ничего особенного. Неужели трудно вычислить несколько несложных функции, начиная с некоторой точки в прошлом и решить: новая точка — это новое начало отсчета этих функций или нет?
Вот в технологии DataSeries этот алгоритм не реализуем в принципе, а на любом языке — это элементарно.
Во-во, именно это я и говорил про Wealth-Script — это пример нестандартного языка, основными операциями в котором являются поэлементные операции с DataSeries. А далеко не каждый алгоритм можно описать в этих операциях и я не удивлен, что Вам потребовалось два дня, чтобы совместить алгоритм фрактального барометра, с нестандартным языком SQL.
Лично мне знающие люди тоже за неделю реализовали итерактивный алгоритм, описанный выше, на Wealth-Script. Но когда он при тестировании вырубил машину на 5 часов (при том, что на обычном C# работал минуты 2), а код на 30% состоял из функций, не описанных в helpe, я понял, что мне бесполезно этим заниматься.
Мой опыт подсказывает, что не стоит даже тратить время на инструмент, который за 5 минут позволяет написать стратегию «привет, мир!». Это значит, что шаг влево — шаг вправо — либо не работает, либо работает раз этак в 700 медленней
Сейчас основной язык C#, даже стратегии, которые вы делаете в конструкторе транслируются в код. Вы можете привести пример функции, которую у вас не получилось реализовать за 5-10 минут?
Там специфический С#, работающий с массивами. А алгоритм, который не реализуется в нем за 10 минут: простой нарисовать «крестики-нолики», у которых следующий «крестик» или «нолик» рисуется по k*волатильность минуток, прошедших за период рисования предыдущего «крестика» или «нолика».
Угу, первое с чем у меня был «затык» — это код, который мне дал специалист, выбора элементов из TimeSeries в конечный массив. Там я ничего не понял из-за использования функций, не описанных в хелпе. Ну и про время работы я уже писал.
В том то и дело, что описания этих функций нет и в справочнике микрософта по С#, но, правда, они есть в бумажном англоязычном руководстве по скриптам WLD 6.
Тут не простые «крестики-нолики», а динамические и со специфическим расчетом.
Другое дело, что оформить это в виде обычного индикатора посредством операций над массивами (над DataSeries'ами) может и не получится (хотя, не факт). Но C# в велсе — это обычный C#, который позволяет создать свой массив, заполнив его своими элементами и вывести его на экран в предпочтительном для себя виде (хоть в виде крестиков, хоть в виде снежинок). Wealth всего лишь предоставляет небольшую надстройку в виде библиотеки с классами и функциями.
Да все, что Вы описали, можно, но на порядок проще и главное с более высоким быстродействием реализуется в связке C# (а можно и C++, delfi или piton и даже обычный VBA)+база рыночных данных. И смыcла в программировании таких стратегий в WLD никакого нет. Один гемморой и потеря времени.
Вот если у Вас стратегия реализуется на языке операций поэлементного сложения, вычитания, деления и умножения DataSeries, то тут WLD хорошее подспорье, а в остальных случай тормозящая и усложняющая жизнь надстройка.
Мы даже столкнулись с тем, что часть запаянных в WLD индикаторов не совпадает с результатами их расчета вне WLD по формулам, которые приведены в руководстве. В-частности, индикатор Frama.
Важно еще, что велс, являясь специализированной программой, имеет уже готовый набор средств оценки качества стратегии. Он, конечно, не полон и не покрывает всех возможных запросов пользователя (в частности, мне нужна была оценка линейности получаемой эквити, ее пришлось дописывать самостоятельно), но без велса (или подобной программы) все эти средства придется писать самому.
Насчет несоответствия индикаторов тоже согласен. Нарвался на стохастике. Ну, а где нет багов? :)
Ну стандартный набор оценки качества стратегии есть не только в вэлсе. В том же амиброкере он не меньше. Но меня эти параметры ни в одной из программ не устраивают, потому что там, в-основном, посделочные параметры. Так что меня подобные программы прежде всего интересуют, как быстрые генераторы эквити стратегий и база рыночных данных. Но в этом смысле ни вэлс, ни другие подобные программы «не тянут» и имеют кучу недостатков по сравнению с прямой реализацией на одном из языков программирования.
А говорил я в этой теме только о том, что если для стратегии не подходит работа с поэлементными операциями DataSeries, то лучше не с вэлсом, ни с амиброкером (в его языке реализована такая же идеология, но гораздо более простым языком) не связываться, так как прямая реализация будет и проще по написанию, тестированию и быстрее по работе.
Нет, минутные. Просто в алгоритме параметры зависели от дневных данных, а исполнение могло происходить на любой минуте (пробойный алгоритм). Поэтому за основу были взяты минутные и из них делались дневные. Ну и пересчет параметров осуществлялся каждый день и они «действовали» только на минутах следующего дня.
Ну и алгоритм расчета параметров был итерактивный, как я описал выше.
Или на тестирование все возможности ВЕЛЗ-ЛАБа заканчиваются.
Смотря какой индюк. Надо понимать, что в скрипте WLD основные операции — это операции с временными массивами. Вы можете их поэлементно складывать, вычитать, делить, умножать, еще можете сдвигать друг относительно друга и потом делать перечисленные выше операции.
Если у Вас есть алгоритм расчета индюка в таких операциях, то написать своего индюка в WLD пара пустяков, а если нет, то наживете гемморой.
Т.Е. о том нужен ли Велз для ручников, ведь для них история если и повторяется, то на этом не заработать.
там разве что немного сложнее одновременно доступаться к данным разных тайм-фреймов и разных инструментов и потом их синхронизировать, а так все однообразно
Я вообще в последнее время перешел на SmartX, а робот под старый добрый тормознутый Quik на Qpile и S#
Скорее надо знать не сам C#. А основные базовые понятия ООП(оно везде). Рассказать их вкратце можно(основные), можно за часа 2.
Но использовать, какие либо компоненты, не зная как внутри они работают, чревато, не корректным результатом.
Если идеи интересные, можно ко мне обращаться. Можем вместе подумать.