Стратегия определения тренда в нескольких временных рамках


Дата создания: 2023-12-28 11:57:00 Последнее изменение: 2023-12-28 11:57:00
Копировать: 0 Количество просмотров: 641
1
Подписаться
1623
Подписчики

Стратегия определения тренда в нескольких временных рамках

Обзор

Эта стратегия использует 4 различных временных рамки для определения направления тенденции, чтобы обнаружить длинную тенденцию, используя короткую линию в качестве входного времени. Когда все 4 временных рамки (солнечная, круговая, 15-дневная, лунная) открываются ниже закрывающей цены, это рассматривается как долгосрочная тенденция потери; когда все 4 временные рамки открываются выше закрывающей цены, это рассматривается как долгосрочная тенденция потери.

Стратегический принцип

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

Если открытие цены на солнечной, круговой, 15-дневной и лунной линии было ниже закрытия цены, то это означает, что цены на эти четыре временные рамки имели тенденцию к росту, и это считается многосторонним движением и долгосрочным прогнозом.

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

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

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Многократные временные рамки, повышение точности суждений

Использование четырех различных уровней временных рамок для обобщенного суждения о долгосрочных тенденциях позволяет повысить точность суждения и избежать путаницы в краткосрочном рынке.

  1. Комбинированные, гибкие стратегии

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

  1. Простые параметры, легко реализуемые

Эта стратегия основана на определении показателя открытия и закрытия рынка всего за 4 временных рамки. Параметры настроены просто и легко реализуются.

Анализ рисков

Однако есть и другие риски, связанные с этой стратегией, в частности:

  1. Изменение долгосрочной тенденции

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

  1. Неэффективность в краткосрочной перспективе

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

Направление оптимизации

В этой стратегии есть место для дальнейшей оптимизации:

  1. Увеличение стратегии по удержанию

Для контроля максимального убытка можно установить мобильный стоп или висячий стоп.

  1. Оптимизация стратегии коротких линий

Можно тестировать различные индикаторы короткой линии, чтобы найти более подходящую стратегию короткой линии, чтобы повысить эффективность входа в игру.

  1. Динамическая коррекция позиций

Позиции могут быть динамично изменены в зависимости от степени волатильности рынка, увеличивая позиции, когда тенденция более ясна.

  1. Вместе с машинным обучением

Можно собирать большое количество данных и применять методы машинного обучения для динамической оптимизации параметров и правил.

Подвести итог

Данная стратегия определяет направление тренда на протяжении нескольких временных рамок, используя концепцию, объединяющую длинные и короткие линии, гарантирует определение больших тенденций, а также использует возможности коротких линий, логика работы в целом ясна, разумна, проста в реализации, является эффективной стратегией отслеживания тенденций. С введением таких технологий, как остановка убытков, динамическое управление позицией, данная стратегия имеет большой простор для улучшения, заслуживает практики и оптимизации.

Исходный код стратегии
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[RichG] Easy MTF Strategy", overlay=false)

TF_1_time = input("D", "Timeframe 1")
TF_2_time = input("5D", "Timeframe 2")
TF_3_time = input("15D", "Timeframe 3")
TF_4_time = input("45D", "Timeframe 4")

transaction_size = input(1, "Contract/Share Amount")

src = close, len = 20
out = sma(src, len)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line

TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor

TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor

TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor


TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor

TF_global = TF_1 and TF_2 and TF_3 and TF_4 
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width

plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)    

exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global

longCondition = TF_global
if (longCondition)
    strategy.entry("MTF_Long", strategy.long, qty=transaction_size, when=strategy.position_size == 0)

shortCondition = TF_global_bear
if (shortCondition)
    strategy.entry("MTF_Short", strategy.short, qty=transaction_size, when=strategy.position_size == 0)
    
strategy.close("MTF_Long", when=exitCondition_Long)    
strategy.close("MTF_Short", when=exitCondition_Short)