Основной индикатор тенденции длинный

Автор:Чао Чжан, Дата: 2024-02-19 11:15:57
Тэги:

img

Обзор

Основная стратегия длинного индикатора тренда (MTIL) предназначена для использования в различных финансовых инструментах, включая криптовалюты, такие как BTCUSD и ETHUSD, а также традиционные акции, такие как AAPL. Она направлена на выявление потенциальных бычьих тенденций для входа в длинные позиции.

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

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

В частности, он сначала выводит самые высокие и самые низкие цены за данные периоды. Затем они сглаживаются с использованием линейной регрессии с различными коэффициентами. Это приводит к созданию верхних и нижних границ. Когда сглаженные самые высокие цены нарушают верхнюю полосу, сглаженные самые низкие цены нарушают нижнюю полосу, а краткосрочная линейная регрессия закрывающих цен выше долгосрочной - генерируется бычий сигнал.

Анализ преимуществ

Стратегия MTIL имеет следующие преимущества:

  1. Использует методы двойного сглаживания для выявления тенденции с большей точностью
  2. Настраиваемая дата начала обратного тестирования для тестирования исторической производительности
  3. Настраиваемые параметры, отвечающие индивидуальным торговым предпочтениям
  4. Может сочетаться с короткой стратегией для анализа многочасовых рамок

Анализ рисков

Стратегия MTIL также сопряжена со следующими рисками:

  1. Риски трендовой торговли с возможностью увеличения потерь
  2. Неправильная настройка параметров, приводящая к упущенным возможностям или неправильным сигналам
  3. Необходимость учета затрат на торговлю, чтобы избежать чрезмерной частоты торгов

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

Руководство по оптимизации

Стратегия MTIL может быть оптимизирована в следующих аспектах:

  1. Испытание комбинаций различных параметров периода для определения оптимального
  2. Включение подтверждения цены и объема для предотвращения ложных сигналов
  3. Добавление других индикаторов для дальнейшего подтверждения импульса и внутридневных движений для усиления подтверждения сигнала
  4. Установление правил остановки потерь и получения прибыли для ограничения снижения в сравнении с блокировкой прибыли

Заключение

MTIL - это долгосрочная стратегия, использующая методы линейной регрессии для выявления основных тенденций. Благодаря настройке параметров она может быть адаптирована в различных рыночных средах. В сочетании с короткой стороной стратегии она предлагает более комплексный анализ. Дальнейшая оптимизация может повысить ее точность и прибыльность.


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © jensenvilhelm


//@version=5
strategy("Major Trend Indicator Long", shorttitle='MTIL', overlay = true)

startDate = timestamp("2001 06 18")
// Sets the start date for the strategy.

// Optimized parameters
length_high = 5
length_low = 5
linReg_st = 3
linReg_st1 = 23
linReg_lt = 75
// Defines key parameters for the strategy.

X_i = ta.highest(high, length_high)
Y_i = ta.lowest(low, length_low)
// Calculates the highest and lowest price values within the defined lookback periods.

x_y = ta.linreg(X_i + high, linReg_st1, 1)
y_x = ta.linreg(Y_i + low, linReg_lt, 1)
// Applies linear regression to smoothed high and low prices.

upper = ta.linreg(x_y, linReg_st1, 6)
lower = ta.linreg(y_x, linReg_st1, 6)
// Determines upper and lower bounds using linear regression.

upperInside = upper < y_x and upper > x_y
lowerInside = lower > y_x and lower < x_y
y_pos = (upper + lower) / 4

X_i1 = ta.highest(high, length_high)
Y_i1 = ta.lowest(low, length_low)

bull = x_y > upper and y_x > lower and ta.linreg(close, linReg_st, 1) > ta.linreg(close, linReg_lt, 5)
// Defines a bullish condition based on linear regression values and price bounds.

plotshape(series=(bull) ? y_pos : na, style=shape.circle, location=location.absolute, color=color.rgb(41, 3, 255, 40), size=size.tiny)

if (time >= startDate)
    if (bull)
        strategy.entry("Long", strategy.long)
    if not (bull)
        strategy.close("Long")
// Controls the strategy's execution based on the bullish condition and the start date.


Больше