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