Wealth-Lab

Сайт продукта: https://www.wealth-lab.com/
Wealth-Lab — одна из самых популярных в России универсальная среда разработки и тестирования торговых роботов, разработанная Fidelity Investments. Может также выполнять функцию торгового терминала. Программа использует Microsoft .NET Framework v4.0. В интегральной среде разработки Wealth-lab используется как распространенный язык C# так и паскалеобразный собственный язык который называется Wealthscript.

WL также содердит функционал Drag&Drop, который позволяет нубам программировать торговые стратегии основанные на техническом анализе не прибегая к коду.
  1. Аватар Сергей
    Wealth-lab 6.9 на халяву
    Всем привет!
    Так как у большинства есть ломаный велс только версии 6.4, решил поделиться найденным на просторах забугорнета велсом 6.9.19.0 Pro.
    Качаем, распаковываем куда-нибудь на диск c:\ но не в «Programm Files», так как винда защищает системные папки. И запускаем сразу нужный под вашу разрядность exe, без установки.
    Проверено, все работает на ура!
    Wealth-lab 6.9 на халяву

    Авто-репост. Читать в блоге >>>

    Юрий, друзья, поделитесь пожалуйста рабочим WL x64, по ссылке его уже там нет.
  2. Аватар oleg_oleg
    Добрый день, а как можно 6.9.19.0 изменить из кода таймфрейм, чтобы задать как параметр и оптимизировать без ручного переключения таймфрейма.
  3. Аватар Юрий
    Wealth-lab 6.9 на халяву
    Всем привет!
    Так как у большинства есть ломаный велс только версии 6.4, решил поделиться найденным на просторах забугорнета велсом 6.9.19.0 Pro.
    Качаем, распаковываем куда-нибудь на диск c:\ но не в «Programm Files», так как винда защищает системные папки. И запускаем сразу нужный под вашу разрядность exe, без установки.
    Проверено, все работает на ура!
    Wealth-lab 6.9 на халяву

    Авто-репост. Читать в блоге >>>
  4. Аватар Юрий
    Оптимизация в Wealth-lab
    Здравствуйте уважаемые коллеги!
    В ходе подбора параметров торговой системы в Wealth-lab столкнулся с очень долгой оптимизацией оных. Особенно если параметров больше десятка, там просто уже какие-то нереальные цифры времени расчета… недели, месяцы, годы...

    Так же заметил что нагрузка на процессор в ходе оптимизации не превышает 10-15%, из чего делаю вывод что или используются не все возможные ресурсы процессора, или не используется многопоточность. В общем какая то не оптимальная оптимизация получается.

    В связи с чем у меня возникло несколько вопросов. Есть ли в природе модули оптимизации для Wealth-lab использующие процессор на всю катушку? 
    Или может быть есть модули использующие не CPU а GPU для более быстрой оптимизации? Ведь не случайно крипту майнят именно видеокартами. 

    В общем если есть у кого-то что-то полезное по данному вопросу, прошу поделиться ценной информацией или даже готовым модулем для Wealth-lab.

    Авто-репост. Читать в блоге >>>
  5. Аватар krolix
    Wealth-lab библиотека community.rules.xml есть у кого? Поделитесь.

    Авто-репост. Читать в блоге >>>
  6. Аватар robot_bsk
    Как обойтись без склейки фьючей при тестировании и оптимизации торговой стратегии в Wealth-lab

    Ответ на комментарий Дмитрия Власова «А как процесс «Перекладки» организован? График эквити в итоге один получается?» в посте «Как обойтись без склейки фьючей при тестировании и оптимизации торговой стратегии в ТСЛаб»
     
     

    При тестировании и оптимизации в Wealth-lab 6.9 я раньше использовал склеенный фьючерс.
    В коде прописывал даты выхода из всех позиций и даты, когда уже можно было входить (после гепа склейки и нормализации индикаторов).

    Сейчас я использую портфель фьючерсов и влд отлично с этим справляется (он может тестировать и оптимизировать портфель инструментов).

    Начнем с тиккеров. Нужно было сделать так, чтобы они шли по порядку по алфавиту.
    Поэтому пришлось заняться переименовкой: самый первый SiH8 (2008г. выпуска) переименован в SI11, далее SiM8 (2008) ->SI12 ……  SiH9 (2019) ->SI55.


    читать дальше на смартлабе
  7. Аватар Replikant_mih
    Скорости бэктестов. Вопрос.

    Всем привет.

    Сориентируйте, пож, у кого какие скорости бэктестов на используемой вами технологической платформе. Допустим берем простенькую стратегию с простой логикой — свечная конструкция или что-то аналогичное, где сама торговая логика не ёмкая по вычислительным затратам. Допустим один прогон 5-минуток (речь о свечных данных) за 5 лет сколько будет выполняться?

    Изначально хотел узнать, какие скорости на Wealth-lab, но было бы интересно и на других платформах. Сейчас столкнулся с тем, что текущая платформа дает не удовлетворяющую скорости — вот думаю, или адаптироваться или же есть смысл посмотреть в сторону Велс-лаба и т.д…
    читать дальше на смартлабе
  8. Аватар Shara
    Знатокам Велслаба 6 вопрос

    Всем привет. Может кто то по простому объяснить, что означают эти два кубика и как ими пользоваться правильно на примере.
    Например: Купить когда  быстрый мувинг пересекает средний мувинг и они оба выше тяжелого мувинга, а стохастик вышел из зоны перепроданности+ Стоплосс и Тейкпрофит.
    Знатокам Велслаба 6 вопрос
    А то в переводе Хелпа Цериховском ни чего не понятно.
    Вот перевод:

    MC, Multi-Condition Group – управление множественным условиями

    MC группа выходит за рамки простой логической И / ИЛИ комбинации правил. Определив MC группу, вы можете указать, что все или только подмножество (одно или более) условий в группе должны быть истинны во время Lookback периода (периода исторического тестирования стратегии).

      MC дает возможность для Strategy Builder объединить установки и переключатели для нескольких условий,  если не требуется, чтобы они происходили одновременно.

    MC — размещение группы множественных условий

    сфера действия MC — до: 1) последующего OR разделителя, 2) следующего входа / выхода, или, 3) конца списка условий.

    MC связывается по правилу AND с предшествующем ему условием. Однако, если  сразу перед MC стоит OR разделитель, MC связывается по правилу OR с предшествующем ему условием. MC, не имеющая условий, игнорируется.
    Спасибо.



  9. Аватар Роман
    Переход на Wealth lab 6

    Добрый день!
    Подскажите, пожалуйста, как в Wealth lab 6.4 будет выглядеть строка
    if CrossUnder( Bar, #Close, SMASeries( #Close, 20 ) ) then<br /><br />Вроде как-то так
    if (CrossUnder( Bar, #Close, SMASeries( #Close, 20 ) ))
    Но пишет ошибку...
  10. Аватар Константин Анохин
  11. Аватар Трейдер Вася
  12. Аватар Петр Петров
    WealthLab. Drawdown.

    Настройки.
    WealthLab. Drawdown.

    Эквити.
    WealthLab. Drawdown.
    Просадка.
    WealthLab. Drawdown.
    Откуда такая просадка в начале?

    P.S.
    Без плечей.

  13. Аватар LogikoMen
    Как запрограммировать математические многочлены, формулы?

    Каким образом запрограммировать математические вычисления вида:
    (a1+a2+… + an)/n
    ( a1+(a2+a3)/2+(a4+a5+a6)/3+… +(a'n-k'+...+an)/k ) / p
    Т.е. как задать многочлен с n, k, p — количеством членов.
    К примеру в wealth lab
    Тот же SMA, WMA каким образом запрограммирован в wealth lab 4?
  14. Аватар Трейдер Вася
  15. Аватар Трейдер Вася
    wealth-lab. Как отобразить параметры стратегии в wealth-lab в левом нижнем угле в версии про? В девелопере отображаются.

    wealth-lab. Как отобразить параметры стратегии в wealth-lab в левом нижнем угле в версии про? В девелопере отображаются.
  16. Аватар Karim
    Дельта. Из Quik в WealthLab

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

  17. Аватар Евгений Черных
    Торговый робот + WEALTH LAB. Урок 25. Часть 4. Аналог TSLAB

    Последний урок из серии о WEALTH LAB. Ура! Теперь начинаем учить MQL4 для MT4



  18. Аватар Евгений Черных
    Торговый робот в WEALTH LAB. Урок 24. Часть 3. Аналог TS LAB

    Предпоследний урок в нашем курсе о создании роботов с помощью WEALTH LAB.


    Ставьте плюс на труды и подписывайтесь!
  19. Аватар Трейдер Вася
    Wealth-Lab. Как одновременно протестировать 2 стратегии на разных таймфреймах и получить общую эквити?

    Wealth-Lab. Как одновременно протестировать 2 стратегии на разных таймфреймах и получить общую эквити?
  20. Аватар Сергей Фролов
    Работаем с площадью. Алгоритм на WelathLab

    Работаем с площадью. Алгоритм на WelathLab
    Работаем с площадью. Алгоритм на WelathLab


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

    Первое, что пришло в голову – это использовать площади на графике. Изначально идея была такой:

    1. Строим кривую по хаям и по лоям
    2. С помощью интерполяции находим промежуточные значения нашей кривой для большей точности.
    3. Аппроксимировать получившуюся кривую.
    4. Взять интеграл от получившейся в третьем шаге функции.

    По задумке получившееся значение должно было отражать глубину рынка, то есть насколько сильно ходит рынок от локального хая/лоя до хая/лоя внутри дня. Если же мы добавим сюда время (за сколько рынок сходил), то получим индикатор флэта (маленькое значение + большой временной промежуток).  По ходу построения индикатора возникали мысли о том, что всё это можно реализовать гораздо проще, и действительно – можно.
    Работаем с площадью. Алгоритм на WelathLab

    Так как мы ищем площадь области над или под графиком, то мы можем просто складывать разницы между текущим high/low и high/low за определенный период. Тогда получаем такую формулу:

     

     Работаем с площадью. Алгоритм на WelathLab

     

    Чтобы лучше представлять картинку визуально и удобнее расписывать входы, я решил представить эту разницу свечками.  Свеча строится так:

    Low = Low(period)

    High = Low(now)

    Close = Low(now)

    Open = Low(period)

    Аналогично для high. Вот что получилось:
    Работаем с площадью. Алгоритм на WelathLab
    Далее считаем площади под образующимся графиком и выводим их на отдельную панель. Если хай или лоу за период обновляются, то обнуляем счетчик. Красным обозначены площади под графиком, зеленым – над ним. 
    Работаем с площадью. Алгоритм на WelathLab

     

    Теперь подумаем как можно использовать получившиеся наблюдения.
      1. Определяем флэт
    Тут все элементарно – маленькие площади можно интерпретировать как сужение волатильности.

    Пример:

    Работаем с площадью. Алгоритм на WelathLab
      2. Бэкграунд пробойной стратегии

    Очень распространенная стратегия на обновление локального хая может быть дополнена этим индикатором как мерой волатильности. Учитывать движения до пробития важно! Так можно отфильтровать часть убыточных сделок. Возможно, стоит попробовать.
      3. Технические паттерны

    Можно посмотреть разные паттерны типа пробоя тренда и прочих.
    Работаем с площадью. Алгоритм на WelathLab

    Работаем с площадью. Алгоритм на WelathLab

      4. Следуем за трендом

    Как правило трендовое движение сопровождается коррекциями, которые внутри дня могут быть незначительными и их площадь соответственно не так велика.
    Работаем с площадью. Алгоритм на WelathLab

    Возможно, все уже используют эти методы, но я пока не замечал.

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

    DataSeries size_area_dwn = new DataSeries(Bars,"");
                            DataSeries size_area_up = new DataSeries(Bars, "");
                            DataSeries dwn_space_ds = new DataSeries(Bars, "");
                            DataSeries up_space_ds = new DataSeries(Bars, "");
                            double dwn_space = 0;
                            double up_space = 0;
               
    
                            DataSeries highs_b = Highest.Series(High, 10);
                            DataSeries lows_b = Lowest.Series(Low, 10);
            
                            DataSeries highs = Highest.Series(High, 1);
                            DataSeries lows = Lowest.Series(Low, 1);
                            var synth_high = GetExternalSymbol("SPFB.RTS", true);
                            var synth_low = GetExternalSymbol("SPFB.Eu", true);
                            for (int bar = 0; bar < Bars.Count; bar++) // Пробегаемся по всем барам
                            {
                                    synth_high.Close[bar] = highs_b[bar];
                                    synth_high.Open[bar] = High[bar];
                                    synth_high.High[bar] = highs_b[bar];
                                    synth_high.Low[bar] = High[bar];
                                    synth_low.Close[bar] = Low[bar];
                                    synth_low.Open[bar] = lows_b[bar];
                                    synth_low.High[bar] = Low[bar];
                                    synth_low.Low[bar] = lows_b[bar];
                                    
                                    size_area_up[bar] = synth_high.Close[bar] - synth_high.Open[bar];
                                    size_area_dwn[bar] = synth_low.Close[bar] - synth_low.Open[bar]; // тут отнимал от close open для красоты отображения
    
                                    up_space = up_space + size_area_up[bar];
                                    dwn_space = dwn_space + size_area_dwn[bar];
    
                                    if (synth_high.Close[bar] == synth_high.Open[bar] || synth_low.Close[bar] == synth_low.Open[bar])
                                    {
                                            up_space = 0;
                                            dwn_space = 0;
                                    }
                                    dwn_space_ds[bar] = dwn_space;
                                    up_space_ds[bar] = up_space;
                            }
                            PlotSeries(PricePane, highs, Color.CornflowerBlue, LineStyle.Solid, 1);
                            PlotSeries(PricePane, lows, Color.CornflowerBlue, LineStyle.Solid, 1);
                        PlotSymbol(PricePane, synth_high, Color.RoyalBlue, Color.Blue);
                            PlotSymbol(PricePane, synth_low, Color.RoyalBlue, Color.Blue);
                            var RatioPane = CreatePane(40, false, true);
                            PlotSeries(RatioPane, dwn_space_ds, Color.Red, LineStyle.Histogram, 3);
                            PlotSeries(RatioPane, up_space_ds, Color.Green, LineStyle.Histogram, 3);
                            
    
  21. Аватар Трейдер Вася
    Wealth-Lab. Как одним выражением написать время, равное 9,48? Вариант (Date[bar].Hour= 9 && Date[bar].Minute =48) в 2 выражения не подходит.

    Wealth-Lab. Как одним выражением написать время, равное 9,48? Вариант (Date[bar].Hour= 9 && Date[bar].Minute =48) в 2 выражения не подходит.
  22. Аватар Евгений Черных
    Торговая стратегия WEALTH LAB + QUIK. Урок 23. Торговый робот Часть 2

    Обучение по WEALTH LAB почти заканчивается. Полный список уроков есть на нашем канале. В последующем будем уже выкладывать уроки по MQL4



    Поставьте плюс за труды, пожалуйста
  23. Аватар Abgar Sargsyan
    Оптимизация в Wealth-Lab

    Кто не знает и хочет знать как оптимизировать стратегии в Wealth-Lab 6.4 ?
    Если таковые есть то напишу.
  24. Аватар Евгений Черных
    Бесплатный аналог TSLAB. WEALTH LAB Урок 21. Экспорт транзакций из файла в QUIK.

    Наконец-то перешли к самому важному! Экспорту транзакций непосредственно в QUIK из WEALTH-LAB. Начинаем делать торгового робота. https://www.youtube.com/watch?v=x3hvS7xO3HA

    Ставьте пожалуйста плюс за труды и подписывайтесь!
  25. Аватар Abgar Sargsyan
    Wealth-Lab. Помогите пожалуйста понять почему так?

    Помогите пожалуйста разобраться 2 йены прибыли это +1.47%, а 0.7 йены убытка это -0.96%,
    объемы 45 и 44 соответственно
    Почему так?
    Wealth-Lab. Помогите пожалуйста понять почему так?


Чтобы купить акции, выберите надежного брокера: