Эта стратегия - это комплексная система отслеживания тенденций, основанная на нескольких технических показателях, в основном на 1-часовом периоде времени. Она сочетает в себе движущиеся средние, динамические показатели и шокирующие показатели, чтобы судить о тенденциях рынка, рассчитывая несколько показателей относительно их местоположения по отношению к текущей цене.
В основе этой стратегии лежит расчет нескольких технических индикаторов относительно их положения относительно текущей цены и принятие торговых решений на основе комбинированных сигналов этих индикаторов. В частности:
Передвигающаяся средняя: рассчитывается EMA и SMA за 6 различных периодов (10, 20, 30, 50, 100, 200) для определения того, находятся ли они выше или ниже цены закрытия.
RSI: используется 14-циклический RSI, когда RSI больше 50 считается положительным сигналом, а меньше 50 считается отрицательным сигналом.
Случайный индикатор: с использованием 14-циклического случайного индикатора, K-линия больше 80 считается позитивным сигналом, а меньше 20 считается нисходящим сигналом.
CCI: используется 20-циклический CCI, более 100 считается позитивным сигналом, меньше 100 считается падением.
Показатель динамики: рассчитывается 10-циклическая динамика, положительное значение рассматривается как положительный сигнал, отрицательное значение - как отрицательный сигнал.
MACD: MACD с использованием параметров 12-26-9 с позитивным столбцом как позитивный сигнал, с отрицательным столбцем как понижающий сигнал.
Стратегия рассчитывает количество всех положительных сигналов (above_count) и количество всех отрицательных (below_count), а затем их разницу (below_count - above_count). Эта разница используется в качестве основного торгового сигнала:
Этот метод позволяет стратегии оценивать силу и направление рыночных тенденций на основе комбинированных сигналов из нескольких индикаторов, что позволяет принимать более обоснованные торговые решения.
Комплексный анализ с использованием нескольких технических показателей позволяет более полно оценивать тенденции рынка и снижать риск ложных сигналов, которые могут быть вызваны одним показателем.
Эластичность: стратегия использует различные типы индикаторов (тренд-трек, динамику и шок-индикаторы), что позволяет ей оставаться эффективной в различных рыночных условиях.
Гибкая настройка параметров: пользователи могут скорректировать входную и выходную отметки в зависимости от своих предпочтений в отношении риска и рынка, что делает стратегию более индивидуальной.
Способность отслеживать тенденции: благодаря объединению сигналов из нескольких индикаторов, стратегия имеет потенциал для захвата сильных рыночных тенденций, что может привести к значительной прибыли.
Управление рисками: стратегия включает в себя логику “плохих позиций” и своевременный выход из нее в случае изменения рыночной тенденции, что помогает контролировать риски.
Визуализация: стратегия наносит разницу между above_count и below_count на график, чтобы трейдер мог интуитивно видеть изменения в силе рыночных тенденций.
Отсталость: из-за использования нескольких скользящих средних и других отстающих индикаторов стратегия может медленно реагировать на обратный тренд, что приводит к задержке входа или выхода.
Слишком много торгов: в условиях нестабильных рынков, индикаторы могут часто давать противоречивые сигналы, что приводит к чрезмерной торговле и увеличению стоимости торгов.
Риск ложного прорыва: в рыночном диапазоне индикатор может ошибочно воспринимать небольшие колебания как начало тренда, что приводит к ошибочным торговым сигналам.
Чувствительность параметров: производительность стратегии может быть очень чувствительна к настройкам входных и выходных порогов, неправильная настройка параметров может привести к плохой производительности стратегии.
Отсутствие механизмов для сдерживания убытков: существующие стратегии не имеют четких механизмов для сдерживания убытков, что может привести к значительным потерям в экстремальных рыночных условиях.
Игнорирование фундаментальных факторов: стратегия основана исключительно на технических показателях, без учета фундаментальных факторов, которые могут повлиять на рынок.
Внедрение адаптивных параметров: можно рассмотреть возможность использования адаптивных механизмов для динамической корректировки входных и выходных отметки для адаптации к различным рыночным условиям. Это может быть достигнуто путем анализа исторических колебаний или использования алгоритмов машинного обучения.
Присоединение к механизму остановки убытков: введение механизма остановки убытков на основе ATR или фиксированного процента для ограничения максимальных убытков за одну сделку и повышения способности управления рисками.
Оптимизация портфеля показателей: можно попробовать использовать алгоритмы выбора характеристик для определения наиболее эффективного портфеля показателей, удаления излишних или неэффективных показателей, повышения эффективности стратегии.
Внедрение временного фильтра: подумайте о добавлении временного фильтра, чтобы избежать торговли в периоды, когда рынок менее волатилен, например, в течение первых нескольких часов после открытия рынка.
Интеграция показателей рыночной сентиментальности: введение показателей рыночной сентиментальности, таких как индекс VIX или объем сделок, для лучшего понимания рыночной обстановки и повышения адаптивности стратегии.
Оптимизация циклов движущихся средних: можно попробовать использовать различные комбинации циклов движущихся средних или использовать адаптивные движущиеся средние для повышения адаптивности стратегии к различным временным рамкам.
Добавление фильтрации на силу тренда: внедрение индикаторов силы тренда, таких как ADX, для торговли только тогда, когда тренд достаточно силен, чтобы уменьшить ложные сигналы на рынке волатильности.
Осуществление частичного управления позициями: можно скорректировать размер позиции в зависимости от силы сигнала, а не просто полный вход и выход, чтобы лучше управлять рисками и оптимизировать использование средств.
EMA/SMA Multi Indicator Comprehensive Trend Tracking Strategy - это комплексная торговая система, основанная на нескольких технических показателях, предназначенная для захвата рыночных тенденций путем анализа комбинированных сигналов нескольких индикаторов. Основные преимущества стратегии заключаются в ее всеобъемлющих возможностях анализа рынка и гибкой параметровой настройке, которая позволяет ей адаптироваться к различным рыночным условиям. Однако, стратегия также имеет некоторые потенциальные риски, такие как возможности задержки и чрезмерной торговли.
В конечном счете, эта стратегия предоставляет трейдерам всеобъемлющий инструмент анализа рынка, но ее успешное применение по-прежнему требует опыта трейдеров и постоянных усилий по оптимизации.
/*backtest
start: 2024-05-28 00:00:00
end: 2024-06-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA/SMA Above-Below Close with Multiple Indicators", overlay=true)
// EMA and SMA calculations
ema10 = ta.ema(close, 10)
sma10 = ta.sma(close, 10)
ema20 = ta.ema(close, 20)
sma20 = ta.sma(close, 20)
ema30 = ta.ema(close, 30)
sma30 = ta.sma(close, 30)
ema50 = ta.ema(close, 50)
sma50 = ta.sma(close, 50)
ema100 = ta.ema(close, 100)
sma100 = ta.sma(close, 100)
ema200 = ta.ema(close, 200)
sma200 = ta.sma(close, 200)
// Indicators calculations
rsi = ta.rsi(close, 14)
stochK = ta.stoch(close, high, low, 14)
stochD = ta.sma(stochK, 3)
cci = ta.cci(close, 20)
momentum = ta.mom(close, 10)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdHist = macdLine - signalLine
bullPower = high - ta.ema(close, 13)
bearPower = low - ta.ema(close, 13)
// Calculate the number of plots above and below close
above_count = (ema10 > close ? 1 : 0) + (sma10 > close ? 1 : 0) +
(ema20 > close ? 1 : 0) + (sma20 > close ? 1 : 0) +
(ema30 > close ? 1 : 0) + (sma30 > close ? 1 : 0) +
(ema50 > close ? 1 : 0) + (sma50 > close ? 1 : 0) +
(ema100 > close ? 1 : 0) + (sma100 > close ? 1 : 0) +
(ema200 > close ? 1 : 0) + (sma200 > close ? 1 : 0) +
(rsi > 50 ? 1 : 0) + (stochK > 80 ? 1 : 0) + (cci > 100 ? 1 : 0) +
// (adx > 25 and close > open ? 1 : 0) + (ao > 0 ? 1 : 0) +
(momentum > 0 ? 1 : 0) + (macdHist > 0 ? 1 : 0)
// (stochRsi > 0.8 ? 1 : 0) + (willr > -20 ? 1 : 0) +
// (bullPower > 0 ? 1 : 0) + (uo > 50 ? 1 : 0)
below_count = (ema10 < close ? 1 : 0) + (sma10 < close ? 1 : 0) +
(ema20 < close ? 1 : 0) + (sma20 < close ? 1 : 0) +
(ema30 < close ? 1 : 0) + (sma30 < close ? 1 : 0) +
(ema50 < close ? 1 : 0) + (sma50 < close ? 1 : 0) +
(ema100 < close ? 1 : 0) + (sma100 < close ? 1 : 0) +
(ema200 < close ? 1 : 0) + (sma200 < close ? 1 : 0) +
(rsi < 50 ? 1 : 0) + (stochK < 20 ? 1 : 0) + (cci < -100 ? 1 : 0) +
// (adx > 25 and close < open ? 1 : 0) + (ao < 0 ? 1 : 0) +
(momentum < 0 ? 1 : 0) + (macdHist < 0 ? 1 : 0)
// (stochRsi < 0.2 ? 1 : 0) + (willr < -80 ? 1 : 0) +
// (bearPower < 0 ? 1 : 0) + (uo < 50 ? 1 : 0)
// Plot the difference between above_count and below_count
plot(below_count - above_count, title="Above-Below Count", color=color.orange, linewidth=2)
// Zero line
hline(0, "Zero Line", color=color.red, linewidth=2)
// Strategy
entry_long = input(12, title="entry long")
entry_short = input(-12, title="entry short")
close_long = input(-9, title="close long")
close_short = input(9, title="close short")
if (below_count - above_count > close_short)
strategy.close("Sell")
if (below_count - above_count < close_long)
strategy.close("Buy")
// Buy signal
if (below_count - above_count > entry_long)
// strategy.close("Sell")
strategy.entry("Buy", strategy.long)
// Sell (or close short) signal
if (below_count - above_count < entry_short)
// strategy.close("Buy")
strategy.entry("Sell", strategy.short)