Здесь будут накапливаться вопросы, которые возникают у тех, кто осваивает построение торговых стратегий с помощью C# и языка WealthScript программы Wealth-Lab. По сути, это будет база данных по ответам, которые находятся в инструкциях Велс Лаб. Если У Вас есть вопрос, на который Вы не нашли ответа здесь - пишите его в комментариях - постараюсь помочь найти на него ответ.
4. Как с помощью кода посчитать количество баров на графике Wealth-Lab?
5. Как найти номер первого внутридневного бара, который был несколько дней назад?
6. Как найти номер бара, который соответствует конкретной дате на графике Велс Лаб?
10. Как программно узнать текущий таймфрейм или интервал графика?
11. Как получить доступ к дате и времени соответствующего бара на графике в программе Wealth-Lab?
13. Как получить доступ к величине минимального шага цены, если торгуемый инструмент является фьючерсом?
17. Как сдвинуть значения DataSeries вправо или влево по шкале времени?
18. Как получить массив DataSeries только с положительными значениями?
20. Как создать последовательность данных DataSeries и наполнить каждую ее ячейку нулевыми значениями?
21. Как поменять значения в массивах DataSeries?
24. Как поменять способ синхронизации данных в Wealth-Lab?
25. Как создать индикатор используя несинхронизированные данные второго финансового инструмента?
26. Какие области графика выделяются в программе Wealth-Lab для отображения разных данных?
27. Как создать индивидуальную область на графике?
28. Как: скрыть область объема на графике в программе Wealth-Lab?
29. Как в Wealth-Lab отобразить на графике внешний финансовый инструмент?
30. Как отобразить на графике в программе Велс Лаб синтетический финансовый инструмент?
31. Как сравнить основной финансовый инструмент с бенчмарком и отобразить их на одном графике?
32. Как отобразить на графике программы Велс Лаб последовательность данных (DataSeries)?
33. Как отобразить на графике в программе Wealth-Lab область объемов выше чем область цен?
34. Как отобразить на индивидуальной области графика количественные показатели торговой стратегии?
35. Как контролировать вертикальную Y-шкалу на графиках в программе Wealth-Lab?
36. Как написать вертикальный текст на гарфике в программе Wealth-Lab?
38. Как в программе Велс Лаб нарисовать линию тренда и продлить ее вправо по шкале времени?
39. Как начертить на графике в программе Велс Лаб скоростные линии сопротивления (1/3 - 2/3 линии)?
40. Как в Wealth-Lab выделить зону на графике в виде многоугольника?
41. Где можно посмотреть полный синтаксис применяемого индикатора?
42. Как получить доступ к полному ряду данных (DataSeries) индикатора?
43. Как рассчитать значение индикатора только для одного бара?
44. Как рассчитать значение индикатора несколькими способами?
45. Как создать "полуофициальный (semi-formal)" индикатор своими руками?
46. Как создать индикатор MACD с самостоятельно определяемым периодом?
47. Как создать индикатор, отражающий взвешенную цену закрытия
48. Как создать индикатор СПРЕДа, отражающий разницу между двумя финансовыми инструментами?
49. Как создать осциллятор силы Элдера (EFO)?
50. Как самостоятельно создать NRTR_WATR индикатор Константина Копыркина?
51. Как создать индикаторы используя внешние финансовые инструменты?
52. Почему значения некоторых индикаторов нестабильны и зависят от периода доступных данных?
53. Почему опасно использовать нестабильные значения индикаторов?
54. С какими индикаторами нужно быть осторожным?
55. Что представляет собой класс стратегий в программе Велс Лаб?
56. Как выполнить компиляцию кода стратегий в программе Wealth-Lab?
57. Какие ограничения существуют для кода стратегий в программе Wealth-Lab?
58. Какие торговые сигналы поддерживаются в программе Wealth-Lab?
59. Какие параметры имеют торговые сигналы в Wealth-Lab?
60. Как совершить теоретический трейд в программе Велс Лаб?
61. Как произвести сделку в определенную заранее дату применяя метод DateTimeToBar()?
62. Как организовать главный цикл при построении торговых стратегий в Wealth-Lab?
63. Как переделать код торговой стратегии в код скрининговой системы?
64. Где найти шаблон программного кода для однопозиционной стратегии Wealth-Lab?
65. Что представляют из себя позиции (Positions) в программе Wealth-Lab?
66. Как проверить с помощью кода - существует ли активная позиция в текущий момент времени в Wealth-Lab?
67. Как в Wealth-Lab осуществляется закрытие позиции?
68. Как разместить лимитный или стоп приказ на покупку при программировании стратегий в Wealth-Lab?
70. Как отображать на графике программы Велс Лаб стоп-приказы с помощью программного кода?
Добрый день!
Подскажите пожалуйста, к кому можно обратиться за помощью по программе FinLab.Trade. Писал на разные ящики, никто не отвечает
У меня при открытие файла лицензионного ключа, программа пишет:
“К сожалению, ни одной лицензии добавлено не было. Возможна, лицензии истекли или повреждены. Подробности: Ошибок не обнаружено!”
Помогите пожалуйста!
Андрей, добрый день. Мы сейчас программу FinLabTrade передали компании АЛОР. Если хотите – можете попробовать договориться об условиях ее использования с Воронежским представительством АЛОРа (e-mail: vrnfic@alor.ru или vrnfic@vrnfic.ru).
Добрый вечер, Дмитрий. Возможно сделать расчеты индикаторов и нарисовать их с разным Time-Frame, т.е. как в ТСлабе есть минутка а расчет индикаторов на базе часовика. Там это делается путем сжатия и разжатия времени, а как в Велс Лабе?
Да, это все можно сделать без проблем в WealthLab. Об этом чуть позже целый пост будет.
Пока скажу, что для этих целей используются следующие методы: SetScaleCompressed(), SetScaleDaily(); SetScaleWeekly(); SetScaleMonthly();
Добрый день, Александр! В TSlab это можно сделать применив кубик сжатие, но картинка получится ломаная, не наглядная, у TSlab нет того функционала, который есть в Wealthl-lab.
Очень интересные выши посты. Подождем.
Дмитрий, как создать два ряда данных из белых и чёрных отдельно?
Нужно два раза выполнить метод PlotSeries();
При этом в первом методе выбрать свойство Color.Black, а во втором случае – соответственно Color.White (правда, на белом фоне будет не видно, так что лучше какой-либо другой фон выбрать, либо цвет, передающий ряд данных).
PlotSeries(myPane, Close, Color.Black, WealthLab.LineStyle.Line, 2);
PlotSeries(myPane, Close, Color.White, WealthLab.LineStyle.Line, 2);
Спасибо. Я не про то. DataSeries для свечей вверх и свечей вниз. Вот например, для RSI (нууу за 14 дней) среднее вверх надо разделить на среднее вниз. Для начала надо узнать их сумму. как всё это сделать?) Я понимаю, что RSI там вшитый есть – мне нужно кодом.
Т.е. Вы хотите уточнить – как создавать собственные индикаторы? Все это тоже несложно делается – создаете собственную DataSeries и заполняете ее значениями, которые Вам нужны. Примеров куча вот в этой статье приводится
Добрый день, Дмитрий. Подскажите, пожалуйста, встречали Вы проработки кода по определению сильных уровней с помощью объемно-вертикального анализа (т.е. то, чем занимается Volfix на основе теории Стеделмайера)?
Александр, честно говоря такую реализацию для Велса я не встречал.
Дмитрий, жаль конечно, но это очень интересная тема особенно, если объемно-вертикальный анализ совместить с элементами технического анализа, то можно продвинуться намного дальше, чем просто с техническим анализом. Я пытаюсь в этом разобраться, если у Вас будут какие-то мысли на эту тему, то было бы интересно продолжить такой опыт.
Если сформулируете почетче условие на вход в позицию – я готов помочь это закодировать и предоставить Вам этот код.
Было бы интересно попробовать.
Добрый вечер, Дмитрий. Можете прислать свою почту? Я сброшу картинку из Волфикса со своими комментариями. Если Вам будет интересно, то можно будет продолжить эту тему.
Вот здесь можно мне написать /kontakty/ – я отвечу на письмо.
Дмитрий, подскажите пожулуйста:
1. как найти High/Low внутри дня (например с 10:15 до 12:00) по мотивам Вашего примера «Торговая система HighLowLong?
2. Как для WL подключить //using System.Linq, в VS ошибок нет, а в WL пишет ошибку “Имя типа
или пространства имен Linq отсутствует в пространстве имен System (пропущена ссылка на борку?)”
Спасибо.
Олег, приветствую.
1) Если Вы просто хотите входить сделки с 10:15 до 12:00 часов – Вы можете установить дополнительное условие (фильтр) в блоке генерации сигналов. Например вот так:
2. Эту строчку можете вообще удалить, либо закомментировать, поставив вначале две косые черты. Она здесь не играет вообще никакой роли.
Может быть кто-нибудь предложит другие варианты…
Дмитрий, спасибо за ответ, но это не совсем то, что я ищу. Идея в следующеем: находим макс и мин значение образованное ценой в период с 10:15 до 12:00 и входим в сделку на преодоление этого макс или мин уже после 12:00.
Олег, в принципе, это тоже вполне решаемая задача. В общем виде схема будет выглядеть так:
Вы заводите две переменных, одна из которых будет содержать значение максимум цен, другая минимум цен ( double maxPrice; double minPrice)
После чего внутри основного торгового цикла проверяете – если время соответствует устанавливаемому Вами интервалу – то проверяете – если максимальная цена текущего бара больше чем значение переменной, то переменная maxPrice получает новое значение. Тоже самое для переменной, которая хранит наименьшее значение.
После этого в блоке генерации сигнала формулируете правила входа в позицию с учетом времени и рассчитанных минимальных и максимальных цен за нужный Вам период.
Код писать сейчас не буду, думаю, идея ясна. Если не будет получаться – пишите – помогу.
Дмитрий, частенько на Вашем портале получаю полезную информацию по программирования для WLD, за что Вам спасибо! Интересует реализация идеи Олега. Пробую выполнить алгоритм по предложенному Вами варианту, но не выходит к сожалению. С помощью цикла for на 5 минутном графике определяю минимум цены и максимум за определенное кол-во баров (12 для часового – получается за час), но потом, эти значения уже не получается использовать для торговли, т.е. они действительны только внутри цикла for. Подскажите, пожалуйста, как реализовать правильно?
Здравствуйте.
Пилю стратегию, использующую указатели, компилятор пишет, компилировать нужно с параметром “/unsafe”, но в мануалах по Wealth Lab нет даже намёка на возможность задавать параметры компиляции.
Не подскажете, возможно ли это в действительности и как?
Спасибо.
Дмитрий, я попросил у знакомого специалиста ответить на этот вопрос. Вот что он сказал:
” Лучше не надо использовать указатели в стратегии
Такая опция компилятора есть в студии. Она позволяет компилировать небезопасный код.
Лично я предпочитаю для перехода между safe-unsafe использовать managed с++ проекты. В них можно переход между managed и unmanaged кодом делать, а из c# использовать только managed часть этих библиотек”
Если не совсем понятно – пишите – уточним.
Дмитрий, думаю здесь проблема не в том, что в мануалах нет об этом речи, а суть заключается в том, что .net приложения, использующие unmanaged код должны компилироваться с учетом ключевого слова unsafe. Т.е когда Вы используете метод, тип, еще что-нибудь, то ставьте перед ним unsafe.
Попробуйте откомпилировать в Visual Studio:
Установка параметра компилятора в среде разработки Visual Studio
Откройте страницу Свойства проекта.
Выберите страницу свойств Построение.
Установите флажок Разрешить небезопасный код.
http://msdn.microsoft.com/ru-ru/library/ct597kb0.aspx
Дмитрий, по поводу Вашей стратегии с указателями, возможно это какая-то ошибка, либо вы пытаетесь использовать сторонние компоненты? можете написать подробнее указатели на что вы используете в стратегии. В c# вообще, не только в Wealth-Lab, в этом практически нет необходимости.
PS Параметры можно указать в MS Visual Studio, если вынести туда свой код
Да, пожалуй, обойдусь без указателей, т.к. мне просто нужна функция, возвращающая несколько значений, и я только что вычитал в интернете про ref.