Стратегия пересечения скользящих средних, следующая за трендом


Дата создания: 2023-11-01 17:18:13 Последнее изменение: 2023-11-01 17:18:13
Копировать: 0 Количество просмотров: 674
1
Подписаться
1617
Подписчики

Стратегия пересечения скользящих средних, следующая за трендом

Обзор

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

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

Эта стратегия основана на следующих принципах:

  1. Используйте среднюю линию EMA: она более чувствительна к последним изменениям цен, чем SMA, и реагирует на прорывы быстрее.

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

  3. RSI-индикатор помогает в решении: продавать, когда RSI высокий, и покупать, когда RSI низкий, чтобы избежать ложного прорыва.

  4. Складка разных средних циклов: 55 циклов - сигнальные линии для определения краткосрочного изменения тенденции, 100 циклов - сигнальные линии для определения среднесрочной тенденции, 200 циклов - сигнальные линии для определения долгосрочной тенденции.

  5. Настройка стоп-стоп: настройка разумного соотношения стоп-стоп и стоп-стоп для управления риском.

Основная логика сделки в этой стратегии заключается в следующем:

  1. Дополнительный вход производится, когда 55-циклическая ЭМА имеет 100-циклическую ЭМА, а 12-циклическая ЭМА выше, чем 200-циклическая ЭМА.

  2. При прохождении 200-циклической ЭМА под 100-циклической ЭМА, пустой вход.

  3. Оптимизация прибыли путем установления условий стоп-лосса и стоп-стопа после входа в сделку.

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

  5. С помощью наложения на различные периодические ЭМА, стратегия одновременно учитывает тенденции и обратное подтверждение, одновременно отслеживая среднесрочные и долгосрочные тенденции, избегая подстраивания.

Стратегические преимущества

Основные преимущества этой стратегии:

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

  2. Использование средней линии EMA позволяет быстрее реагировать на ценовые изменения и вовремя улавливать переломы тенденций.

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

  4. Использование RSI позволяет избежать ложных прорывов и повысить точность сигналов.

  5. Параметры стоп-стоп по умолчанию разумны и позволяют эффективно контролировать риски торговли.

  6. Вы можете оптимизировать стратегию в зависимости от рыночной корректировки параметров средней линии и параметров стоп-стоп.

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

Основные риски этой стратегии:

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

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

  3. По мнению экспертов, в этом случае “проблема не в том, что мы не можем управлять рынком, а в том, что мы не можем управлять рынком, а в том, что мы можем управлять рынком”.

  4. Эта стратегия может не принести прибыли, если индекс будет расти, но фондовые рынки будут дифференцироваться.

  5. Существует опасность того, что большая часть прибыли будет утеряна из-за “преждевременного ухода с рынка”.

Оптимизация и улучшение этих рисков могут быть достигнуты следующими способами:

  1. В сочетании с фильтрами, такими как показатели объема торгов, избегайте ложных прорывов, которые приводят к убыткам.

  2. Оптимизация обратной связи параметров, чтобы они соответствовали особенностям конкретной породы.

  3. Сокращение сроков хранения позиций, своевременное прекращение потерь и предотвращение риска длительного колебания.

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

  2. Тестирование эффективности стратегии в сравнении с ценой закрытия и типичной ценой.

  3. Попытка использовать как фильтр объем сделок, чтобы создать торговый сигнал только в случае большого количества.

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

  5. В сочетании с другими показателями, такими как Stoch, MACD, Brinband и т. д., создать комплексную стратегию для повышения эффективности стратегии.

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

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

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © pernath

//@version=5
strategy("TREND_CATCHER", overlay=true, commission_value=0.05, commission_type=strategy.commission.percent, initial_capital=1000)

//#####variables##############
profit_short=input(title='profit_short', defval=27)
stop_short=input(title='stop_short', defval=2)

stop_long=input(title='stop_long', defval=3)
profit_long=input(title='profit_long', defval=35)


media_1=input(title='media_1', defval=55)
media_2=input(title='media_2', defval=100)
resta_medias=input(title='resta_medias', defval=0)
resta_medias2=input(title='resta_medias2', defval=0)

RSI_periodos=input(title='RSI_periodos', defval=42)
//###############VARIABLES###################




//#####Alert#####
id_bot = ""
email_token = ""
long_open =""
long_close =""
short_open =""
short_close =""
//#  {{strategy.order.alert_message}}


//#############################
//#############################

//###############EMA##############/
//plot(ta.ema(close, 1), title='ema 5', color=color.white)
plot(ta.ema(close, 12), title='ema 12', color=color.white)
plot(ta.ema(close, 25), title='ema 25', color=color.white)
plot(ta.ema(close, 30), title='ema 30', color=color.white, linewidth=1)
plot(ta.ema(close, 40), title='ema 40', color=color.white, linewidth=1)
plot(ta.ema(close, 55), title='ema 55', color=color.orange, linewidth=1)
plot(ta.ema(close, 100), title='ema 100', color=color.red, linewidth=1)
plot(ta.ema(close, 200), title='ema 200', color=color.white, linewidth=3)

//#############################/





//######VISUAL#############
EMA50 = ta.ema(close, 55)
EMA100 = ta.ema(close, 100)


estado_medias=EMA50-EMA100




a = plot(EMA50, title="EMA(50)", color=color.orange, linewidth=1 ) 
b = plot(EMA100, title="EMA(100)", color=color.red, linewidth=1 )


var color col = na
col := estado_medias>resta_medias ? color.green : color.red
fill(a,b,color=col,transp=40)


//######VISUAL#############





Go_Short=(ta.crossunder(ta.ema(close,100),ta.ema(close,200)))
Go_Long=((ta.crossover(ta.ema(close,55),ta.ema(close,100))and(ta.ema(close,12)>ta.ema(close,200))))


strategy.close("enter long", (Go_Short),alert_message=long_open)

cancelar_short=((ta.crossunder(ta.ema(close,25),ta.ema(close,6))))



if Go_Short
    strategy.entry("enter short", strategy.short,1, alert_message=short_open) 
  
strategy.exit("cerrar short", "enter short", 1, profit=close*profit_short/100/syminfo.mintick, loss=close*stop_short/100/syminfo.mintick, alert_message=short_close)




strategy.close("enter short", (Go_Long),alert_message=short_close)
cancelar=((ta.crossunder(ta.ema(close,12),ta.ema(close,30))))



if Go_Long
    strategy.entry("enter long", strategy.long,1,alert_message=long_open)

strategy.exit("cerrar long", "enter long", 1, profit=close*profit_long/100/syminfo.mintick, loss=close*stop_long/100/syminfo.mintick, alert_message=long_close)




strategy.close("enter short", (cancelar_short),alert_message=short_close)

strategy.close("enter long", (cancelar),alert_message=long_close)


//posiciones abiertas
bgcolor((strategy.position_size > 0 or strategy.position_size < 0) ? color.blue : na, transp=70)