Исправлена печать повторных пробоев одного того же экстремума в том же сообщении.
smart-lab.ru/blog/704033.php
На минутных барах этот печатный долбёж очень досаждает.
Исправлена печать повторных пробоев одного того же экстремума.
По просьбам играющих smart-lab.ru/vopros/703796.php
В Quik'е нельзя только предсказывать будущее.
Индикатор Breakout рисует на графике котировок точки пробоя для экстремумов заданного числа Num баров. Для последнего интервала Num баров показывает уровни экстремумов.
Значение Num и признак Print печати сообщений на пробои можно поменять через параметры индикатора.
Чтобы в Quik'е использовать этот индикатор, поместите нижеследующий код в текстовый файл Breakout.lua, а сам этот файл в подкаталог LuaIndicators в том каталоге Quik'а, где лежит файл info.exe.
Чтобы метки пробоев были виднее, индикатор следует поместить после графика котировок. Эти метки позволят на глазок определить прибыльность пробойной стратегии.
-- Ростислав Дмитриевич Кудряшов, СПб, 2021 -- Индикатор Breakout для Quik: min и max Num баров Settings = { Name = "_Breakout" ,line = { {Name = "Min" ,Color = RGB (255,0,0) ,Type = TYPE_LINE ,Width = 1} ,{Name = "Max" ,Color = RGB (0,255,0) ,Type = TYPE_LINE ,Width = 1} ,{Name = "Lwr" ,Color = RGB (255,255,0) -- Жёлтый ,Type = TYPE_TRIANGLE_DOWN ,Width = 1} ,{Name = "Upr" ,Color = RGB (0,128,255) -- Тёмно-Голубой ,Type = TYPE_TRIANGLE_UP ,Width = 1} } ,Num = 10 ,Print = 1 -- или 0 } Scan = 0 -- При загрузке Quik сканирует 1 раз function Init() return #Settings.line end function OnChangeSettings() Scan = 0 end function OnCalculate (index) local n, mn, mx, ini, fin, upr, lwr, printFlag n = Settings.Num if n < 1 or index <= n then if index == 1 then Scan = Scan + 1 SetRangeValue (3, 1, Size(), nil) SetRangeValue (4, 1, Size(), nil) end return nil end mn = math.huge mx = -math.huge ini = index - n fin = index - 1 for i = ini, fin do mn = math.min (mn, L(i) or mn) mx = math.max (mx, H(i) or mx) end printFlag = Settings.Print > 0 and index == Size() and Scan > 1 lwr = GetValue (index, 3) upr = GetValue (index, 4) if not lwr and L(index) and L(index) < mn then if printFlag then message (Settings.Name ..": Dn ".. mn) end lwr = mn end if not upr and H(index) and H(index) > mx then if printFlag then message (Settings.Name ..": Up ".. mx) end upr = mx end if index == Size() then SetValue (ini-1, 1, nil) SetValue (ini-1, 2, nil) SetRangeValue (1, ini, fin, mn) SetRangeValue (2, ini, fin, mx) else mn, mx = nil end return mn, mx, lwr, upr end -- OnCalculate()
Всем привет!
В этом видео мы разберем несколько популярных стратегий из мира технического анализа, запрограммируем их и протестируем на исторических данных — это даст нам четкое представление сможем ли мы заработать на них, если будем использовать их в живой торговле.
Клуб систематических (алго) трейдеров «Quant School»
«Quant School» — это профессиональная команда систематических трейдеров, суммарно имеющих за спиной торговый опыт
на финансовых рынках более 20 лет.
В связи с расширением клуба, приглашаем вступить в команду систематических (алго) трейдеров торгующих на рынке Forex.
Кому подойдет?
1) Опытным трейдерам, у которых пока нет результатов. Вы сможете обучиться и создадите свой собственный портфель торговых
алгоритмов.
2) Тем, кто только становится на путь трейдинга. Вы также сможете пройти обучение.
Обучение БЕСПЛАТНО! (длительность обучения ~ 5 недель)
1. После прохождения обучения вы научитесь торговать — системно.
2. Вы узнаете как управлять портфелем из нескольких систематических торговых стратегий.
3. Вы автоматизируете свою торговлю
Также, после прохождения обучения в вашем торговом портфеле будет 5 автоматизированных стратегий для рынка Forex
• Внутридневная стратегия сезонности — FX
• Стратегия парной торговли и сделок импульса JPY
• Стратегия корзина товарных валют
• Кросс-секционная торговля импульсом
• Стратегия среднего возврата при сжатии волатильности
Привет SmartLab!
Это мой первый пост на данном ресурсе, так что в первом абзаце я сначала представлюсь и расскажу очень коротко о себе, мне кажется так правильно.
Вступление.
В рамках инвестирования своих свободных денежных средств я алготрейдер. Занимаюсь я этим уже 6 лет и в свободное время веду небольшой YouTube-канал, где выкладываю ролики с разными полезными алгоритмами, видео-уроки и т.д. Собственно, один из подписчиков посоветовал мне завести тут блог, дабы расширить аудиторию моих трудов.
Тема поста.
В первом посте решил рассказать о своем последнем опыте алгоритмизации паттерна «Голова и плечи» (далее ГИП). Недавно выпустил у себя ролик, как создать алгоритм ГИП, если интересно можете посмотреть: https://www.youtube.com/watch?v=uVqx6sXkiE8&t=4120s&ab_channel=16%3A05Algo16%3A05Algo. Роботов я кстати пишу в тслабе, не знаю сколько из вас о нем слышали, но, если нет, то советую ознакомиться, софт классный, а у меня на YouTube-канале вы сможете найти небольшой курс из 4 занятий для обучения.
Это дополнение «Снова Фьючерс на индекс ММВБ. Грааль для терпил» smart-lab.ru/blog/699619.php
На этот раз гоняем историю фьючерса GOLD. Но для сопоставимости с MXI сразу конвертируем доллары в рубли по курсам на каждый день торгов.
Игнорируем, что фьючерс на золото торгуется в контанго. Не суть! Используем почти тот же алгоритм, что в предыдущей статье, на те же 73 квартала с марта 2003.
Изменение в том, что WealthLab заглючил на истории золота и в одном баре не закрывает позицию по заданной цене. Пришлось делать роллирование по цене открытия дня, следующего за экспирацией.
Оптимизированные параметры: триггер скользящего стопа 25%, реверс 5%, убыток 10%.
Выигрыш 120788.33 руб. Просадка 30820.10 руб на 08.03.2021. От максимума цены позиции 154559 руб на 06.08.2020 это 19.94%.
Теперь для подсчёта прибыльности я беру не конечную цену актива, но среднюю за все дни, равную 52641.90 руб.
Связанные средства: ГО + резерв = 9306.61 * 1.25 = 11633.26 руб; Вариационка = 52641.90 * 0.25 = 13160.48 руб.
Итого: 24793.73 руб. округлим до 25000 руб.
При среднем выигрыше за квартал 1654.63 руб это даёт квартальную прибыльность 6.62%. На год в среднем 26.47%.
Следует отметить 6 проигрышных подряд кварталов 2012-2013 и ещё 5 случаев по 2 проигрыша подряд. Учитывая, что ФРС уже почти израсходовала свой боезапас, вряд ли возможно повторение 2012 года.
Это дополнение к «Фьючерс на индекс ММВБ. Математические ожидания и реальная ретроспекция» smart-lab.ru/blog/699584.php
Т.к. фьючерс на индекс ММВБ торгуется в бэквордации, его историю можно заменить более длинной историей самого индекса, если: 1) умножить индекс на 10 и 2) роллировать позицию в дни экспирации по цене (Open+Close)/2.
И тогда можно представить, как можно было, играя в MXI (малый фьючерс), пережить и 2008, и 2020 годы.
Подробности алгоритма в предыдущей статье. Последний тест на 73 кварталах от марта 2003 дал для фьючерса MXI выигрыш 50549.20 руб. Наибольшая просадка выигрыша 10923.10 руб на 18.03.2020 от максимума 44498.90 руб 20.01.2020 с объёмом позиции 32268.90 руб (33.85% от объёма).
В 2008 просадка скромнее, Но относительном объёма позиции примерно та же.
Средний выигрыш на квартал 692.50 руб. Относительно связанных средств 15000 руб (завышенная оценка) это даёт квартальную прибыльность 4.62% или 18.47% годовых.
Стоп-лосс сработал только однажды, 06.08.2008. Скользящий стоп фиксировал прибыль 15 раз. Оптимизированные параметры: триггер скользящего стопа 20%, реверс 0%. Убыток 25% на квартал я назначил из психологических соображений.
Следует также отметить три проигрышных подряд квартала в 2011. И ещё два случая по два проигрышных квартала подряд.
На графике показан выигрыш индекса ММВБ, не умноженный на 10
Плоские участки в 2008 показывают досрочные закрытия позиции.
Игра в купи и держи даёт выигрыш 39501.70 руб с просадкой 13610.70 руб.