
Эта стратегия использует принципы золотых крестов и крестообразований в движущихся средних, в сочетании с RSI, чтобы идентифицировать и отслеживать тенденции. При использовании короткосрочных средних в течение долгосрочных средних в течение коротких средних в течение долгосрочных средних в течение коротких средних в течение более типичных стратегий отслеживания тенденций.
Эта стратегия основана на следующих принципах:
Используйте среднюю линию EMA: она более чувствительна к последним изменениям цен, чем SMA, и реагирует на прорывы быстрее.
Двухлинейный перекрест: короткоциклический перекрест на средней линии, проходящий через длинную среднюю линию, является сигналом покупки, а короткоциклический перекрест под средней линией, проходящий через длинную среднюю линию, является сигналом продажи, используя принцип золотого перекрестка и мертвой перекрестки средней линии для определения перехода тренда.
RSI-индикатор помогает в решении: продавать, когда RSI высокий, и покупать, когда RSI низкий, чтобы избежать ложного прорыва.
Складка разных средних циклов: 55 циклов - сигнальные линии для определения краткосрочного изменения тенденции, 100 циклов - сигнальные линии для определения среднесрочной тенденции, 200 циклов - сигнальные линии для определения долгосрочной тенденции.
Настройка стоп-стоп: настройка разумного соотношения стоп-стоп и стоп-стоп для управления риском.
Основная логика сделки в этой стратегии заключается в следующем:
Дополнительный вход производится, когда 55-циклическая ЭМА имеет 100-циклическую ЭМА, а 12-циклическая ЭМА выше, чем 200-циклическая ЭМА.
При прохождении 200-циклической ЭМА под 100-циклической ЭМА, пустой вход.
Оптимизация прибыли путем установления условий стоп-лосса и стоп-стопа после входа в сделку.
Когда индикатор RSI показывает сигнал о перекупке и перепродаже, своевременно закрывайте соответствующие лишние и пустые ордера, чтобы избежать риска обратного хода.
С помощью наложения на различные периодические ЭМА, стратегия одновременно учитывает тенденции и обратное подтверждение, одновременно отслеживая среднесрочные и долгосрочные тенденции, избегая подстраивания.
Основные преимущества этой стратегии:
Стратегическая мысль ясна, направление тренда определяется простым принципом равнолинейного пересечения, легко понимается и реализуется.
Использование средней линии EMA позволяет быстрее реагировать на ценовые изменения и вовремя улавливать переломы тенденций.
Использование многогрупповой периодической EMA с накладной, с учетом отслеживания трендов и идентификации обратных поворотов.
Использование RSI позволяет избежать ложных прорывов и повысить точность сигналов.
Параметры стоп-стоп по умолчанию разумны и позволяют эффективно контролировать риски торговли.
Вы можете оптимизировать стратегию в зависимости от рыночной корректировки параметров средней линии и параметров стоп-стоп.
Основные риски этой стратегии:
Уровень линейной стратегии чувствителен к колебаниям рынка и легко поддается на подтасовку. В случае длительного колебания рынка может быть слишком много недействительных сделок.
По умолчанию параметры могут не быть адаптированы к рыночным характеристикам всех сортов и циклов, поэтому требуется их оптимизация.
По мнению экспертов, в этом случае “проблема не в том, что мы не можем управлять рынком, а в том, что мы не можем управлять рынком, а в том, что мы можем управлять рынком”.
Эта стратегия может не принести прибыли, если индекс будет расти, но фондовые рынки будут дифференцироваться.
Существует опасность того, что большая часть прибыли будет утеряна из-за “преждевременного ухода с рынка”.
Оптимизация и улучшение этих рисков могут быть достигнуты следующими способами:
В сочетании с фильтрами, такими как показатели объема торгов, избегайте ложных прорывов, которые приводят к убыткам.
Оптимизация обратной связи параметров, чтобы они соответствовали особенностям конкретной породы.
Сокращение сроков хранения позиций, своевременное прекращение потерь и предотвращение риска длительного колебания.
В сочетании с основными показателями, чтобы избежать удара в случае крупного дефицита.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизируйте параметры среднелинейной системы, чтобы найти наиболее подходящие комбинации среднелинейных циклов краткосрочного, среднесрочного и долгосрочного периода. Можно попробовать методы оптимизации параметров, такие как машинное обучение.
Тестирование эффективности стратегии в сравнении с ценой закрытия и типичной ценой.
Попытка использовать как фильтр объем сделок, чтобы создать торговый сигнал только в случае большого количества.
Оптимизируйте условия остановки убытков, чтобы сделать их более целевыми. Также можно установить динамическую остановку убытков, чтобы пропорционально изменить место остановки убытков.
В сочетании с другими показателями, такими как Stoch, MACD, Brinband и т. д., создать комплексную стратегию для повышения эффективности стратегии.
Проводить обратную проверку в разных видах, периодах и этапах рынка для оценки эффективности стратегии и дальнейшего улучшения.
Можно рассмотреть возможность оптимизации многомерных параметров с помощью алгоритмов машинного обучения.
Общая концепция стратегии ясна и понятна, направление тренда определяется простым принципом равнолинейного перекрестка. Стратегия имеет преимущества, такие как легкость реализации, надежность по умолчанию, масштабируемость. Но также существует определенный рыночный риск, требующий постоянной оптимизации параметров и модулей с учетом результатов обратной измерения, чтобы сделать стратегию более стабильной и интеллектуальной.
/*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)