- Площадь
- Следующая тенденция с фильтром прорыва и частоты (только длинный)
Следующая тенденция с фильтром прорыва и частоты (только длинный)
Автор:
Чао Чжан, Дата: 2024-05-28 14:00:24
Тэги:
ЕМАAO
Обзор
Эта стратегия представляет собой следующую стратегию тренда, основанную на прорыве и частоте фильтрации, принимая только длинные позиции. Основная идея стратегии заключается в использовании индикатора EMA для определения текущего направления тренда, генерации длинного сигнала, когда цена выходит из самой высокой цены в определенном диапазоне, и использовании частотного фильтра для управления частотой торговли, чтобы избежать слишком частого открытия позиций. Стратегия также устанавливает точку остановки потери для контроля риска и закрывает позиции, когда тенденция заканчивается.
Принцип стратегии
- Вычислить индикатор EMA для определения текущего направления тренда. Когда цена закрытия выше EMA, это считается бычьим трендом.
- Когда цена закрытия выходит из самой высокой цены в течение самого короткого или самого длинного периода обратного отсчета, и текущий тренд является бычьим, генерируется длинный сигнал.
- Ввести частотный фильтр для контроля минимального интервала времени между последовательными открытиями позиций, чтобы избежать чрезмерной частоты торговли.
- Когда цена падает ниже цены стоп-лосса, закрыть позицию, чтобы контролировать риск.
- Определите конечный сигнал тренда. Когда цена закрытия падает ниже EMA, тенденция считается завершенной. Если в это время длинная позиция удерживается, закрыть позицию.
Преимущества стратегии
- Следование тенденции: используя индикатор EMA для определения направления тренда и торговли в соответствии с тенденцией, он помогает улучшить доходность стратегии.
- Подтверждение прорыва: Использование прорыва цены в качестве сигнала входа позволяет вовремя войти в начале тренда, захватывая больший потенциал прибыли.
- Контроль частоты: введение фильтра частоты для контроля интервала времени между последовательными открытиями позиций позволяет избежать чрезмерной торговли и снижает затраты и риски торговли.
- Защита от стоп-лосса: установка точки стоп-лосса для немедленного прекращения потерь, когда цена движется в противоположном направлении на определенную величину, эффективно контролирует риск снижения.
- Динамическое закрытие позиций: Динамическое закрытие позиций на основе сигналов окончания тренда позволяет своевременно зафиксировать существующую прибыль и избежать потерь, вызванных изменением тренда.
Стратегические риски
- Чувствительность параметров: производительность стратегии относительно чувствительна к выбору параметров, и различные настройки параметров могут привести к значительным различиям в производительности стратегии. Требуется достаточное обратное тестирование и оптимизация параметров.
- Неудача прорыва: прорыв цен не гарантирует, что тенденция непременно продолжится, и могут возникнуть случаи прорыва, приводящие к последовательным потерям для стратегии.
- Признание тенденции: стратегия опирается на индикатор EMA для оценки тенденции, но индикатор EMA может испытывать отставание или ошибочное суждение, что влияет на точность стратегии.
- Частая торговля: Хотя стратегия вводит частотный фильтр, частое открытие и закрытие позиций все еще может происходить, когда волатильность рынка высока, что увеличивает затраты на торговлю.
- Риск стоп-лосса: установка точки стоп-лосса может не полностью избежать максимального снижения стратегии, и в экстремальных рыночных условиях могут произойти большие потери.
Направления оптимизации стратегии
- Оптимизация параметров: оптимизировать ключевые параметры стратегии, такие как длина EMA, длина периода обратного отсчета, процент остановки потери и т. Д., Чтобы найти оптимальную комбинацию параметров и улучшить стабильность и рентабельность стратегии.
- Фильтрация сигнала: после генерации сигнала прорыва могут быть введены другие технические показатели или условия для подтверждения сигнала во второй раз, улучшая качество сигнала и уменьшая ошибочные оценки и ложные сигналы.
- Оценка тренда: попробуйте использовать другие индикаторы оценки тренда, такие как MACD, DMI и т. д., или комбинируйте несколько индикаторов, чтобы совместно оценить тенденцию и улучшить точность распознавания тренда.
- Динамическая стоп-лосс: динамически регулировать точку стоп-лосса в соответствии с условиями волатильности рынка, например, с использованием индикатора ATR для расчета динамической цены стоп-лосса или внедрения стратегии стоп-лосса для лучшего контроля риска.
- Управление позициями: оптимизировать стратегию управления позициями, динамически корректировать размер позиций в соответствии с волатильностью рынка и условиями капитала счета, контролировать риск одной сделки и повышать эффективность использования капитала.
Резюме
Эта стратегия - стратегия, основанная на прорыве и фильтрации частоты. Она использует индикатор EMA для определения направления тренда, использует прорыв цены в качестве сигнала входа, вводит частотный фильтр для контроля частоты торговли и устанавливает точку остановки потери для контроля риска. Преимущества стратегии заключаются в следующем тренде, подтверждении прорыва, контроле частоты, защите от остановки потери и динамическом закрытии позиции, но также имеет потенциальные риски, такие как чувствительность параметров, неудача прорыва, распознавание тренда, частая торговля и риск остановки.
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend Following with Breakout and Frequency Filter (Long Only)", overlay=true)
// 输入参数
emaLength = input.int(50, title="EMA长度")
lookbackPeriodMin = input.int(80, title="最短回溯期")
lookbackPeriodMax = input.int(120, title="最长回溯期")
stopLossPct = input.float(2, title="止损百分比") / 100 // 止损百分比
minHoldBars = input.int(10, title="最小持仓K线数量") // 最小持仓K线数量
// 计算EMA
ema = ta.ema(close, emaLength)
// 计算最高价和最低价
highestHigh = ta.highest(high, lookbackPeriodMax)
lowestLow = ta.lowest(low, lookbackPeriodMax)
// 定义趋势方向
isBullish = close > ema
// 定义突破信号
breakoutCondition = (ta.crossover(close, highestHigh[lookbackPeriodMin]) or ta.crossover(close, highestHigh[lookbackPeriodMax])) and isBullish
// 计算止损点
stopLossLevelLong = close * (1 - stopLossPct)
// 绘制EMA
plot(ema, title="EMA", color=color.blue)
// 记录上次开仓时间
var float lastEntryTime = na
// 策略执行并标注信号
if (breakoutCondition and (na(lastEntryTime) or (time - lastEntryTime) > minHoldBars * timeframe.multiplier))
strategy.entry("做多", strategy.long)
label.new(bar_index, high, text="买入", style=label.style_label_up, color=color.green, textcolor=color.white)
strategy.exit("止损", from_entry="做多", stop=stopLossLevelLong)
lastEntryTime := time
// 定义趋势结束信号
exitCondition = close < ema
if (exitCondition and (strategy.position_size > 0) and (time - lastEntryTime) > minHoldBars * timeframe.multiplier)
strategy.close("做多")
label.new(bar_index, low, text="卖出", style=label.style_label_down, color=color.red, textcolor=color.white)
Связанные
Больше