
Эта стратегия является количественной торговой стратегией, основанной на определении большого тренда на основе равномерного направления и в сочетании с HA динамическим показателем для определения точек прорыва, для осуществления отслеживания тренда. Стратегия проста и понятна, использует равномерное направление для определения большого тренда, а затем определяет конкретную точку входа с помощью HA динамического показателя.
Эта стратегия основана на средних линиях и динамических показателях HA. Конкретная логика состоит в следующем:
Определение направления большого тренда: вычислить 20-дневную простую подвижную среднюю и 200-дневную простую подвижную среднюю, когда 20-дневная линия выше (<) 200-дневная линия, определить как восходящую (<) тенденцию.
Определение времени вступления: рассчитывается динамический показатель HA, который сравнивает размер суждения физических частей._Candle_В то же время, чтобы определить направление прорыва, необходимо проверить, находится ли конечная цена выше/ниже 20-дневного среднего значения.
Настройка стоп-стоп-остановок exits: Стратегия настройки стоп-стоп-остановок на количество выигрышей и убытков.
С помощью вышеупомянутого процесса стратегия может захватить промежуточную часть, когда происходит тренд, и реализовать операцию отслеживания тренда.
Эта стратегия имеет следующие преимущества:
Логика стратегии проста и понятна, ее реализация легко понятна, а настройка параметров удобна.
Используя среднюю линию для определения основных тенденций, можно эффективно устранить часть шума и зафиксировать основные тенденции.
Показатель динамики HA определяет прорывную силу, чтобы избежать ложного прорыва.
В сочетании с равнолинейным направлением и динамическим индикатором, выбор времени входа в игру становится более точным.
Устройство стоп-стоп-лосс-эзитов позволяет хорошо контролировать риск однократной сделки.
Основные риски этой стратегии:
Когда рынок находится в состоянии свертывания, часто происходит перекрестная торговля, что приводит к ошибочным сделкам.
Неправильная настройка параметров (например, параметры средней линии, параметры интенсивности HA) может привести к утечке.
Не может адаптироваться ко всем типам движений на рынке, например, может быть большой убыток при шокирующем движении.
Невозможность точно определить переломный момент в тренде, а также невозможность своевременного прекращения убытков могут привести к увеличению убытков.
Решение проблемы:
В сочетании с другими показателями фильтрация недействительных торговых сигналов.
Тестирование и оптимизация параметров, чтобы найти оптимальную комбинацию.
Во избежание ошибочных сделок в условиях шокового сценария в сочетании с индикаторами волатильности.
Установка движущегося стоп-лоска для блокировки прибыли.
В этой стратегии можно найти и другие варианты оптимизации:
Использование адаптивных среднелинейных параметров, а не фиксированных, чтобы лучше адаптироваться к изменениям рынка.
Повышение фильтрации показателей, таких как объем сделок, чтобы избежать ошибочных сигналов в период падения рынка.
Автоматическая оптимизация параметров с помощью методов машинного обучения делает стратегию более стабильной.
Динамические стопы используются для удержания прибыли, а не просто статические.
В сочетании с другими показателями для оценки качества сигнала и состояния рынка, такими как показатель VIX.
Стратегия в целом является стратегией отслеживания тенденций, основанной на оценке больших тенденций на основе средней линии, динамических показателей HA в качестве основы для входа. Логика стратегии проста и ясна, использование показателей является точным, можно получить часть прибыли в течение тренда.
/*backtest
start: 2023-12-03 00:00:00
end: 2023-12-10 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2)
//parameters input
Trend_DIR_MA = input(defval = 200, title = "MA for trend direction")
HA_Candle_strength = input(defval = 2, title = "HA candle strength")
Rng = abs(open - close)
// HA_Momentum - size of break out body
HA_Momentum = sma(Rng, 1) / sma(Rng, 5)
plot(HA_Momentum, color=green, linewidth=1, style=line)
plot(HA_Candle_strength, color= blue)
// open position
longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0
if (longCondition)
strategy.entry(id = "Lng", long = true)
ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0
if (ShortCondition)
strategy.entry(id = "Shrt", long = false)
// close position
strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500)
strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)