Тенденция вследствие стратегии перекрестного использования скользящей средней

Автор:Чао Чжан, Дата: 2023-11-01 17:18:13
Тэги:

img

Обзор

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

Логика стратегии

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

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

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

  3. Индикатор RSI помогает отфильтровать ложные прорывы, сигнализируя о перекупленных/перепроданных условиях.

  4. Многочисленные скользящие средние, сложенные вместе: 55-периодическая EMA для краткосрочного сигнала, 100-периодическая EMA для среднесрочного тренда и 200-периодическая EMA для долгосрочного фильтрации тренда.

  5. Разумные параметры стоп-лосса и прибыли для контроля риска.

Основная логика торговли:

  1. Введите длинный период, когда 55-периодная EMA пересекает 100-периодную EMA, а 12-периодная EMA превышает 200-периодную EMA.

  2. Включается короткий период, когда 100-периодная EMA пересекает 200-периодную EMA.

  3. Установите стоп-лосс и принимайте прибыль после входа, чтобы оптимизировать прибыль.

  4. Закрыть длинные/короткие позиции, когда RSI показывает перекупленность/перепроданность, чтобы избежать рисков реверсии.

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

Преимущества

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

  1. Простая логика, основанная на скользящих средних перекрестках, легкая для понимания и реализации.

  2. Более быстрая реакция на изменения цен и изменение тренда с помощью EMA.

  3. Для отслеживания тренда и выявления реверсии используются несколько периодов скользящей средней.

  4. RSI фильтрует ложные прорывы и повышает точность сигнала.

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

  6. Высоко настраиваемая путем корректировки скользящих средних периодов, коэффициентов стоп-лосс/стоп-прибыль и т.д.

Риски

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

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

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

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

  4. Может быть, если индекс поднимется, но рынок будет расходиться.

  5. Риск получить прибыль слишком рано и пропустить большую часть движения тренда.

Для устранения этих рисков можно сделать следующие оптимизации:

  1. Добавьте такие фильтры, как громкость, чтобы избежать ложных прорывов.

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

  3. Строгое ограничение стоп-лосса и прибыли для ограничения рисков на различных рынках.

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

Руководство по оптимизации

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

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

  2. Проверьте цену закрытия против типичной цены на производительность.

  3. Добавьте фильтр громкости, чтобы принимать сигналы только на высокопроизводительных барах.

  4. Оптимизируйте соотношение стоп-лосс/стоп-прибыль для более высокой точности или установите динамические стопы на основе процентов.

  5. Постройте композитные модели с дополнительными показателями, такими как стохастик, MACD, полосы Боллинджера, чтобы улучшить производительность.

  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)









Больше