Месячная стратегия прорыва тренда

Автор:Чао Чжан, Дата: 2023-10-24 16:08:33
Тэги:

img

Обзор

Месячная стратегия прорыва тренда - это индикатор TradingView, основанный на Pine Script. Он сочетает в себе адаптивную скользящую среднюю, прорывы трендовой линии и индикатор RSI для определения длинных сигналов входа один раз в месяц. Выходы происходят, когда RSI показывает перекупленные условия.

Логика стратегии

  1. Определите переменную lastEntryMonth для отслеживания последнего месяца ввода. currentMonth получает текущий месяц.

  2. Установите адаптивные параметры MA TRAMA length=99 для сглаживания цены и определения тренда.

  3. Установите length_trend=14 для изображения верхней линии тренда на основе пивотовых максимумов.

  4. Вычислить показатель RSI с rsiLength=14 для определения перекупленности/перепроданности.

  5. Логика входа: выйти на длинный рынок, если закрыть > TRAMA и закрыть разрывы выше верхней линии тренда, если в прошлом месяце не было входа.

  6. Логика выхода: закрыть длинный, если RSI > 70 (перекупленный).

  7. График линии TRAMA и RSI перекуплен на уровне 70.

Стратегия объединяет 3 основных технических индикатора для поиска низкорисковых длинных записей один раз в месяц.

Преимущества

  1. Объединяет несколько показателей для надежного анализа рынка и более высокой точности.

  2. Ограничивает входы в месячный период, избегая перепродажи.

  3. Адаптивный MA быстро адаптируется к изменениям тренда.

  4. Сверхпроданный RSI избегает покупки на рынке и контролирует риск.

  5. Простые правила въезда/выезда легко внедряются.

  6. Настройка параметров позволяет оптимизировать стратегию.

Риски

  1. Риск, если прорыв не удастся. Стоп-лосс, если цена опять упадет ниже линии тренда.

  2. Плохое время приводит к попаданиям близко к вершинам.

  3. Плохие параметры индикатора вызывают вводящие в заблуждение сигналы.

  4. Прорывы могут отражать недавнюю волатильность рынка.

  5. Следите за риском/вознаграждением. Рассмотрите только торговые отзывы или добавление других фильтров подтверждения.

  6. Используйте более высокие временные рамки для определения тренда и более низкие для входа.

  7. Оптимизировать параметры, чтобы соответствовать стратегии типа рынка.

Оптимизация

  1. Добавьте индикатор объема, чтобы избежать ложных прорывов при низком объеме.

  2. Подумайте о частичной прибыли, полученной при выходе RSI из перекупленной позиции, сохраняя частичную позицию.

  3. Оптимизировать параметры MA, чтобы лучше адаптироваться к изменениям тенденций.

  4. Добавьте зоны до/после точки прорыва, чтобы избежать покупки прямо при обратном движении.

  5. Добавьте больше фильтров, таких как каналы, волатильность для большей точности.

  6. Увеличьте масштаб с дополнительными прорывами на новых уровнях сопротивления.

Заключение

Месячная стратегия тренда анализирует тренд, импульс и крайности. Она определяет тренд в месячные сроки, но вступает в более короткие временные промежутки. RSI контролирует управление рисками. Простая логика определяет оптимизированные ежемесячные длинные записи. Она балансирует последующие тренды и контроль рисков. Оптимизация параметров адаптирует ее к различным рыночным условиям. В целом, это простая, но надежная стратегия, сочетающая в себе удобство использования и эффективное управление рисками.


/*backtest
start: 2022-10-17 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Bannos Strategy', shorttitle='Bannos', overlay=true)

//The provided script is an indicator for TradingView written in Pine Script version 5. The indicator is used to determine entry and exit points for a trading strategy. Here's a detailed breakdown of what the script does:

// Strategy Definition:

// Bannos Strategy is the full name, with a short title Bannos.
// The overlay=true option indicates that the strategy will be overlayed on the price chart.
// Tracking Entry Month:

// A variable lastEntryMonth is set up to track the month of the last entry.
// currentMonth identifies the current month.
// Trend Regularity Adaptive Moving Average (TRAMA):

// It takes an input of length 99 as default.
// It uses adaptive calculations to track trend changes.
// Trendlines with Breaks:

// Identifies local peaks over a given period (in this case, 14) and calculates a slope based on these peaks.
// Relative Strength Index (RSI):

// Uses a length of 14 (default) to calculate the RSI.
// RSI is an oscillation indicator that indicates overbought or oversold conditions.
// Strategy Logic for Long Entry:

// A long position is opened if:
// The close price is above the TRAMA.
// There's a crossover of the close price and the upper trendline.
// The position is taken only once per month.
// Strategy Logic for Long Exit:

// The long position is closed if the RSI exceeds 70, indicating an overbought condition.
// Plotting:

// The TRAMA is plotted in red on the chart.
// A horizontal line is also drawn at 70 to indicate the RSI's overbought zone.
// In summary, this strategy aims to enter a long position when certain trend and crossover conditions are met, and close the position when the market is considered overbought as per the RSI. Additionally, it ensures entries only occur once a month.
//



// Variable pour suivre le mois de la dernière entrée
var float lastEntryMonth = na
currentMonth = month(time)

// Parameters for Trend Regularity Adaptive Moving Average (TRAMA)
length_trama = input(99)
src_trama = close
ama = 0.
hh = math.max(math.sign(ta.change(ta.highest(length_trama))), 0)
ll = math.max(math.sign(ta.change(ta.lowest(length_trama)) * -1), 0)
tc = math.pow(ta.sma(hh or ll ? 1 : 0, length_trama), 2)
ama := nz(ama[1] + tc * (src_trama - ama[1]), src_trama)

// Parameters for Trendlines with Breaks
length_trend = 14
mult = 1.0
ph = ta.pivothigh(length_trend, length_trend)
upper = 0.
slope_ph = 0.
slope_ph := ph ? mult : slope_ph
upper := ph ? ph : upper - slope_ph

// Parameters for RSI
rsiLength = 14
up = ta.rma(math.max(ta.change(close), 0), rsiLength)
down = ta.rma(-math.min(ta.change(close), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// Strategy Logic for Long Entry
longCondition = close > ama and ta.crossover(close, upper) and (na(lastEntryMonth) or lastEntryMonth != currentMonth)
if (longCondition)
    lastEntryMonth := currentMonth
    strategy.entry('Long', strategy.long)

// Strategy Logic for Long Exit
exitCondition = rsi > 70
if (exitCondition)
    strategy.close('Long')

// Plotting
plot(ama, 'TRAMA', color=color.red)
hline(70, 'Overbought', color=color.red)


Больше